Overview · 01

论文概览

一句话定位、核心贡献、高层架构

一句话记忆

AHE 将编码 Agent 的 Harness 优化从手工调试变成了可观测的自动化闭环——让 LLM 自己修改自己的工具链、中间件和记忆,每次修改附上预测,下轮验证,最终超越人工设计的 Harness。

这篇论文直击当前编码 Agent 的一个核心痛点:Harness(外围工程系统)——包括 System Prompt、Tools、Middleware、Long-term Memory 等——对 Agent 性能影响巨大,但 Harness 的设计和优化至今仍是纯手工活。论文提出的 Agentic Harness Engineering (AHE) 是一个完全自动化的闭环系统,通过三个可观测性支柱让 Harness 能够基于经验证据自主进化。

核心贡献速览

贡献 说明 证据等级
三支柱可观测性框架 Component / Experience / Decision Observability,让 Harness 进化可追溯、可验证 直接证据
10轮迭代超越人工设计 Terminal-Bench 2 上 pass@1 从 69.7% → 77.0%,超过 Codex-CLI (71.9%)、ACE、TF-GRPO 直接证据
跨模型跨任务泛化 冻结的 Harness 直接迁移到 SWE-bench-verified 和 3 个不同模型家族,均带来正向收益 直接证据
组件级消融定位增益来源 Tools、Middleware、Long-term Memory 是主要增益点,System Prompt 单独反而拖累 -2.3pp 直接证据
可迁移的工程经验 进化出的组件编码了通用工程经验,而非 benchmark 特定调优 基于证据的推断
🧪 编码 Agent
执行任务,产生轨迹
🔍 Agent Debugger
分析轨迹,提取经验
🧬 Evolve Agent
基于证据修改 Harness
🔄 闭环迭代
预测 → 验证 → 保留/回滚
Context · 02

研究脉络与问题定位

这篇论文在回答什么问题?前人做了什么,留下了什么缺口?

核心问题

Harness 工程至今是手工工艺——人类开发者观察失败轨迹、识别重复模式、手动修改 Prompt/Tools/Middleware。为什么自动化它如此困难?

论文识别了自动化 Harness 工程的三个根本挑战

  1. 异构动作空间:Harness 组件(Prompt、Tools、Middleware、Memory)类型各异(文本、代码、配置),编辑方式不统一,无法用单一优化算法覆盖
  2. 轨迹噪声淹没信号:一次 rollout 产生数十万 token 的 Agent 对话日志,真正的失败模式(如"用代理检查代替真正的验证器检查")淹没在细节中
  3. 因果归因困难:一次 Harness 修改可能影响多个任务,有的变好、有的变差,没有系统的方法追踪"哪个改动导致了什么效果"

与相关工作对比

方法线 代表工作 可编辑范围 与 AHE 的差异
Prompt 优化 DSPy, OPRO, GEPA 仅 Prompt AHE 发现 Prompt 单独编辑反而降效 -2.3pp
Trajectory 反馈 ACE, TF-GRPO 自然语言规则 / 工具选择序列 不修改底层脚手架,错过 Tools/Middleware 层增益
程序结构进化 Skill Libraries, Graph Workflows 代码或流程图 AHE 的观察空间包含文本 + 代码 + 配置,更贴近真实工程
⭐ AHE 本文 Prompt + Tools + Middleware + Memory 统一可观测性框架,每次编辑附带可验证预测
Method · 03

核心方法:三支柱可观测性架构

AHE 通过三个精心设计的可观测性层解决上述三大挑战

🧩

Component Observability

每个 Harness 组件(Prompt、Tool、Middleware、Memory)都有独立的文件级表示。动作空间明确、可回滚。失败模式可以精确映射到单个组件类。

📊

Experience Observability

将百万级原始轨迹 token 蒸馏为分层的、可下钻的证据语料库。Agent Debugger 将每条轨迹的消息组织为独立文件,通过 shell 和脚本工具导航分析,产出逐任务分析报告。

🎯

Decision Observability

每次编辑附带自行声明的预测(预计修复哪些任务、可能回归哪些任务),下一轮验证后确认或回滚。每个编辑成为"可证伪的契约",而非盲目的试错。

工作流程详解

AHE 外循环:三 Agent 协作架构
  1. Code Agent(编码 Agent):使用当前 Harness 配置在 benchmark 上运行任务,产生 k 条轨迹
  2. Agent Debugger(调试 Agent):以文件系统形式组织轨迹,逐任务分析失败原因和成功模式,产出分层证据语料库
  3. Evolve Agent(进化 Agent):读取证据语料库,决定修改哪些组件,实施修改,记录每次修改的预测和理由,输出 Change Manifest
  4. 验证阶段:下轮 rollouts 执行后,将实际结果与 Change Manifest 的预测对比,决定保留或回滚每个编辑
直觉理解

