模型不变,代码 Agent 也能继续变强。自己读轨迹、改 Harness,10 轮后跑赢 Codex-CLI。

模型不变,代码 Agent 还能不能继续变强?这篇论文把答案指向了 Harness。

问题是,真实软件工程任务里的执行轨迹往往有数百万 token,动作空间又杂又长。

人类工程师可以复盘失败、手动修补 Harness,但却很难说清楚到底是哪一次修改带来了提升,也很难把这套流程持续放大。

既然如此,为什么不让 Agent 自己来改?

复旦大学、北京大学与上海奇绩智峰等团队联合提出了 Agentic Harness Engineering(AHE)框架,让智能体自己读轨迹、找问题、改 Harness,并在下一轮评测中验证这些修改是否真的有效。

在 10 轮自动化演进后,AHE 在 Terminal-Bench 2 上把 pass@1 从 69.7% 提升到 77.0%,超过了人类设计的 Codex-CLI Harness。

论文标题:

Agentic Harness Engineering: Observability-Driven Automatic Evolution of Coding-Agent Harnesses

论文链接:

http://arxiv.org/abs/2604.25850

代码链接:

https://github.com/china-qijizhifeng/agentic-harness-engineering

AHE框架:用可观测性约束迭代

此前的 ACE、TF-GRPO 等自动演进方法,更多是在改提示词或生成自然语言策略,并没有真正放开工具、中间件、长期记忆这些 Harness 组件。

日志很长,真正有用的失败信号却很少;可修改的地方很多,哪一处该动也不清楚。如果直接让演进智能体上手改架构,面对海量的执行日志,很容易变成盲目的试错。

AHE 的核心做法不是让 Agent 放开手脚乱改,而是先把整个演进过程变得可观察、可追踪、可回滚。

〓 AHE 流水线架构,展示组件、轨迹和决策的自动闭环

首先,AHE 先把 Harness 拆成智能体真正能编辑的组件。

基于 NexAU 框架,AHE 将 Harness 拆成系统提示词、工具实现、中间件、长期记忆等独立文件,让每类组件都有清晰的修改入口。

这样一来,演进智能体不再面对一整团难以拆分的 Prompt 或代码,而是可以围绕具体失败模式去修改对应组件;如果修改无效,也能在文件粒度上回滚。

其次,AHE 还要解决另一个难题:让智能体看得懂海量轨迹。

面对数百万 token 的执行日志,AHE 引入 Agent Debugger 先做一轮整理和压缩。

该模块将原始的轨迹运行记录提炼为分层结构的证据语料库,使负责演进的智能体能够直接调取经过结构化处理的失败根本原因,无需逐行读取原始输出日志。

最终的闭环落在决策的验证上。AHE 要求智能体在提交任何组件修改时,必须同步生成一份变更清单。

清单内需明确声明此次修改预期修复哪些任务,以及可能引发哪些任务的回归报错。

〓 AHE 外层循环伪代码

下一轮评测结束后,系统会拿真实结果反过来核对这些预测。如果某次修改没有兑现预期,或者带来了新的回归,系统就可以在文件粒度上撤销对应提交。

每一次编辑都不再只是看起来有道理的自我解释,而是变成了一份下一轮必须接受检验的契约。

实验与迁移测试:只改Prompt反而掉分

在 Terminal-Bench 2 基准测试中,AHE 在初始 NexAU 种子框架的基础上运行了 10 轮自动化迭代。

〓 AHE 历经 10 轮迭代的 pass@1 得分趋势及基线对比

AHE 取得了 77.0% 的 pass@1 成绩,超过了同样基于初始种子框架的 ACE(68.9%)和 TF-GRPO(72.3%)自演进基线,并优于由人类专家调试的 Codex-CLI(71.9%)。

〓 Terminal-Bench 2 主实验分数拆解

更有意思的是,增益并不是来自单纯扩写 Prompt。研究团队把演进后的组件分别单独拿出来,再插回初始种子 Harness 中测试。

〓 单独替换长期记忆、工具、中间件或提示词的测试结果

测试数据表明,单独更新长期记忆、工具和中间件分别带来了 5.6%、3.3% 和 2.2% 的正向提升。

仅将演进后的系统提示词单独替换进去时,整体 pass@1 反而从 69.7% 下降至 67.4%。

这说明,至少在这组实验里,真正带来稳定增益的不是更长的 Prompt,而是工具、中间件和长期记忆这些更硬的 Harness 结构。纯文本规则写得更多,并不一定能让代码 Agent 执行得更好。

完成演进后,研究团队没有继续针对新任务调参,而是直接冻结这套 Harness,并迁移到 SWE-bench-verified 上测试。

〓 SWE-bench-verified 上的跨基准迁移与 Token 消耗统计

在不重新演进的情况下,AHE 取得了最高的整体成功率,虽然领先幅度不大,但同时显著降低了 token 消耗。

〓 SWE-bench-verified 上各方法的成本效率(Succ/Mtok)评估

尤其是在 Django、Sphinx-doc 这类需要多轮“编辑—验证”的大型代码库中,AHE 写进工具、记忆和中间件里的经验更容易发挥作用。

同时,AHE 不需要把所有策略都塞进每次调用的 Prompt 里。

相比初始种子版本,它的平均试验 Token 消耗降低了 12%。相比 ACE、TF-GRPO 这类更依赖文本策略注入的方法,成本效率也更高。

换到其他基础模型上,这套 Harness 也没有失效。

将其无缝接入 GPT-5.4 其他版本以及 DeepSeek-v4-flash、Qwen-3.6-plus、Gemini-3.1-flash-lite 等不同架构的基础模型后,各模型分别获得了 2.3% 到 10.1% 的性能提升。

〓 冻结后的 AHE Harness 接入不同基础模型的性能提升

结果表明,AHE 学到的并不只是某一个模型的调用偏好,更像是一组可以跨模型复用的软件工程协作模式。

不过,AHE 也没有把自我进化这件事完全解决。论文专门测试了演进智能体预测自己修改效果的能力。

统计显示,演进智能体对修复任务的预测精确率为 33.7%,召回率为 51.4%,大幅高于随机预测的基线水平,证明其修改动作具有明确的目的性。

但智能体对回归风险的预测能力偏弱,召回率仅为 11.1%。

〓 演进模型预测“修复”与预测“回归”的精确率和召回率对比

大部分引发已知任务失败的副作用未被系统事前察觉,这是导致演进曲线上出现得分波动的主要原因,也是后续迭代机制需要优化的重点。

结语

AHE 最有意思的地方,不是又提出了一套更长的提示词,而是把 Harness 本身变成了可学习、可验证的对象。

它证明了智能体的能力增长不仅依赖于模型参数的更新,还可以外化为具体的代码组件、工具规则和记忆文件。

这种把隐性测试经验转化为显性 Harness 结构的方式,让系统演进变得更可追踪,也更容易审计。

更重要的是,AHE 并不是让 Agent 随意修改自己,而是让每一次 Harness 编辑都有证据、有预测、有回滚。

对于下一阶段的代码 Agent 来说,这可能比继续堆 Prompt 更接近真正的工程进化。

更多阅读

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