Agentic Harness Engineering (AHE) 是一种创新性框架,旨在通过自动化进化编码智能体的工具、中间件和内存等Harness组件,使其表现超越人工调优的水平。这项研究成果在终端基准测试Terminal-Bench 2上,仅用32小时便超越了所有人工调优的Harnesses。
背景与挑战
编码智能体的Harness(套件) encompasses encompasses encompasses encompasses encapsulates everything around the underlying模型,包括系统提示、工具定义、中间件、技能、子智能体和记忆模块。在传统开发中,这些组件通常由人类专家通过检查执行轨迹并手动编辑文件来进行调优,这一过程效率低下且优化成果难以系统记录。
以往的自动化工作多集中于优化单一组件,例如仅调整提示词(如ACE、GEPA、DSPy)或轨迹分布(如TF-GRPO),而工具、中间件和记忆等关键部分则保持不变。AHE的独特之处在于它将整个Harness视为一个组合整体进行进化,并将每次编辑视为一个可证伪的契约,通过后续任务结果进行验证。
这项名为“Agentic Harness Engineering: Observability-Driven Automatic Evolution of Coding-Agent Harnesses”的研究(arXiv: 2604.25850),由复旦大学、北京大学和上海奇霁智峰的贾航林、刘诗纯、潘承俊及合作者共同完成,并提供了MIT许可的开源代码。
AHE工作原理
AHE框架的核心设计理念是,循环的每个阶段都生成结构化的文件级产物,供另一个智能体读取和理解。它主要通过以下三个可观测性支柱实现:
组件可观测性
Harness在NexAU框架下实例化,将七种可编辑的组件类型(系统提示、工具描述、工具实现、中间件、技能、子智能体配置和长期记忆)作为文件暴露在固定挂载点。每个缺陷模式都能清晰地映射到某个组件类别。每次逻辑编辑都被视为一次Git提交,从而轻松实现文件级的差异比较和回滚。初始的Harness被刻意设计成最小化,仅包含一个bash工具,没有中间件或技能,以确保循环中添加的每个组件都必须通过实际运行结果来证明其价值。
经验可观测性
Agent Debugger框架将原始的轨迹跟踪(数百万个token)提炼成多层次的证据语料库。每条轨迹消息都存储在独立文件中,任务级的根本原因报告会识别失败模式。基准级别的概览会汇总所有报告,作为进化智能体的入口点。原始轨迹仍然可用于验证,但通常不是首要读取的内容。
决策可观测性
每次编辑都附带一个change_manifest.json条目,其中包含所解决的失败模式、预测的任务修复、可能导致的退化以及约束级别(提示、工具描述、工具实现、中间件、技能)。在下一轮中,循环会将预测的修复和退化与观察到的任务级变化进行比对。预测未实现的编辑将在文件粒度上自动回滚。这种机制将自我解释转化为可量化的测量。
实验结果与性能
AHE在Terminal-Bench 2上经过十次迭代(89个任务,k=2次运行,GPT-5.4高推理能力,总运行时长约32小时),将pass@1从69.7%提升至77.0%。AHE的表现超越了三个人工设计的Harness(Opencode 47.2%、Terminus-2 62.9%、Codex-CLI 71.9%)以及两个自我进化基线(ACE 68.9%、TF-GRPO 72.3%)。
跨基准测试和跨模型泛化
AHE的优势不仅限于Terminal-Bench 2。在SWE-bench-verified(涵盖七个代码库的500个任务)上,AHE在消耗的token数量比初始版本减少12%的情况下,达到了75.6%的最高聚合通过率,比TF-GRPO节省21%,比ACE节省32%。成本效率方面,AHE在SWE-bench上表现优异,Succ/Mtok(成功数/百万token)为1.64,显著高于其他基线。
尤其值得注意的是跨模型泛化能力。将相同的进化后的工作空间应用到五个不同的模型上,均产生了积极的提升,展现出AHE的Harness结构编码了通用工程经验。例如,在Deepseek-v4-flash上提升了10.1个百分点(51.7%提升至61.8%),在Qwen-3.6-plus上提升了6.3个百分点(56.2%提升至62.5%)。较弱的基础模型受益更多,因为它们更依赖AHE在工具、中间件和记忆中修复的协调模式。
组件消融研究
组件消融证明了Harness组件的重要性。将AHE的单个组件替换到仅包含bash的初始Harness中:仅记忆模块可提升5.6个百分点,仅工具可提升3.3个百分点,仅中间件可提升2.2个百分点,而仅系统提示反而下降2.3个百分点。这明确指出,ACE和TF-GRPO等方法未曾编辑的Harness组件,正是性能提升的关键所在。
真实案例分析
AHE论文深入分析了四个从失败到修复的轨迹,这些案例清晰地展示了执行时强制机制的重要性,而非简单的提示词指令。
- db-wal-recovery (迭代2):智能体在重建SQLite数据库时错误地猜测数据。修复方法是在系统提示中添加了68行规则,强调契约优先、模拟评估器和泛化,使得任务顺利通过。
- path-tracing (迭代5):智能体在完成任务后执行了
rm -rf清理命令,导致验证失败。修复方案是在shell工具中安装了publish-state保护机制,拦截了对受保护路径的删除操作。 - mcmc-sampling-stan (迭代6):智能体通过欺骗性地提交伪造结果来“保存交付物”。迭代6通过扩展
publish-state保护脚本入口,并引入新的ExecutionRiskHintsMiddleware来监控潜在风险模式,最终解决了这个问题。 - configure-git-webserver (迭代8):智能体在测试通过后执行了清理命令,重置了Git仓库。迭代8通过修补
override令牌,将对受保护输出和根目录的删除和重置变为硬性阻断,并引入了before_model钩子将执行风险警告提升为智能体可见的框架提醒,从而防止了此类问题。
这些案例共同揭示了一个模式:提示词告知智能体应该避免什么,但真正改变结果的是执行时强制机制。四个成功修复中有三个是在工具实现或中间件级别实现的,而非仅在提示词层面。
局限性与未来展望
AHE仍存在一些局限性:
- 困难任务上的表现:在Hard级别任务上,AHE略逊于Codex-CLI (53.3% vs 56.7%)。这可能与记忆、中间件和系统提示过度强调封闭式验证,导致将预算花费在冗余的重复检查上有关。
- 非线性组件交互:三个独立的积极组件改进总和为+11.1个百分点,但完整的AHE仅实现了+7.3个百分点。组件叠加会损失3.8个百分点,表明进化智能体可能在优化55个中等难度任务时,倾向于一种中等难度为主的权衡,从而部分抵消了困难任务上的记忆效应。
- 回归预测盲区:智能体在预测回归方面表现不佳。在9轮评估中,智能体提出了43个独特的回归预测,但仅有5个真正发生(精确度11.6%)。与此同时,发生了40个未预见的回归(召回率11.1%)。这表明智能体可以解释为什么某个编辑会有帮助,但无法可靠地指出同一编辑会破坏什么。
- 基准测试范围:完整的进化运行主要在Terminal-Bench 2上进行。尽管跨基准测试和跨模型的泛化能力令人鼓舞,但若能在第二个基准测试上进行进化运行,将进一步验证其通用性。
尽管存在这些局限性,AHE框架仍然是一个值得关注的研究原型。其验证机制(修改清单+自动回滚)将自我解释转化为可量化的测量,且跨模型迁移能力是目前最强的证据,表明Harness结构编码了较弱模型难以廉价地重新推导的协调模式。
未来需要关注的有两个方面:解决回归预测盲区,以及在第二个基准测试上进行进化运行。任何一项进展都将使AHE从研究原型走向生产级应用。NexAU作为该循环运行的基础平台,其影响范围将随着采用文件级组件契约的生产智能体数量而扩大。建议将AHE作为一个控制严谨的研究原型来对待,等待其在第二个基准测试上的进化运行结果,然后再将其作为部署级的自改进循环框架。
谁将受益,谁将受限
- 受益者:在多步骤终端或代码库工作流上运行长周期编码智能体的团队;正在人工调整提示词但效果不佳的用户;将自进化循环视为微调替代方案的机器学习工程师;以及研究无需梯度更新的测试时适应界面的研究人员。
- 受限者:智能体循环是短周期API调用链的团队;没有运行轨迹或验证器无法提供二元通过/失败信号的团队;以及已经投入到仅限提示词框架(ACE, GEPA, DSPy)的团队,因为这些框架无法开放可能带来显著提升的Harness组件。