想象一个软件开发团队:Code Agent 是程序员写代码,Agent Debugger 是 QA 分析 bug 根因,Evolve Agent 是 tech lead 根据分析报告改代码规范。每一轮改进都写上"我预计这样改能修好哪些 bug,但可能会引入这些新 bug",下轮测试来验证。这就是 AHE。

核心设计约束

  • 可控制性:Evolve Agent 只能修改 workspace/ 目录下的 Harness 文件,基础设施只读
  • 可归因性:每次编辑必须在 Change Manifest 中记录"预计修复的任务"和"可能回归的任务"
  • 可回滚性:下轮验证后,未兑现的编辑被自动撤销
Experiments · 04

实验设计与核心发现

三个研究问题,覆盖性能、泛化性、可解释性

📊 RQ1:主结果——自动进化能否超越人工设计?

在 Terminal-Bench 2(89个任务)上,以只暴露 bash 工具的 NexAU 0 为种子,10 轮 AHE 迭代后:

方法 类型 All (89) Easy (4) Medium (55) Hard (30)
opencode 人工 Harness 47.2% 75.0% 52.7% 33.3%
terminus-2 人工 Harness 62.9% 75.0% 74.5% 40.0%
Codex-CLI 人工 Harness 71.9% 75.0% 80.0% 56.7%
NexAU 0(种子) 基线 69.7% 87.5% 78.2% 51.7%
ACE 自进化(Prompt 级) 68.9% 91.7% 78.2% 48.9%
TF-GRPO 自进化(Trajectory 级) 72.3% 100.0% 79.4% 55.6%
AHE(本文) 自进化(全 Harness) 77.0% 100.0% 88.2% 53.3%

加粗 = 列最优。AHE 从单纯 bash 工具的种子(NexAU 0)出发,10 轮迭代(约32小时)达到整体最优。

关键解读

ACE 和 TF-GRPO 起始于相同的 NexAU 0 种子,但只编辑 Prompt 或轨迹反馈层面,不修改底层脚手架。消融实验证实:AHE 的增益主要来自 Tools (+3.3pp)、Middleware (+2.2pp)、Long-term Memory (+5.6pp),而 System Prompt 单独改进反而 拖累 -2.3pp。这解释了为什么 ACE/TF-GRPO 无法匹敌 AHE——它们从未触及实际的增益所在层。

🌐 RQ2:泛化性——是通用经验还是 benchmark 调优?

跨 Benchmark 迁移 (SWE-bench-verified): AHE 的 Harness 直接冻结使用(不做进一步进化):

Metric NexAU 0 ACE TF-GRPO AHE
Success Rate ↑ 27.3% 29.7% 35.2%
Tokens k ↓ 203 183 207 179

AHE 在 SWE-bench-verified 上实现了最高的成功率(35.2%),同时 token 消耗最少(179k),比种子节省 12% 的 token。

跨模型家族迁移: 在 5 个不同基础模型上重评估,全部为正向增益:

🧠 deepseek-v4-flash

51.7% → 61.8% (+10.1pp)
跨家族增益最大

🧠 qwen-3.6-plus

56.2% → 62.5% (+6.3pp)
跨家族增益显著

🧠 gemini-3.1-flash-lite

36.5% → 41.6% (+5.1pp)
最弱模型也受益

🧠 GPT-5.4 medium

+2.3pp
同家族增益最小

关键解读

跨家族增益 > 同家族增益。直觉解释:远离饱和点的模型更依赖 AHE 固定的协调模式(Tools/Middleware/Memory 层),而更强的基座模型可以从自身 Prompt 中重新推导出这些协调,边际收益低。这强烈暗示 AHE 编码的是通用的工程经验,而非 GPT-5.4 特定的 benchmark 调优。

🔬 RQ3:消融与归因——增益从何而来?

变体 All Easy Medium Hard
NexAU 0(种子)69.7%87.5%78.2%51.7%
+ 仅 Long-term Memory75.3%50.0%83.6%63.3%
+ 仅 Tools73.0%75.0%87.3%46.7%
+ 仅 Middleware71.9%100.0%81.8%50.0%
+ 仅 System Prompt67.4%75.0%78.2%46.7%
AHE 完整 77.0% 100.0% 88.2% 53.3%
自归因可靠性:修复预测 vs 回归盲点
  • 修复预测:Precision 33.7%, Recall 51.4%——约是随机基线的 5x,说明 Evolve Agent 的修复定位是真正基于证据的
  • 回归预测:Precision 11.8%, Recall 11.1%——仅约随机基线的 2x,Agent 无法可靠预测自己的修改会破坏什么
  • 这个"回归盲点"正是产生非单调进化曲线的根源:一轮改进可能意外破坏其他任务,下一轮再修复
Critique · 05

局限性与批判性分析

诚实面对论文的假设、边界和未回答的问题

