AHE解读:让Coding Agent的工具、记忆与中间件自动进化

📅 2026/6/30 4:54:27
AHE解读:让Coding Agent的工具、记忆与中间件自动进化
AHE解读让Coding Agent的工具、记忆与中间件自动进化摘要提升 Coding Agent常见做法是更换模型或继续修改系统提示词。但 Agent 的真实能力还取决于外层 Harness工具接口、中间件、长期记忆、技能和执行约束。论文 Agentic Harness EngineeringAHE提出一个可审计的自动演进闭环固定基础模型让另一个 Agent 根据任务轨迹修改 Harness并用下一轮结果验证每次改动。实验中AHE 经过 10 轮、约 32 小时演进将 Terminal-Bench 2 的 pass1 从 69.7% 提升到 77.0%超过人工设计的 Codex Harness 71.9%。更关键的结论是收益主要来自工具、中间件和长期记忆而不是系统提示词。背景模型之外还有一个决定性能的系统Coding Agent 并不是“模型加一个 Shell”。模型通过工具观察仓库、执行命令、编辑文件中间件负责上下文、超时、恢复和结束条件长期记忆保存跨任务经验系统提示词规定行为边界。这些可编辑组件共同构成 Harness。目前 Harness 优化主要靠人工工程师阅读失败轨迹归纳模式再修改 Prompt 或工具。问题是单次运行可能产生几十万 Token失败原因分散在多轮操作中多个组件相互耦合又很难判断一次提升到底来自哪里。AHE 的核心判断是自动演进的瓶颈不是 Agent 不够聪明而是缺少可观察、可归因、可回滚的工程表面。技术要点一把 Harness 拆成可版本化组件AHE 基于 NexAU将七类组件暴露成独立文件系统提示词、工具描述、工具实现、中间件、技能、子 Agent 配置和长期记忆。组件放在固定工作区修改形成 Git 提交因此每个变化都有文件级 Diff 和回滚点。这种拆分解决了两个问题。第一失败模式可以映射到明确组件例如命令执行缺少保护应修改工具或中间件而不是继续堆 Prompt。第二演进 Agent 的写权限被限制在 Harness 工作区运行目录、验证器、模型配置保持只读避免通过关闭测试、替换模型或增加推理预算“刷分”。初始 Harness 刻意保持最小化只有 Shell 工具没有中间件、技能和子 Agent。新增组件必须通过后续实验证明价值。技术要点二把海量轨迹压缩成分层证据直接把全部运行日志塞给演进 Agent不仅成本高也容易淹没真正的根因。AHE 使用 Agent Debugger 将每条消息保存为文件对每个任务生成成功或失败分析再汇总成基准级概览。演进 Agent 先读总览需要时逐层下钻到单任务报告和原始轨迹。这种渐进披露保留了可核验性同时避免每轮重复消费数百万 Token。这里的工程重点不是“让模型总结日志”而是建立证据链任务结果、根因分析、原始轨迹和组件改动能够相互追溯。没有这层结构自动优化很容易变成基于印象的试错。技术要点三每次修改都必须提出可证伪预测AHE 要求每项改动写入 Change Manifest至少包含失败证据和推断根因修改的目标组件预计修复的任务集合可能回归的任务集合下一轮的实际验证结果。下一轮完成后系统将预测与任务级变化对照对无效改动进行文件级回滚。这样“这项修改应该有效”不再是自然语言理由而是可以被下一轮数据否定的合同。论文统计显示修复预测的精确率为 33.7%、召回率为 51.4%约为随机预测的 5 倍说明改动并非完全盲试。但系统预测回归的能力明显较弱精确率 11.8%、召回率 11.1%多数副作用仍无法提前识别。实验结果真正有效的层不在 PromptAHE 在 Terminal-Bench 2 的 89 个任务上演进 10 轮整体 pass1 从 69.7% 提升到 77.0%。人工设计的 Codex Harness 为 71.9%另外两种自演进基线 ACE 和 TF-GRPO 分别为 68.9% 和 72.3%。组件消融更有启发性只加入长期记忆75.3%只加入演进后的工具73.0%只加入中间件71.9%只替换系统提示词67.4%低于初始 Harness全量 AHE77.0%。长期记忆记录了边界条件、结束检查和打包布局等可执行经验工具会主动暴露邻近文件中的契约提示中间件在结束前强制执行与验证器一致的检查。相比之下孤立的 Prompt 纪律缺少工具和流程支撑无法稳定落地。演进后的 Harness 未重新训练直接迁移到 SWE-bench Verified整体成功率由 75.2% 小幅提升到 75.6%Token 使用量从 526K 降至 461K。结果说明部分结构化经验可以跨任务迁移但提升并不均匀个别仓库存在退化。研发视角如何建立企业内部演进闭环第一将 Prompt、工具、权限策略、结束条件、记忆和技能分开版本化不要把所有规则塞进一个超长系统提示词。第二为每个任务保存可重放轨迹包括输入、工具调用、输出、资源消耗、最终产物和验证结果。缺少任务级结果就无法判断改动是修复还是偶然波动。第三要求每个变更附带影响预测。评审时必须说明它针对哪些失败、可能破坏哪些场景以及如何回滚。第四使用固定回归集与留出集。优化集用于演进跨仓库、跨语言和极端长任务用于检查过拟合。第五权限必须单向收缩。演进 Agent 可以修改 Harness但不能修改验证器、放宽沙箱、替换模型或增加预算。风险与限制AHE 仍是受控研究原型。演进只在 Terminal-Bench 2 上进行迁移测试集中于 SWE-bench Verified更多语言、真实仓库部署和人机协作流程尚未验证。实验的步数和超时预算针对特定模型设定跨模型收益混合了 Harness 迁移与运行参数适配。组件还会非线性交互。论文中长期记忆单独用于困难任务时优于全量 AHE因为记忆、中间件和 Prompt 都推动重复的结束检查叠加后反而消耗长任务预算。自动演进系统能够解释“为什么可能修好”却仍不擅长预测“会破坏什么”。因此生产环境不应允许 Harness 无审批地持续自改。更合理的流程是自动提出变更、隔离运行、回归验证、人工审批后分阶段发布。结语AHE 的价值不是证明 Agent 可以无限自我进化而是把 Harness 优化改造成可观察、可归因、可回滚的软件工程流程。对研发团队而言最直接的启示是下一次 Coding Agent 表现不佳时先检查工具接口、执行保护、记忆和验证闭环而不是默认继续改 Prompt 或升级模型。参考来源arXiv 论文摘要https://arxiv.org/abs/2604.25850arXiv HTML 全文https://arxiv.org/html/2604.25850