HarnessFix 先把 raw trace 编译成带数据流、控制流和代码锚点的 HTIR,再做归因、生成 scoped patch 与回归验证。本文复盘真实 AppWorld case、四 benchmark 结果、跨模型迁移和诊断数据的可复现性边界。
把 harness code 本身放进评测与优化循环
先分清谁在写代码、谁在执行任务
评测对象
HTIR 是 Harness-aware Trace Intermediate Representation:它把一次运行拆成 TraceStep,并显式记录 request、response、状态影响、数据流、控制流与对应的代码/配置锚点。
核心问题
因为“任务失败”只告诉你终点错了,没有告诉你证据在哪一步丢失、哪段 runtime logic 允许了错误完成。 Agent 轨迹混合 model call、tool result、state change 与 orchestrator 决策;直接把整条 trace 丢给 editor,容易得到大而泛的 patch。 作者先分析 30 个开源 Agent、约 57,780 条 issue / PR / commit / release record,经 LLM 分类与人工抽查得到 26,174 条 harness-related 记录,占 45.3%。缺陷跨越 ETCLOVG 七层,而不只是 prompt。
一条稳定的因果链:证据 → 修改 → 评测 → 冻结
从任务、轨迹或运行状态定位问题。
改 prompt、tools、control flow、memory 或 verifier。
在固定模型与环境中运行候选。
选择版本并在未见任务上检查。
四个数字先建立结果量级
相邻工作的边界决定分数能否比较
Q2. HarnessFix 与 prompt optimization、Self-Harness 的差别是什么?
HarnessFix 的重点不是搜索更多版本,而是先把 failure evidence 对齐到实现机制。 GEPA 主要改 prompt;Self-Harness 从 failure signature 直接提出最小 edit;HarnessFix 增加一层 HTIR,让诊断 agent 能指出 responsible step、implementation anchor、harness layer 和 repair operator。
真正的协议藏在可见与隐藏信息之间
协议与信息边界
流水线由四个 Agent 组成:trace abstraction、diagnosis、repair、validation。 TraceStep 记录行为角色、执行状态与可观察 artifact/state effect;data-flow link 追踪证据如何被复制、概括或丢失;control-flow link 解释为何继续、重试或完成。诊断被合并成 recurring flaw record,再映射到七层 repair operators。 AppWorld 的 completion-guard 例子 支付 API 返回“调用成功”,但缺少必填 user_email ,外部状态没有变化。旧 guard 只看 status=success,随后调用 complete_task() 。HTIR 把 API 文档到错误 request 的数据流、以及 success 到 premature finalize 的控制流连起来;修复要求完成前检查真实 state effect,而不是改一句泛化提示。
主结果之外,更重要的是版本怎样失败
结果怎么读
固定 GPT-5 mini 时,HarnessFix 在 GAIA、SWE、AppWorld、Terminal-Bench 2.0 分别把初始 harness 从 43.3→61.7、45.3→57.3、36.7→43.0、17.6→26.5。 它比 human-designed harness 平均高 6.3 pp,比自动 baseline 平均高 6.9 pp;相对 Meta-Harness 高 2.6–5.0 pp,同时后者多用 63.5%–100.5% offline tokens。 HTIR 对人工 gold 的 step accuracy 85.0%、implementation anchor 81.3%、layer macro-F1 86.2%、repair operator 82.5%。GAIA 上从 GPT-5 mini 生成的修复迁移到 Sonnet、DeepSeek、Qwen、Gemini,增益为 +5.5 到 +9.5 pp。 论文对重复运行做 one-sided paired sign test,p 值 2.4×10⁻⁴ 到 4.9×10⁻⁴;这支持“在当前 protocol 内有一致提升”,不等于对未知 benchmark 的普遍保证。
哪些结论成立,哪些还没有被证明
证据支持
固定 GPT-5 mini 时,HarnessFix 在 GAIA、SWE、AppWorld、Terminal-Bench 2.0 分别把初始 harness 从 43.3→61.7、45.3→57.3、36.7→43.0、17.6→26.5。 它比 human-designed harness 平均高 6.3 pp,比自动 baseline 平均高 6.9 pp;相对 Meta-Harness 高 2.6–5.0 pp,同时后者多用 63.5%–100.5% offline tokens。 HTIR 对人工 gold 的 step accuracy 85.0%、implementation anchor 81.3%、layer macro-F1 86.2%、repair operator 82.5%。GAIA 上从 GPT-5 mini 生成的修复迁移到 Sonnet、DeepSeek、Qwen、Gemini,增益为 +5.5 到 +9.5 pp。 论文对重复运行做 one-sided paired sign test,p 值 2.4×10⁻⁴ 到 4.9×10⁻⁴;这支持“在当前 protocol 内有一致提升”,不等于
不能外推
下一步要公开 motivational-study 的完整标注协议和 task-level repair traces,并让独立 annotator 复核 HTIR gold。 论文说详细收集与分类过程在网站,但公开材料仍不足以逐条重建 57,780→26,174 的筛选链。LLM-assisted taxonomy 也可能把作者自己的修复语言写回 gold。 官方仓库 commit 9167a0b9… 已核验;应进一步固定依赖、benchmark task ids、raw traces、失败 patch 与 regression suite,使“诊断准确”与“最终分数提高”都能独立复跑。
下一轮实验应该补什么
Q5. 这套诊断链还需要怎样的独立验证?
下一步要公开 motivational-study 的完整标注协议和 task-level repair traces,并让独立 annotator 复核 HTIR gold。 论文说详细收集与分类过程在网站,但公开材料仍不足以逐条重建 57,780→26,174 的筛选链。LLM-assisted taxonomy 也可能把作者自己的修复语言写回 gold。 官方仓库 commit 9167a0b9… 已核验;应进一步固定依赖、benchmark task ids、raw traces、失败 patch 与 regression suite,使“诊断准确”与“最终分数提高”都能独立复跑。
带着边界读结论,才不会把局部改进说成自我进化
最终判断
HarnessFix 把 harness repair 从黑盒 hill-climbing 推向可解释的软件诊断。 最有价值的不是多 Agent 数量,而是 state effect 与 implementation anchor:它迫使系统说明“哪个运行事实对应哪段可改代码”。 最强机制 data/control flow 与代码锚点共同约束 patch。 最强结果 四任务均明显优于 H0,且 GAIA patch 跨模型有效。 关键边界 诊断 gold 与大规模开发记录的公开细节仍不足。 推荐对象 关心 trace-grounded debugging 与 Agent runtime maintenance 的读者。
阅读位置
这篇在整个系列中的兴趣度为 8.8/10。先看任务边界,再看真实修改与隐藏评测,最后回到限制。