01 · OVERVIEWarXiv:2608.02276 · 2026-08-03

把 harness code 本身放进评测与优化循环

Harness-R1 把 harness 修补训练成一个 9B 模型的专门能力:从 failure packet 生成 lifecycle-wide patch,再用冻结 target agent 的真实重跑收益做 GRPO。本文区分训练目标、四个 hooks、迁移结果与同批奖励的局限。

推荐阅读 9.1 / 10
Harness-R1: Learning to Edit Executable Runtime Harnesses from Agent Failure Trajectories 封面
Harness-R1: Learning to Edit Executable Runtime Harnesses from Agent Failure Trajectories1 / 10
02 · BOUNDARYarXiv:2608.02276 · 2026-08-03

先分清谁在写代码、谁在执行任务

评测对象

Harness-R1 同时包含两个模型:target agent 负责做 WebShop、ALFWorld、DBBench;harness engineer 读取失败包并写 patch。训练时只更新 engineer,target agent 始终冻结。

核心问题

论文把“读失败—改 runtime—重跑验证”从一次性 prompt 技巧变成可训练策略。 通用 frontier editor 有时能写出好 patch,也会把已有能力改坏;固定规则又不能从新失败中学习。Harness-R1 用单独的 Qwen3.5-9B engineer 学习什么失败该改、改哪个生命周期位置、什么代码才会带来真实任务收益。

Harness-R1: Learning to Edit Executable Runtime Harnesses from Agent Failure Trajectories2 / 10
03 · LOOParXiv:2608.02276 · 2026-08-03

一条稳定的因果链:证据 → 修改 → 评测 → 冻结

1失败证据

从任务、轨迹或运行状态定位问题。

2修改 harness

改 prompt、tools、control flow、memory 或 verifier。

3执行评测

在固定模型与环境中运行候选。

4冻结与泛化

选择版本并在未见任务上检查。

Harness-R1: Learning to Edit Executable Runtime Harnesses from Agent Failure Trajectories3 / 10
04 · NUMBERSarXiv:2608.02276 · 2026-08-03

四个数字先建立结果量级

9B专门的 harness engineer
44.3 → 53.6vanilla target 平均成功率
877SFT 冷启动样本
+8.9 ± 1.5 pp稀疏失败 held-out 增益
Harness-R1: Learning to Edit Executable Runtime Harnesses from Agent Failure Trajectories4 / 10
05 · RELATEDarXiv:2608.02276 · 2026-08-03

相邻工作的边界决定分数能否比较

Q2. 它与 Self-Harness、HarnessFix 和直接微调 target 有什么不同?

它的独特之处是在线强化学习直接奖励 patch 后的 target-agent 成功率。 Self-Harness 用同一个模型提出并筛选自己的修改;HarnessFix 先构造 HTIR 做结构化诊断;直接 SFT target 则更新任务模型权重。Harness-R1 不碰 target weights,而是训练另一个模型编辑四个 runtime hooks。 因此结果要解释为“学习到的工程师对冻结 target 的增益”,不是 target model 本身更聪明。论文也展示 target 做过 SFT 后,专门 engineer 仍能继续增益,指向 model 与 harness 两条更新轴。

Harness-R1: Learning to Edit Executable Runtime Harnesses from Agent Failure Trajectories5 / 10
06 · PROTOCOLarXiv:2608.02276 · 2026-08-03

真正的协议藏在可见与隐藏信息之间

协议与信息边界

每个 failure packet 包含失败轨迹、环境反馈和当前 harness;engineer 输出四处 hook 的补丁。 它们分别是 on_init 、 make_pre_hint 、 on_before_action 、 on_post_step ,覆盖初始化、决策前提示、动作前守卫和动作后反馈。 SFT 877 个冷启动例:WebShop 381、ALFWorld 248、DBBench 248。 SAMPLE 每个 packet 采样 8 个 patch。 VALIDATE 必须可解析、可安装、能完成完整 rerun;no-op 与不完整 patch 奖励为 0。 REWARD 比较同一完整 batch 修补前后的 realized success,再做 GRPO。 这个奖励路径很实在,却也是最关键的边界:patch 直接针对产生 failure packet 的同一 batch 优化,是 transductive objective;训练目标没有单独惩罚 held-out regression 或推理成本。

Harness-R1: Learning to Edit Executable Runtime Harnesses from Agent Failure Trajectories6 / 10
07 · RESULTSarXiv:2608.02276 · 2026-08-03

主结果之外,更重要的是版本怎样失败

结果怎么读

