华为HarnessEvolve:对照成功轨迹定位失败,企业QA比最强基线高21.6点

HarnessEvolve: Learning from Reference Trajectories for Reliable Agent Self-Evolution

Wen Jiang, Mingmin Chu, Yimeng Tian, Qianxin Zhang, Haofei Yang, Rui Yang, Yang Liu, Tao Lv, Fangming Li

cs.LG, cs.AI

2026-09-01

华为把执行与进化拆开,用带标准答案的参考轨迹对齐失败路径,再过泄漏门和性能门。CloudCoreNetwork-QA上Qwen从43.4%拉到86.9%,比最强基线GEPA的65.3%高21.6个百分点。

这篇在解决什么

自进化Agent想靠环境反馈改自己的harness,也就是提示、技能、工具和执行逻辑,少靠人手写工作流。现有方法通常只拿到终点对错。长程任务里后面的错往往是前面错的下游,归因对不上。没有护栏时,模型会把答案写进提示、堆任务专属例子,训练分虚高;改一茬又把旧能力改坏。

华为ICT AI Competence Center的HarnessEvolve把这三件事拆成系统问题:信用分配、捷径学习、灾难遗忘。执行Agent冻结底层LLM,只进化harness;评价、优化、门控各用独立模块,执行端不能给自己打分。

方法

训练集带标准答案。进化开始前,执行Agent带着问题和答案最多试5次,生成「本该怎么走」的参考轨迹。评价Agent检查这条轨迹是不是真的调了工具、走了推理,拒绝把答案直接念出来。过检的进全局缓存。

每个大小为40的mini-batch上:执行跑任务;评价标失败;优化Agent把失败轨迹和参考轨迹对齐,找第一个动作分叉点当根因,按错误类型聚类并保留单样本长尾簇,再改harness。没有参考轨迹就退回单轨迹分析。

两道门卡住更新。质量门用LLM当裁判查数据泄漏(分数阈值0.8)和新增in-context例子数(上限5条),不过就打回修改,最多3次。性能门要求当前batch准确率至少不降,最近2个batch退化不超过0.025;通过的快照进池子,立刻变成当前Agent。

epoch结束用验证集从池子里挑最好的。连续10个batch被性能门拒就提前结束该epoch;验证集连续5个epoch不涨就停。最多20个epoch。

对照是GEPA(提示)、ACE(上下文)、SkillOpt(只改skill.md),同一初始harness。内部集用自研LAMAgent,开源集用OpenClaw。模型是领域微调过的Qwen3.6-27B和未微调的DeepSeek-V4-Flash。

结果

内部CloudCoreNetwork-QA在Qwen上:Base 43.4%,GEPA 65.3%,ACE 59.3%,SkillOpt 61.9%,HarnessEvolve 86.9%,比最强基线高21.6个百分点。同一集DeepSeek从47.5%到85.9%。Wireless-QA上DeepSeek到92.8%,比ACE的90.1%高2.7点。

开源三集用DeepSeek加OpenClaw。SearchQA 92.9%,Base是86.5%,ACE是90.0%。OfficeQA 70.9%,Base是62.8%,ACE是68.9%。SpreadsheetBench 76.4%,Base是44.3%,SkillOpt是74.6%。

把OpenClaw上进化出的技能直接搬到Hermes、OpenCode、LAMAgent、DeepSeek Harness,多数持平或更好。Hermes上SearchQA是95.0%对95.0%,没有增益。

消融在CloudCore加Qwen上:去掉参考轨迹掉到57.8%,去掉聚类68.6%,去掉质量门80.1%。参考轨迹是最大头。

为什么重要

给「让Agent改自己的提示和技能」补了工程护栏。如果已经有带标准答案的评测集,对照成功轨迹比纯反思更对得上根因。质量门针对的是大家都见过的过拟合:把题和答案写进harness。

这是渐进系统工作。优化范围是整个harness,基线各自只动一块,优势有多少来自「改得更全」、有多少来自诊断和门控,消融只拆了自己的模块,没有做一个全量改harness但不做参考轨迹的跨方法对照。

局限与存疑

参考轨迹依赖标准答案,线上无标签任务用不了这套诊断。内部两套数据未公开,21.6点这个最大数字无法外部复核。质量门本身是LLM裁判。性能门看的是训练batch,验证集只在epoch末挑快照,仍可能过拟合训练分布。论文没报进化消耗的token和墙钟。跨框架迁移在已经很高的Hermes加SearchQA上是零增益。

术语

原文与代码

社区讨论

相关论文

全部论文解读