同一天的近期列表里,多篇论文在问同一件事:agent 的 harness——管上下文、工具、状态、工作流和停止条件的外部程序——到底该加厚、撤掉,还是按实例打补丁。这决定测试时算力花在模型上,还是花在外环脚手架上。若脚手架只是在补一个已经会自己跑 shell 的模型,加层是重复劳动;若一份全局 harness 对所有实例一刀切,实例间的策略差会被平均掉;若训练时把控制决策只当作上下文喂进去,撤掉脚手架时策略会塌。
三篇合格论文给出的不是一个口号,而是三个可分开的问题。Turbo Harness(2609.40330)说明全局最优 harness 仍有实例级余量,且余量可以用「搜索废气 + 小编辑器」便宜地收回。Harness Annealing(2610.01235)说明控制责任可以被内化,但必须把控制决策写成监督目标,并按更弱的 harness 做课程;直接在满配轨迹上做 SFT,撤支撑后会崩。How Much of a Harness(2609.40303)则把边界钉在原语上:一旦骨干是能直接读写和执行的 coding agent,MLE 基准上再叠编排,收益接近于零。
Harness 已经从提示词技巧变成 agent 系统的主要工程变量。外环搜索(Meta-Harness 一类)能改程序本身,多 agent 编排、状态账本、验证器和恢复教师都在往同一层堆。若不先分清「缺的是执行原语、实例策略,还是可撤回的控制」,加脚手架和做后训练会互相抵消:训练把模型绑在运行时干预上,部署又指望它独立做判断。
下面两篇是方法论文,第三篇是同分布上的消融,用来约束前两篇的外推。筛选依据是新方法,不是会议接收;除文中写明者外,不把预印本当作顶会结果。
新方法 arXiv:2609.40330 · Tunyu Zhang, Hao Wang, Kai Xu, Dimitris N. Metaxas · 提交于 2026-09-30
论文把 harness 定义成可执行程序:管上下文构造、工具、状态和执行控制。冻结模型 M 之后,标准目标是在任务分布上找一份全局 harness H*。常见做法是内环跑 agent、外环根据分数和轨迹改 harness。Meta-Harness 用 coding agent 搜这份全局程序,然后把它套到以后所有实例上。作者的反对意见很具体:简单改码也许只需要 edit-and-test,难实例却需要专门工具或更重的验证。分布上的最优,不是每个 x 的最优。
Turbo Harness 不按实例重搜。外环搜索档案里被丢掉的候选、轨迹和失败,被收成一份 playbook(沿 ACE 的「成功/失败策略及适用条件」)。一个小的 harness editor πθ(实验里是 Qwen3.5-9B)读实例 x、H* 源码和 playbook,只输出一次补丁 px,Hx = H* ⊕ px。编辑器用 GRPO 训练,奖励是补丁套上之后、冻结执行模型跑出来的任务分。执行模型始终冻结:9B 编辑器改的是脚手架,不是 Haiku / Gemini / Sonnet 的权重。
这把搜索成本从「每个实例多轮评 harness」挪到「离线把废气蒸馏成 playbook,在线只调用一次小模型」。编辑器不发明新策略,只学习哪条旧策略对当前实例有用。
| 设置 | 对比 | 结果 |
|---|---|---|
| ALFWorld / ScienceWorld / DBBench / WebShop,执行模型 Qwen3.5-9B | Turbo vs Meta-Harness | 70.7 vs 60.7;42.4 vs 35.1;69.2 vs 65.0;42.0 vs 40.0。四项等权平均 56.1 vs 50.2 |
| SWE-smith-MR(25 个 Python 仓库,训练/测试各 50) | 相对 Meta-Harness 的 pass rate | Haiku 4.5:50.7% → 64.0%(+13.3);Gemini 3.7 Flash:70.7% → 88.0%(+17.3) |
| SWE-bench Verified(仓库分层:251/99/150) | 同上,40 step 且每题 $3 | Gemini:38.4% → 54.4%;Haiku:56.7% → 59.3%(+2.7) |
| 消融,SWE-smith-MR + 冻结 Haiku,编辑器 Qwen3.5-9B | playbook 与 RL 是否可分 | Meta-Harness 50.7%。无 playbook 的未训练编辑器 51.3%,只给 playbook 50.0%,只做 RL 49.3%,RL+playbook 64.0% |
消融是这篇最硬的原理结果:对 9B 编辑器,泛泛地「按实例改代码」、只读 playbook、或只做 RL,都打不过全局 harness。增益出现在 RL 学会从外环档案里挑选并应用策略的时候。换编辑器则说明 playbook 本身有信息量:冻结的 Sonnet 4.5 编辑器到 55.3%,冻结的 Opus 4.6 到 61.3%,RL 过的 9B 到 64.0%,小模型加任务奖励可以追上不微调的强编辑器。
编码实验故意用 40 step 和每题 $3,而不是 SWE-bench Verified 常见的 250 step。作者写明这是为了压住「多交互弥补烂引导」。因此表上的 harness 差距,是紧预算下的差距,不能直接外推成宽松预算下同样大的缺口。WebShop 上 Turbo(42.0%)并未超过 Harness-R1 作者报告的 42.2%。执行模型、编辑器、playbook 策展模型(多为 Sonnet 4.5,TB2.1 用 Opus 4.6)不是同一个模型,报结果时不能说成「一个 9B 打赢了前沿模型」。
新方法 arXiv:2610.01235 · Yingxuan Yang, Huacan Chai, Ying Wen · 提交于 2026-10-01
Turbo 假设执行模型冻结,把适应放在 harness 上。这篇问相反的方向:harness 支撑下的成功轨迹,能不能教会模型自己做那些控制决策,从而在部署时撤回对应支撑。他们称之为 harness internalization。工具、执行防护和 token 预算始终外置;要内化的是状态跟踪、工作流组织和答案核验。
Harness 被写成一组外部处理器,每步向策略注入状态 ct。四个嵌套配置,后一级包含前一级:
| 配置 | 新增运行时支撑 | 要承担的责任 |
|---|---|---|
| H1 = Tools | 工具访问与执行防护 | 用外部工具收集证据 |
| H2 = H1 + State | 近期历史、进度账本、重复检测 | 跟踪证据与缺口,避免空转 |
| H3 = H2 + Workflow | Locate → Read → Connect → Answer | 组织调查和作答,选择阶段切换 |
| H4 = H3 + Verification | 启发式草稿检查和有界修复 | 核验。验证器看不到参考答案 |
只在完整工具轨迹上做 SFT 不够:harness 的决定若只出现在条件上下文里,损失并不要求策略自己生成这些决定。HAT 加两块。Layer-wise Reasoning Supervision 把轨迹切成 Obs / Think / Act,损失只打在 Think 和 Act 上,Think 是工作流组织或答案检查这类控制监督,标注由记录和层级规则确定,不再额外调模型。Harness-Dependency Annealing 则把更弱 harness 下采集的教师轨迹逐步加进继续训练。直接对照是:从 Base 只用某一级源数据独立训练(Direct 或 Layered),以及面向某一级的退火检查点。
评测在 SWE-QA 与 SWE-QA-Pro 上,9B 和 35B,每个检查点都在四个部署 harness 下重跑。分数是对照参考答案的 judge 分,judge 不看中间观察,因此不直接衡量答案是否接地。
| 观察 | 数字(论文 Table 3 / Table 4) |
|---|---|
| 9B:相对 H4 训练起点,H2-targeted 提高弱支撑分数,并压平跨 harness 波动 | H1 分从 71.99 到 77.00(SWE-QA,+5.01),从 74.64 到 77.73(SWE-QA-Pro,+3.09)。跨 harness 极差从 5.48 / 3.61 降到 0.57 / 1.32 |
| 35B:弱支撑有提升,但不再稳定地更平 | H1 只升 0.40 和 1.36 分。SWE-QA 上极差从 1.30 变到 1.44,SWE-QA-Pro 从 2.13 降到 1.66 |
| 9B Direct:满配轨迹上训练、撤到 H1 会塌 | H4-trained Direct 部署在 H1:SWE-QA 16.51。同列 Layered 的 H4-trained 是 71.99,H1-trained 是 72.48 |
| 同一 Layered H4 检查点,工具单独部署并不输给自己的满配 | SWE-QA:H1 71.99,H4 75.70。H2-targeted 的 H1 分 77.00,已贴近甚至略高于该起点的满配分 |
原理不在「多训一点工具调用」。Direct 行说明:若控制决策从未成为生成目标,模型把判断外包给运行时注入;支撑一撤,9B 在 H1 上掉到十几分。Layered 把 Think 写进损失之后,工具单独部署仍能停在七十余分。退火进一步缩小「训练 harness」和「部署 harness」的落差,但论文自己写明:再退火并不单调变好,收益随规模和部署配置变化。35B 的 H1 增益已经很小,说明规模上去之后,该内化的控制有一部分已经在起点里。
Judge 只看问题、参考答案和最终答案,不看轨迹里的观察。因此「内化了验证」不等于「答案接地于自己搜集的证据」。论文把接地性单列成未由 J(τ) 覆盖的结构性质,并用附录诊断另测控制行为。把 H1 分数上升读成「模型学会了核查证据」会越过实验实际测量的东西。
系统消融 arXiv:2609.40303 · Kirill Brilliantov, Alejandro Hernández-Cano, Emmanuel Abbé
这篇把 MLE harness 拆成可单独开关的干预,再拿到发布版系统上复核。最高杠杆不是多 agent,而是原语:chat 接口只能吐脚本文本,失败后再把栈塞回去;coding agent 会话则直接有文件系统和执行。前沿骨干(GLM 5.2、Kimi K3)换到后者后,分数大幅上升。作者的解释是,现有外环机器大多是在「单次补全不能跑代码、不能记住试过什么、不能对错误反应」的时代设计的;coding post-training 改变了原语之后,这些机器在解决的问题在 MLE 基准里已经空了。
同等硬件、时间和骨干下,他们的单会话基线 Malena 对上 MLEvolve、AiScientist、Arbor、ScienceFlow。论文的表述是:17 组 harness–骨干(30 个 MLE-bench 任务)和 6 组(40 个 NatureBench 任务)里,Malena 持平或超过每个对照;没有被测的发布版 harness 显著更好。NatureBench 上「超过已发表 SOTA」的任务比例,点估计大致贴在一起,置信区间重叠:
| 骨干 | Malena | AiScientist | MLEvolve |
|---|---|---|---|
| GLM-5.2 | 21.7 [15.0, 27.5] | 17.5 [12.5, 22.5] | 10.8 [7.5, 15.0] |
| Kimi-K3 | 26.7 [20.0, 32.5] | 27.1 [20.0, 35.0] | 11.7 [7.5, 15.0] |
例外写在正文里:更小的 Gemma 4 31B 上,MLEvolve 的均值领先,但 medal rate 的置信区间仍与 Malena 重叠。隐藏测试分不回传。所以这篇否定的是「在当前 MLE 基准、固定预算、强 coding agent 上,手写厚 harness 还有显著边际」,不是「任何任务都不要脚手架」。
官方技术报告 PivotOPD(NVIDIA,项目页 research.nvidia.com/labs/lpr/pivotopd)处理的不是「再加一个编排器」,而是多轮里的关键错误。Qwen3 8B 到 235B 的初步实验里,超过一半的失败 rollout 含有一次 pivotal mistake,且通常发生得早;错了几步之后,状态已经偏了,普通 on-policy distillation 的教师信号对不上学生后来见到的状态。PivotOPD 在关键步用教师的 gold action 做 reverse KL(预防),再在随后几步用 recovery action 做 forward KL(恢复,因为学生很少自己采样到恢复行为)。Qwen3-1.7B 在 ALFWorld 上比最强基线高 5.5 个点;换到 Nemotron-3.5,SWE-Bench Verified 解决率 +3.2%。这里 harness/教师提供的是错误发生后的密集恢复信号,不是另一层任务规划。
新方法 Cogentic(Yang Cai, Vineet Gupta, Yanchen Jiang, Christopher Liaw, Aranyak Mehta, Grigoris Velegkas, Di Wang)是厚 harness 的正例。开放数学问题上,单次生成能出想法,但不够用来并行探索互斥猜想、跨过技术障碍、并保住中间进度。编排器把一群独立 prover 分到不同证明方向,专门组件做对抗验证,确认过的中间结果进入持久账本,后续轮次只在账本上长。以 Gemini 为底,论文称在在线学习、拍卖理论和机制设计的五个开放问题上得到新结果,并由领域专家独立核验。这种 harness 的产品是外部可核查状态,不是提示词变体。它和 Malena 的结论不冲突:MLE 编码会话里模型已经能自己持有「试过什么」;开放证明里,未经验证的中间命题不能交给模型自述。
这三篇可以合成一条操作规则,而不是互相取消。先给执行原语,再决定脚手架加在哪。若模型还只能聊天,厚 harness 是在模拟一个它没有的运行时,How Much of a Harness 说明这块收益最大,但也最容易被「换成 coding agent」一次性吃掉。原语够了之后,不要默认全局 harness 是终点。Turbo 的消融表明,实例补丁的信息在外环搜索的废气里,不在再堆一个编排器;小编辑器必须同时有 playbook 和任务奖励,缺一就退回全局水平。若目标是部署时少依赖外环,训练分布必须包含撤支撑。HAT 的 Direct 崩盘(9B、H4 训练、H1 部署,16.51)是这批结果里最不该忽略的数字:在满配轨迹上模仿动作,学不会满配当时替它做的判断。
规模会改变哪一条值得做。35B 上 HAT 的 H1 增益只剩零点几个到一个点,说明大模型里有一部分控制已经内生,退火的边际变小。Turbo 那边则相反:执行模型越强,紧预算下的实例补丁仍能拉开十几个点(Gemini 在 SWE-smith-MR 上 +17.3,在 SWE-bench Verified 上 +16.0),弱执行器的余量不一定更大(Haiku 在 Verified 上只有 +2.7)。适配的是 harness 与实例的错配,不是模型太笨。
因此我不把「少 harness」当成普遍建议。Cogentic 这类任务需要外部验证账本,PivotOPD 需要错误后的恢复教师,两者都不是 MLE 单会话能替代的。该减的是重复模型已经会做的阶段切换和重试循环;该留的是模型无法诚实维护的状态,以及它很少采样到的恢复动作。该加的往往不是另一层 agent,而是一份从失败档案里蒸馏出来、按实例选用的补丁。
三篇的任务分布不同,不能排成一张总榜。Turbo 的编码数字来自 40 step / $3 的压力测试。HAT 的分数不是单元测试通过率,而是不看轨迹的参考答案 judge。How Much of a Harness 的「无显著优势」限于公开 MLE / NatureBench、固定墙钟预算和被测的开源 harness,且 NatureBench 上 Malena 与 AiScientist 的区间重叠。Turbo 与 HAT 的 API 记录里没有会议接收信息。PivotOPD 是 NVIDIA 技术报告,不是会议论文。Papers with Code 本次抓取超时,未用作筛选依据。