⚠️ Benchmark 专注性风险

评估集中于 Terminal-Bench 2 一个 benchmark。尽管做了跨 benchmark 迁移测试,但 terminal 类任务空间与真实软件工程环境仍有差距。论文承认"gain on this benchmark does not by itself establish broad generalization"。

⚠️ 过拟合表面增大

AHE 扩展了可编辑组件范围(Prompt + Tools + Middleware + Memory),灵活性增大,但同时也为 benchmark 特定调优创造了更多"旋钮"。论文通过迁移实验来缓解此风险,但边界效应需进一步研究。

⚠️ 治理与安全机制不成熟

当前系统在安全性上有基本的组件级保护(只写 workspace,不碰基础设施),但缺少更细粒度的权限模型、编辑审计链或对抗性保护。如果 Harness 编辑能力被恶意利用,后果严重。

⚠️ Hard 任务未见最优

在 Hard 任务上 AHE 的 53.3% 低于人工设计的 Codex-CLI(56.7%)。部分原因是 Evolve Agent 优化了以 55 个 Medium 任务为主的 aggregate,牺牲了 Hard 任务的特定收益。

⚠️ 组件交互非加性

三个正向组件的单独增益之和(+11.1pp)超过完整 AHE(+7.3pp),说明组件之间存在重叠和竞争。在 Hard 任务上,仅 Memory 变体(63.3%)甚至超过完整 AHE(53.3%)。

⚠️ 计算成本未充分报告

论文报告 10 轮约 32 小时,但未分解 GPU 小时数、总 token 消耗、以及 Agent Debugger + Evolve Agent 本身的开销。对于实际部署,强化学习式的 token 成本可能更低。

论文没有测试什么
  • 不同领域(如数据分析、Web 自动化、多模态)上的 Harness 进化效果
  • 更小/更弱的基础模型(低于 36.5% pass@1)是否能从 AHE 中获益
  • 超过 10 轮迭代的渐进效果是否会持续改善或饱和
  • Evolve Agent 本身的"元-元"进化——谁来优化优化器?
  • 在持续变化的任务分布上(而非固定 benchmark 集)的长期适应性
Implications · 06

启发与更广泛意义

这篇论文对 coding agent 研究意味着什么?

🏗️

Harness 是可学习的适应面

核心方法论贡献:即使基础模型固定,Harness 的外部组件可以作为一个独立的、可学习的适应面。这意味着可以在不微调模型的情况下提升 Agent 能力。

📦

工程经验可以外部化

AHE 表明 coding agent 的工程经验可以沉淀为 Tools、Middleware、Memory 等显式工件,而非隐式编码在模型权重中。跨模型迁移实验充分支持了这一主张。

🔄

自进化 loop 的设计基准

AHE 的三支柱框架为未来的自进化系统提供了设计基准。特别是"每次编辑附上可证伪预测"的设计模式,有望成为自治系统的标准组件。

值得关注的方向

  • 交互感知进化:当前 Evolve Agent 分别优化各组件,忽略交互效应。未来的进化算法需要感知组件间的重叠和协同。
  • 回归预测改进:修复预测好(5x 随机),回归预测差(2x 随机)。这是最清晰的改进方向——如果能可靠预测副作用,进化曲线将从震荡上升变为单调上升。
  • 跨领域迁移:AHE 的 Harness 在 terminal 类 SWE 任务上训练,如果能迁移到数据分析、Web 自动化等完全不同的领域,将极大扩展影响力。
  • 元进化:Evolve Agent 本身能否也被优化?Evolve Agent 的 Prompt 和策略当前是固定的——如果让它也学会如何更好地进化,会发生什么?
References · 07

延伸阅读

前置必读、同期对比与工程实现参考

前置必读

  • Terminal-Bench 2 (Liu et al., 2025) — 本文使用的评估 benchmark,多步骤终端工作流基准
  • NexAU (Lin et al., 2026) — AHE 底层的 Agent 框架,提供 Harness 的解耦组件结构
  • Agent Debugger (Liu et al., 2026) — 分层轨迹证据挖掘框架,AHE 的 Experience Observability 基础

同期对比

  • ACE (Agrawal et al., 2025) — 反思式 Prompt 进化,仅操作自然语言规则层面
  • TF-GRPO (Cai et al., 2025) — 无需训练的轨迹反馈 GRPO 变体,强化工具选择序列
  • GEPA (Agrawal et al., 2025) — Pareto 前沿轨迹驱动的反射式 Prompt 更新

工程实现参考

  • 官方代码: github.com/china-qijizhifeng/agentic-harness-engineering
  • Codex-CLI (OpenAI, 2025) — 本文最强人工对比基线
  • Claude Code (Anthropic, 2025) — 另一个主流编码 Agent 的 Harness 实践
  • OpenCode (Anomaly, 2025) — 开源编码 Agent,本文另一个对比基线