在三个训练环境上,vanilla Qwen3.5-9B 从 44.3% 提到 53.6%,增加 9.3 个百分点;target 先 SFT 后再修 harness,则从 59.2% 到 64.2%。 在 20 个 unseen targets 上平均 +7.06 pp,21×3 个 model-environment 配对中 56/63 改善。只给稀疏失败的 1,270 个 held-out tasks,提升为 +8.9±1.5 pp,而两个 frontier editor 的平均改动为负。 patch 具体改了什么? WebShop patch 在颜色未选择时阻止 Buy Now ;ALFWorld 组合 stage state、hint 与 placement guard;DBBench 保留 verifier 需要的 4 Hours 大小写。相反,一个 Gemini patch 把 ALFWorld 从 41.6% 降到 35.4%,说明“能写合理代码”不等于行为会改善。 ablation 显示 pre-action 与 post-feedback 最重要,但贡献随环境变化,不能相加成一条普遍排序。

Harness-R1: Learning to Edit Executable Runtime Harnesses from Agent Failure Trajectories7 / 10
08 · EVIDENCEarXiv:2608.02276 · 2026-08-03

哪些结论成立,哪些还没有被证明

证据支持

在三个训练环境上,vanilla Qwen3.5-9B 从 44.3% 提到 53.6%,增加 9.3 个百分点;target 先 SFT 后再修 harness,则从 59.2% 到 64.2%。 在 20 个 unseen targets 上平均 +7.06 pp,21×3 个 model-environment 配对中 56/63 改善。只给稀疏失败的 1,270 个 held-out tasks,提升为 +8.9±1.5 pp,而两个 frontier editor 的平均改动为负。 patch 具体改了什么? WebShop patch 在颜色未选择时阻止 Buy Now ;ALFWorld 组合 stage state、hint 与 placement guard;DBBench 保留 verifier 需要的 4 Hours 大小写。相反,一个 Gemini patch 把 ALFWorld 从 41.6% 降到 35.4%,说明“能写合理代码”不等于行为会改善。 ablation 显示 pre-action 与 post-feedback 最重要,但贡献随环境变化,不能相加成一条普遍排序。

不能外推

应把奖励从 same-batch delta 扩展成 train gain、held-out non-regression 与运行成本的多目标函数。 每个 patch 应在相邻任务和不同 seed 上重放,并设置自动 rollback。还需要研究 engineer 是否迁移到不同 hook API、不同 target model 和更大代码库。 官方仓库可访问,本文固定核验 commit 94f2e087… ;模型权重也公开。可复现性优于只给论文的工作,但在线 RL 的完整计算成本和跨版本依赖仍需谨慎记录。

Harness-R1: Learning to Edit Executable Runtime Harnesses from Agent Failure Trajectories8 / 10
09 · NEXTarXiv:2608.02276 · 2026-08-03

下一轮实验应该补什么

Q5. 下一步怎样避免同批过拟合与回归?

应把奖励从 same-batch delta 扩展成 train gain、held-out non-regression 与运行成本的多目标函数。 每个 patch 应在相邻任务和不同 seed 上重放,并设置自动 rollback。还需要研究 engineer 是否迁移到不同 hook API、不同 target model 和更大代码库。 官方仓库可访问,本文固定核验 commit 94f2e087… ;模型权重也公开。可复现性优于只给论文的工作,但在线 RL 的完整计算成本和跨版本依赖仍需谨慎记录。

Harness-R1: Learning to Edit Executable Runtime Harnesses from Agent Failure Trajectories9 / 10
10 · VERDICTarXiv:2608.02276 · 2026-08-03

带着边界读结论,才不会把局部改进说成自我进化

最终判断

Harness-R1 的贡献不是“RL 又赢一次”,而是把 executable patch 的真实后果接回训练环。 证据表明专门化 engineer 比通用一次性 editor 更稳定;但同批奖励仍可能鼓励局部修补,尚不能证明它学会了普遍的软件维护能力。 最可复用 invalid / no-op patch 归零,以及冻结 target 的真实 rerun 奖励。 最大限制 same-batch transductive reward。 可靠结果 稀疏失败 held-out 增益给出 ±1.5 pp。 推荐对象 研究 harness repair post-training 与 model–harness co-evolution 的读者。

阅读位置

这篇在整个系列中的兴趣度为 9.1/10。先看任务边界,再看真实修改与隐藏评测,最后回到限制。

Harness-R1: Learning to Edit Executable Runtime Harnesses from Agent Failure Trajectories10 / 10