论文链接:

代码仓库:Turbo Harness 开源(Tyrion58/turbo-harness);ActiveSaddler 承诺开源(aka.ms/ActiveSaddler-website);VeriHarness 释出代码与约 26,000 条 rollout 数据池(veriharness.com,生成成本超 $100k) 发表时间:2026 年 9 月 30 日—10 月 1 日(arXiv v1) 机构:Turbo Harness——Rutgers + Red Hat AI Innovation + MIT-IBM Watson(一作在 Red Hat 实习);ActiveSaddler——POSTECH + KAIST + Microsoft(前两作者在微软实习);VeriHarness——University of Cambridge + Google Cloud AI Research(一作在 Google 实习)。三篇全部是「高校学生 + 企业合著」的产学研组合,且一作均为实习生——这不是巧合:harness 优化需要大额 API 预算与真实工程环境,恰好卡在学校与企业互补的交界处 领域标签:cs.AI / cs.LG / cs.SE

三篇论文放在一篇精读里,是因为它们在做同一件事的不同切面:都承认「自动优化 Harness」这条主路(Meta-Harness 式外层搜索、GEPA 式反思进化)已经修好,都冻结模型权重、只在模型外围做文章,却各自发现了一个所有前人共用的、未经检验的默认假设——Turbo Harness 发现大家默认「一个全局 Harness 均匀套用于所有测试实例」;ActiveSaddler 发现大家默认「训练场景的顺序在优化开始前就固定」;VeriHarness 发现大家默认「验证靠投票或 judge,只用 rollout 池内部信息」。三个默认假设分别对应推理分布、优化分布、监督信号三个自由度。它们像三条正交的轴,本期一起立起来之后,你会看到「Harness 优化」这个概念本身被撑大了一圈。

一、论文背景

1.1 Harness:模型之外的「另一半 Agent」

一个现代 Agent = 模型 + Harness。Harness(挽具)是包裹在模型外面的可执行运行时:上下文构建、工具集与调用工作流、状态管理、执行控制、验证机制。类比来说,如果模型是发动机,Harness 就是涡轮增压、变速箱和导航——发动机决定上限,H决定上限能兑现多少。2026 年下半年,Anthropic、OpenAI、LangChain 相继发布 harness engineering 工程博客,「优化 Harness 而不是训练模型」成为最划算的能力提升路径:训练要 GPU 集群和数月周期,改 Harness 只要改代码。

于是有了第一代自动优化方法:Meta-Harness 用强编码 Agent 做外层程序搜索;Self-Harness 去掉外部提议者让模型自我改进;GEPA 用反思进化 prompt;AutoSaddler 从执行轨迹做持久更新。它们的共同范式是内环+外环:内环让 Agent 在一批任务实例上跑、收集分数/轨迹/失败;外环诊断当前 Harness、提出改进候选、评估、迭代。

1.2 第一代范式留下的三个默认假设

但这代范式有三个没人质疑过的默认设置:

默认一:全局 Harness。 优化产出一个「平均最好」的 Harness,然后均匀套用于未来所有测试实例。可是 SWE-bench 式实例来自不同 GitHub 仓库,各有不同的开发流程与测试惯例——Jinja2 的回归 bug 需要「先查 git 历史」,arrow 的逻辑错误需要「先读控制流」,一个全局 Harness 只能在两者间做平均权衡。Turbo Harness 的 Figure 1 给出最直观的证据:同一个全局 Harness,对实例 A 打「先查 git log」的补丁、对实例 B 打「先读源码」的补丁,两个原本失败的实例都变成 3/3 全过——最优补丁是实例的函数,不是常量。

默认二:固定课程。 优化过程中「用哪些训练场景产生反馈」通常在开始前就定死——要么全量训练集,要么预先排好的 mini-batch。可是随着 Harness 进化,未修复的失败值得继续投入 rollout,已修复的再跑就是浪费;而且「 revisit 已知弱点」和「探索未见场景发现新弱点」的相对价值在不断变化。ActiveSaddler 的动机统计显示:固定顺序优化下,训练中观察到的许多失败到最终 Harness 仍未解决(其 Figure 3b)——课程应该是 Harness 状态的函数,不是预先排好的时刻表。

默认三:内部验证。 验证 Agent 产出的主流方法是多数投票、best-of-N judging、pairwise 锦标赛、LLM-as-a-judge——全部只用 rollout 池内部信息,本质是「模型已经相信什么」。而长程 workspace 任务(报告、表格、多文件交付物)没有单元测试可跑,正确性藏在环境里:源文件、数据、约束。VeriHarness 的动机统计给了投票类方法两记重锤:在 APEX-Agents 的十 rollout 池中,全体一致的共识值有 34% 是错的(一致性 ≠ 正确性,投票救不了);有争议的主张里 74% 含有正确候选,但众数答案只有 47% 正确(分歧反而暴露了正确项,投票会把它扔掉)——验证的信号源应该是环境证据,而不是池内频率。

1.3 三个默认假设的公共形状

把三个默认假设放在一起看,它们有同一个形状:把一个本质上是「函数/分布/过程」的量,当成了「常量/集合/快照」。实例最优 Harness 被当成常量,课程被当成固定集合,验证被当成一次性快照判断。三篇论文各修一个,这个公共形状就是本期精读的叙事轴。

二、论文定位和关联工作

2.1 Turbo Harness:实例自适应路线

Turbo Harness 站在 Meta-Harness 肩上,直接回收其搜索档案。与两条最近的相关路线划清边界:

  • vs Harness-R1:Harness-R1 训练一个 harness engineer 从失败轨迹批次生成运行时补丁,但部署时需要两遍流程——先跑一遍收集失败轨迹、再在补丁下重跑任务。Turbo Harness 的编辑器在执行前一次调用即出补丁,不重跑。
  • vs JIT-Agent(同期工作):JIT-Agent 也做实例专属 harness,但通过教师蒸馏+进化 RL 从零合成每个 harness。Turbo Harness 只修补已有的全局 Harness——修补比从零合成便宜得多,9B 小模型就够。
  • vs Advisor Models / TTHE:Advisor Models 训练实例级 prompt 优化器,但只优化 prompt 文本;Turbo Harness 的补丁可以触达可执行控制代码(附录 D.3 的 gunicorn 案例改的是控制流阈值与正则)。

技术血统上,其 playbook 蒸馏沿用 ACE(Agentic Context Engineering)的「成功+失败策略库」思想,训练用 GRPO。

2.2 ActiveSaddler:课程学习路线

ActiveSaddler 实例化在 AutoSaddler(其直接前作,同团队)之上,加三个课程组件,且明确保持 harness 更新机制不动——只改「哪些场景产生反馈」。这个定位决定了它与所有 update-side 方法正交可叠加:论文实测把课程套到 GEPA 上,GEPA 54.2→57.2(+3.0pp),证明收益不绑定 AutoSaddler。

与两个最近的任务选择工作区分:Task-CoEvolve 和 HarnessLens 做的是评估侧任务选择(候选补丁提出后,选哪些验证任务区分它们);ActiveSaddler 做的是训练侧场景选择(补丁提出前,选哪些场景执行以产生诊断证据)。理论血统是 Graves et al. 2017 / Matiisen et al. 2017 的非平稳 bandit 课程学习,但 harness 场景带来新困难:课程目标(弱点)不可观测、无直接损失信号、臂集合不预知——必须从失败诊断中在线实例化。

2.3 VeriHarness:验证侧路线

VeriHarness 自我定位为「第一个面向长程任务的 agentic 验证 harness」。它要同时推开三堵墙:

  • vs 投票/judge 类(多数投票、self-consistency、LLM-as-a-judge、pairwise):只用池内信息,而 VeriHarness 主动向环境取证。关键消融:给 agentic verifier 同样的环境访问但没有协议+技能,只能恢复约一半增益(49.4 vs 51.6)——增益来自协议与知识,不是工具本身。
  • vs 训练验证器(process reward model、AgentV-RL):要训练数据、输出分数而非更好的 artifact;VeriHarness 免训练、即插即用。
  • vs 自我修正的悲观文献(LLM cannot self-correct、Great models think alike):同模型自我验证被证明很难。VeriHarness 的回应是 Appendix B 的机制论证:同模型验证者拥有生成时没有的三样东西——暴露的备选项(多 rollout 把竞争值摆上台面)、聚焦检查(只需验证已完成产物的特定主张)、积累的检查技能——信息差异弥补了能力相同。

harness 进化侧它也换了对象:别人进化生成器的脚手架,它进化验证者的技能库,且用开发集准入+held-out 评估规避了「进化 harness 过拟合」的已知批评(Wang et al. 2026)。

2.4 定位总表

维度Turbo HarnessActiveSaddlerVeriHarness
打破的默认全局 Harness 均匀部署课程先于优化固定验证只用池内信息
作用阶段推理时(每实例)优化时(每迭代)推理时(验证/修订)
核心机制playbook + GRPO 实例编辑器失败模式臂 bandit 课程分歧裁决 + 共识挑战
是否训练模型是(9B 编辑器全参 GRPO)否(LLM 做决策组件)否(技能库文本进化)
与主路线关系后处理 Meta-Harness 产物前置于任意离线优化器正交于生成侧一切方法
一句话把最优解从常量变成函数把课程从时刻表变成策略把验证从频率变成取证

三、问题定义

三篇论文的形式化各有一个精巧的抽象动作,值得逐一还原。

3.1 Turbo Harness:从「求一个 H」到「求一个映射 x↦Hx」

标准 harness 优化求 $H^\star \in \arg\max_H \mathbb{E}_{x\sim T}[r(\mathrm{Agent}(M,H,x))]$——期望算子把实例差异平均掉了。Turbo Harness 把目标改为逐实例最优:对每个测试实例 $x$,求 $H_x^\star \in \arg\max_{H_x}[r(\mathrm{Agent}(M,H_x,x))]$。

朴素解法是对每个实例跑独立搜索,代价不可接受。Turbo Harness 的关键洞察是改写解的参数化:不求 $H_x$ 本身,而求一个编辑器策略 $\pi_\theta(\cdot \mid x, H^\star, P) \to p_x$,输出的补丁作用在全局 Harness 上,$H_x = H^\star \oplus p_x$。这一改写把「每实例一次完整搜索」压缩为「每实例一次小模型前向」,前提是外层搜索的废弃产物里已经含着足够的实例级经验——即 playbook $P$。约束是:执行模型 $M$ 冻结、编辑器必须轻量(9B)、每实例只调用一次、补丁失败时回退 $H^\star$(保底不劣)。

3.2 ActiveSaddler:把课程选择建成非平稳 bandit

ActiveSaddler 保留标准优化的全部机械(式 1–4:harness 参数 $\theta$、执行记录 $E_t$、优化器 $O$),只把第 5 式的课程策略 $\pi$ 变成研究对象:$X_t \sim \pi(\cdot \mid I_{

它的抽象动作是把「训练场景」重参数化为「失败模式臂」。直接按场景选粒度太碎(同一弱点散在多个场景里,预算内难以复访),按类别选太粗(异质弱点共享一个状态,部分成功会掩盖未解弱点)。失败模式臂是从诊断中在线归纳的中间粒度:一条臂 = 一类可复用弱点 + 其支撑场景集,且场景与臂是多对多关系(一个场景可暴露多种失败,一种失败可横跨多个场景)。两个结构困难随之而来:臂集合不预知(新弱点随优化涌现,需在线实例化);每臂无直接损失信号(弱点是否还活跃、值不值得再修,只能从优化历史推断)。这构成一个臂空间在膨胀的非平稳 bandit,外加「探索未见场景(DRAW)vs 深挖已知臂(PULL)」的二值顶层决策。

3.3 VeriHarness:把验证定义为「对主张的证据采集」

VeriHarness 的形式化从「主张」开始:任务 $t=(s,E)$ 的每个 rollout 产出 artifact,artifact 由主张构成(一个数值、一种解读、一项要求的满足)。对每个共同问题 $p$,$N$ 个 rollout 给出候选值集 $V_p$ 及其经验分布 $\pi_p$,熵 $H(\pi_p)$ 把主张二分为共识主张($H=0$,全员一致)与争议主张($H>0$)。

关键的一步是承认熵只度量池内变异——一致性可以与全员皆错并存(34% 的共识值是错的)。于是验证被定义为主动证据采集:一次检查 $\chi$(读源文件、重算总额、查元数据)在环境中执行得证据 $e=E(\chi)$,验证者的任务是选信息量大的检查去区分候选(对争议主张)或证伪共识(对共识主张),最终输出 $r^\star$(选出或修订的 rollout)加验证记录 $C$。约束:验证者与生成器同模型同工具、无参考答案、无评分 rubric、无更强 judge。

3.4 公共抽象:被解冻的自由度

论文冻结的旧假设解冻后的自由度数学形状
Turbo Harness$H$ 对 $x$ 是常量实例条件化 $H_x$映射 $x \mapsto H_x$
ActiveSaddler$X_t$ 与 $H_t$ 无关课程随 harness 共进化策略 $\pi(\cdot\mid I_{
VeriHarness验证 $=$ 池内频率环境中的主动取证检查算子 $\chi \mapsto E(\chi)$

三者共同点:都没有扩大模型能力,只是释放了流程中一个被过早固定为常量的变量。

四、问题解法

4.1 Turbo Harness:废气涡轮——把搜索副产品变成燃料

名字取自涡轮增压器:回收废气(exhaust)中的能量反哺发动机。整个管线两段:

离线:档案 → playbook。 Meta-Harness 外层搜索会产生大量副产品——所有评估过的 harness 候选(含被弃的)、完整轨迹、反思、评分。Playbook 构造三步(沿用 ACE):

  1. 抽取(无模型调用):对每个训练实例聚合档案记录,分类为 contrastive(某变体解出另一变体失败)/ uniformly solved / uniformly unsolved;对 contrastive 实例配对「最不相似的成功/失败变体」并计算源码级 diff——这个 diff 定位了「导致结果差异的那次 harness 改动」,是实例级经验的最小单元。
  2. 反思(前沿模型):分析每条记录,产出结构化反思:实例特征、行为差异、候选编辑策略、理由、置信度。低于置信阈值或命中已知反模式的丢弃。
  3. 策展(单次前沿模型调用):等价策略聚合成条目(合并适用条件、汇总正反证据计数),净有害策略标记为反模式。每条记录「适用条件 + 策略文本 + 证据 + 置信度 + 类型标签」(SCAFFOLD_MODIFICATION 控制流 / TEXT_INJECTION 文本注入)。最终很小:TB2.1 的 playbook 仅 6 条策略 + 9 条反模式。

训练+推理:GRPO 编辑器。 编辑器(Qwen3.5-9B 全参微调)输入 $(x, H^\star, P)$,输出补丁 $p_x$。训练时对每实例采 $G$ 个候选补丁(8/16),应用后执行冻结模型拿任务奖励,GRPO 组内相对优势更新——RL 教的不是「发明新策略」(策略在 playbook 里),而是「何时用哪条」。奖励设计有三个值得注意的细节:编码任务奖励含步数惩罚项 $1 - s/(2L)$(鼓励更少步);编辑器可显式回答 NO_PATCH_NEEDED(回退全局 Harness,五个基准上弃权扣 0.05);奖励完整性防护——任务评分在 harness 进程外由可信 runner 计算、harness 的执行接口隐藏评分方法、源码检查拒绝引用受保护评分内部——防止编辑器学会操纵自己的训练奖励。

推理时一次调用出补丁、失败回退 $H^\star$,然后冻结模型照常执行。

4.2 ActiveSaddler:三组件课程闭环

每轮迭代在「当前 harness $H_t$ + 臂集 $A_t$ + 未见场景池 $U_t$ + 优化历史 $I_{

① 失败模式抽取器(臂的来源)。 两阶段防锚定:先对每条失败记录独立抽取候选症状(不许看已有臂集,避免被现有分类锚定);再统一归一化——三路判断:匹配已有原子模式(link)/ 是多个已有模式的组合(compose,多标签)/ 全新失败(注册新臂)。粒度纪律写在提示词里:「不过度合并——根因不同就是不同模式;不过度分裂——同一行为问题的表面变体是同一模式」。每条臂维护:模式描述、支撑场景集、观察到的证据。GAIA2 上一次运行归纳出 35 条臂,场景-臂多对多。

② 臂优先级器(选哪条臂修)。 用 LLM 对每条臂估计学习进展分 $\phi_t(a)\in[0,1]$,四因子联合评估:severity(该弱点在当前 harness 下是否仍活跃)、fixability(能否通过 harness 干预修复)、breadth(修好的泛化收益面)、side-effect risk(修复引入回归的风险,反向计入),$\phi=(\text{sev}+\text{fix}+\text{bre}+(1-\text{side}))/4$。分数经温度 $\tau_{sel}=0.15$ 的 softmax 变成随机拉臂分布——偏好高优先级但不把课程锁死为贪心(实测 34 次拉臂覆盖 19/35 条臂,62% 拉自前三名,最低拉到第 20 名)。臂的评分随证据动态升降:P3 修好后优先级骤降,P8 前三次拉臂场景全过但分数维持高位(随机通过的通过不算解决证据),后来新场景再次暴露同一失败,分数反而上涨。

③ 探索控制器(DRAW vs PULL)。 二值决策:这轮去未见场景池里 DRAW(可能发现新失败模式)还是 PULL 已知臂(继续修)。Agent 会拿到两边的事实:「已知臂是否还有 severe、fixable、broad 的活跃目标」「未见池还剩多少、失败面映射是否完整」。实测行为:DRAW 率从上半程 44% 降到下半程 20%——前期臂池小、失败面未映射,探索价值高;后期臂池充足,转向修复。量化验证:PULL 决策时未解决臂数是 DRAW 时的 2.0×(GAIA2)/ 6.9×(TB2)——决策确实对「还剩多少未解决弱点」敏感。

两个补充设计:回归再发现——当所有场景都探索过且每条臂都访问过后,先前成功(未建臂)的场景重新进入探索池,若此时失败则正常建臂——相当于离线学习的额外 epoch,防止 harness 更新悄悄弄丢早期能力;模式注册表 CLI——臂的观察历史越来越长,直接序列化进 prompt 既大又不选择性,于是给 GC-SDK 优化器会话一套按需查询的命令行接口(pattern list/show/score/history/register/tag/rate/decide),每类会话只授予其能力清单内的命令子集——这本身是个很工程化但可复用的「让 agent 访问大型结构化状态」的设计。

4.3 VeriHarness:一个 harness、两个侦探、一个法官

VeriHarness $H_V=(W,\mathcal{T},\Pi,\mathcal{S})$:workspace $W$(rollout 的 artifact/最终状态/轨迹以只读文件形式挂载)+ 证据工具 $\mathcal{T}$(read/grep/bash,输出目录唯一可写)+ 验证协议 $\Pi$ + 技能库 $\mathcal{S}$。核心是协议的两条互补检查通道:

分歧裁决器(Disagreement Resolver,对高熵主张)。 定位争议主张及其候选值,把每个候选追溯到其来源/计算,选「最能区分候选」的检查执行(定性判断期望信息增益,Lindley 1956 的贝叶斯实验设计思想),用证据淘汰被矛盾者。worked example:任务要求「从最终财务报告取 FY2025 营收」,两个 rollout 引用草稿版答 100m、一个引用终版答 120m——裁决器查版本历史,确认终版取代草稿,支持 120m。

共识挑战器(Consensus Challenger,对低熵主张)。 共识没有竞争值可测,所以反过来:先提出「这个共识可能怎么错」的假设,再去环境验证。检查三类:共识值(重算数值、比对源元数据——例:三个 rollout 全标 USD,查终版元数据发现货币是 EUR);共识读法(对条款/期间/定义的共同解读 vs 任务指定文件怎么说);共识遗漏(对照任务描述找所有 rollout 都漏掉的要求——遗漏必须先被「看见」才能成为验证目标,因为它不出现在任何 artifact 里)。

裁决(Adjudication,独立上下文)。 两条调查并行跑在互不可见的独立上下文(防止争议主张挤占共识主张的注意力,消融显示合并单上下文掉 0.8 分);然后一个全新上下文的法官审查两份证据记录——不继承任何调查者的对话历史——可维持/推翻/搁置发现,输出(base, revision_plan, unresolved):证据支持缺陷最少的基础 rollout、修订计划、未决主张清单。交付时选择模式直接返回 base;修订模式执行修订计划产出新 artifact + 验证记录(每个主张链到检查-证据-裁决,可追溯)。

技能库:知道「该查什么」。 工具执行检查,技能回答「什么值得查」——18 个人类编写技能分四类:证据技能(如何把 xlsx/PDF/docx/patch 当证据读而非当文本读,附脚本)、裁决技能(一类 artifact 的候选分歧时什么算决定性证据、权威顺序)、证伪技能(一类 artifact 的整池会怎么一起错)、修订技能(这类产物怎么被评分、什么绝不能改)。技能不含任务特定答案。

自进化闭环。 用开发集失败的「失败包」(任务+workspace+候选池+证据记录+修订计划+交付物+评分器逐项裁决)让同一模型提议候选技能库,开发分最高的非负增益者替换现库;自动过滤器拒绝含任务标识/基准名/参考答案值的候选;held-out 分数只记录不用于选择。四条件对照:A 空库 / B 人类库冻结 / C 从 A 进化 / D 从 B 进化。结果:C 在 held-out 上超 A +11.0(APEX)/ +5.7(SB-2),且 C 超 B——从失败反馈学到的技能超过人类编写;D 再在 B 上 +6.8/+3.7——人类初始化加速并提高最终水平。学到的技能更具体(95 条检查中 48 条把人类泛化检查具体化为脚本/常量/文档类型,42 条全新),且进化库学会了验证者自己的盲区——两个基准上独立进化出的库都写了「不要把与池一致的复算结果当作确认」。

五、评估指标与实验证据

5.1 Turbo Harness:七基准一致增益 + 成本同步下降

设置:4 个交互 agent 基准(Qwen3.5-9B 冻结执行)、2 个编码基准(Haiku 4.5 / Gemini 3.7 Flash 分别执行)、TB2.1(Sonnet 4.5)。编码基准刻意压预算:40 步 + $3/题(对比常规 250 步),压力测试 harness 质量。3 次运行取均值±SEM。

基准(执行模型)Meta-HarnessTurbo增益成本变化
ALFWorld(Qwen 9B)60.770.7+10.0—
ScienceWorld(Qwen 9B)35.142.4+7.3—
DBBench(Qwen 9B)65.069.2+4.2—
WebShop(Qwen 9B)40.042.0†≈持平—(Harness-R1 作者口径 42.2†)
SWE-smith-MR(Haiku)50.7±2.964.0±1.2+13.3$0.151→$0.136
SWE-smith-MR(Gemini)70.7±2.488.0±1.2+17.3$0.310→$0.046(6.7×),步数 23.1→8.7
SWE-bench Verified(Gemini)38.4±0.454.4±2.3+16.0$0.470→$0.331,步数 32.5→25.9
SWE-bench Verified(Haiku)56.7±2.059.3±1.4+2.7略升(20.4 vs 18.8 步)
TB2.1 44 题(Sonnet 4.5,5 次运行)50.5±1.755.5±1.4+5.0$1.56→$1.38/题

几个「为什么这张表有证明力」的读法:

  • Haiku 在 Verified 上只 +2.7 不是失败,而是机制的旁证:Meta-Harness 已把 Haiku 从 31.6 提到 56.7(吃掉了大部分余量),实例自适应的空间随全局优化完善而缩小;Gemini 的 Meta-Harness 基线低(38.4),留给实例自适应的余量大,+16.0 顺理成章。增益大小追踪执行器的剩余余量——这是「实例级余量」这个概念存在的直接证据。
  • TB2.1 是最严格的测试:这里 Meta-Harness 本身跑不过人类手工 Harness(50.5 vs Terminus-Kira 52.3)——自动全局优化失效的场景。而实例自适应把领先拿了回来(55.5,全场最高),且 $1.38/题 低于所有竞争力 Harness——同时落在精度-成本 Pareto 前沿上。
  • 可靠性分析(附录 D.1):Gemini 下三次全过的题从 26/50 升到 42/50,只过一两次的题从 18 降到 3——均值提升伴随着一致性提升,不是靠运气波动。
  • 消融是全文最关键的一张图(Figure 3,SWE-smith-MR + Haiku):Meta-Harness 50.7;裸 9B 编辑器(无 playbook 无 RL)51.3;+playbook 无 RL 50.0;RL 无 playbook 49.3;RL+playbook 64.0。两个组件单独都不如全局 Harness,组合后 +14.7——playbook 提供「有哪些策略」的知识,RL 提供「何时用哪条」的判断,缺一不可。右侧:同一 playbook 下未训 9B=50.0、Sonnet-4.5=55.3、Opus-4.6=61.3、RL-9B=64.0 追平 Opus——小模型+RL 能榨出大模型靠能力才榨得动的经验。
  • 补丁真的触达可执行代码而非只改提示词(附录 D.2):django-13315 放宽「立即提交」门换探索预算(1/3→3/3);gunicorn 把验证门提前两步并教编辑检测器识别 append 重定向(0/3→3/3),且阈值逐实例设定(5/6/10);TB2.1 上「强制工具调用」这个旋钮在 chess-best-move 上是最优、全局化却让全套件回退 6.7%——同一旋钮不同实例最优值相反,全局 Harness 原理上无法满足。

5.2 ActiveSaddler:同等预算下的课程增益

设置:GAIA2(按 Universe 人格划分 OOD train/dev/test,test 300 题)+ Terminal-Bench 2.0(89 题随机分,test 40)。任务 agent 与优化器均 gpt-5.5。共享预算 K=10×(|train|+|dev|)(GAIA2 1400 rollout / TB2 490)。3 次测试执行取 Pass@1 均值±std。

方法GAIA2 (300)TB2 (40)
Default / Terminus 253.6±1.164.2±2.9
GEPA54.2±2.265.8±5.2
Meta-Harness54.2±1.266.7±5.2
AutoSaddler(固定随机顺序)55.4±1.272.5±0.0
AutoSaddler w/ 类别难度序55.9±1.370.8±1.4
AutoSaddler w/ 场景难度序55.7±1.273.3±1.4
ActiveSaddler59.8±1.080.0±2.5
  • 主对照的巧妙之处:所有基线与 ActiveSaddler 共享同一个优化器(AutoSaddler),唯一差异是课程——+4.4/+7.5pp 因此可以干净地归因于课程本身。对固定难度课程(经典课程学习 baseline)+3.9/+9.2。
  • 机制通用性:套到 GEPA 上 54.2→57.2(+3.0),课程增益不绑定特定优化器;非 LLM 替代(EMA 失败持续率打分 −3.1、UCB-AIR 计数式探索 −4.2)系统性更差——两个课程决策都需要「读懂优化历史」的语义判断。
  • 成本:GAIA2 达到 58.5% dev 精度,ActiveSaddler 花 $298 vs AutoSaddler $1,360(4.6×);TB2 达 78.9% 花 $128 vs $220。优化器侧单补丁成本虽更高($11.44 vs $7.87),但更贵的任务 rollout 被分配得更值——课程层开销被 rollout 节省覆盖。
  • 消融三连(GAIA2 / TB2):换类别臂 −3.0/−10.8,换场景臂 −3.6/−6.7,去优先级器 −4.5/−7.5,去探索控制器 −4.5/−8.3。三组件各自必要,且 TB2 上惩罚普遍更大(任务更少、预算更紧、选错课的代价更高)。
  • 中间变量证明机制:失败命中率(拉臂的 mini-batch 里含未解决失败场景的比例)——失败模式臂 52.9%/60.4% vs 类别臂 36.4%/30.5%、场景臂 17.6%/36.6%(GAIA2/TB2)。课程的钱确实花在了未解决弱点上。失败→成功转化率 50.0% vs AutoSaddler 21.7%(GAIA2)。案例研究极有说服力:tnxtee 场景的修复 hook 首版只识别单行回复而失败——因为弱点还在臂里显式挂着,第 5 轮被重定向、扩展为多行识别后通过;类别臂变体中同一场景被 10 个时间类场景稀释,其所在类别因别的场景通过而严重度从 0.62 跌到 0.12,该场景 3 次选中从未被采样到——臂的粒度直接决定弱点会不会被看见。

5.3 VeriHarness:五基准 × 双模型的全胜 + 机制拆解

设置:5 个 workspace 基准(APEX-Agents 480 题专家 rubric / WSB Lite 100 / WorkBuddy 200 / SpreadsheetBench 2 321 重算比对 / JobBench 65),Gemini 3.5 Flash 与 Claude Opus 4.8 各自「既当生成器又当验证器」,每任务 N=10 rollout 冻结池,所有方法同池同模型,3 seed。

Flash 五基准均值(选择模式):

方法Avg对单 rollout 增益
单 rollout47.2—
多数投票47.5+0.3
Best-of-N judge47.3+0.1
Pairwise 锦标赛49.1+1.9
LLM-as-a-Verifier49.5+2.3
Agentic verifier(同环境访问,无协议/技能)49.4+2.2
VeriHarness (select)51.6+4.4
选择 oracle 上界62.7+15.5
VeriHarness(含修订)53.4+6.2(WSB +8.9、APEX +6.7)

Opus 版同样全胜:select 53.7(+4.1),修订 56.1(+6.4,APEX +11.7)。证明力要点:

  • 投票类方法在长程任务上近乎失灵(+0.1~+0.3)与动机统计(34% 共识错、74% 争议含正确项)互相印证——这些任务的错误是结构性的,不是采样噪声。
  • 「同等环境访问」对照是关键消融:agentic verifier 拿到一样的 workspace 和工具,只缺协议与技能,49.4 vs 51.6——只恢复约一半增益。工具是必要不充分的,协议(分歧/共识分治)与技能(知道查什么)才是另一半。
  • 增益集中在有分歧的池上(Opus/APEX):154 个全共识池上选择增益仅 +0.6,262 个争议池上 +6.1,且随熵从低到高增至 +4.5→+7.7——分歧暴露正确项这条原理直接兑换成了分数。共识挑战的安全性好:从未推翻过全员正确的共识;其漏掉的共享错误中约 70% 是「查了正确的中间量、错在下游」——验证者倾向于停在 rollout 停下的地方,这正是需要技能库先验(哪里还值得看)的原因。
  • 修订增益来自证据而非重写:无证据检查的池聚合重写(aggregation)每个基准都低于 VeriHarness;agentic verifier+revision(有工具有修订无协议技能)50.7 也不及。
  • 可移植性:把协议+技能塞进 Gemini CLI / Claude Code / Codex 原样跑,Flash 下与自研 runtime 差距 ≤2 分——验证设计不绑定实现。成本上处于成本-增益前沿:Flash 选择 $1.44/题(LLM-as-a-Verifier 的十分之一、双倍增益),86–91% 输入 token 走缓存。
  • 资源释放:约 26,000 条 rollout(含轨迹/交付文件/官方评分)全公开——单 rollout/oracle 行等结果无需跑模型即可复现,这在该领域论文中是罕见的可复用资产。

六、效果优势的根源解释

6.1 Turbo Harness:为什么「补丁+playbook」能榨出全局搜索榨不出的余量

因果链:

  1. 全局优化把期望最大化 → 不同实例的最优配置互相冲突时强制折中(机制上:单一 $H^\star$ 无法同时满足「chess 任务要强制工具调用」与「extract-elf 要自适应升级」这类相反最优)→ 论文实验已支持(TB2.1 案例与 6.7% 全局回退)。
  2. 外层搜索期间每个实例上其实已经产生了「哪种编辑有效」的实例级信号(contrastive 对+diff),只是搜索结束后被丢弃 → Turbo 把它蒸馏进 playbook,编辑器不再需要发现策略,只需检索匹配 → 论文实验已支持(消融:playbook 单独 50.0、RL 单独 49.3、组合 64.0——组合交互项 +14.7 正是「知识×判断」的乘法效应)。
  3. 一次小模型调用替换「每实例多候选评估搜索」→ 成本增量近零;实例化引导更准 → 大执行模型步数反而下降(23.1→8.7)→ 总成本下降而非上升 → 论文实验已支持(效率表)。
  4. 增益大小 = 全局 Harness 留下的实例级余量(Haiku/Verified +2.7 vs Gemini/Verified +16.0)→ 论文实验已支持。

外部对照(阅读者检索交叉验证):本次检索范围内,与之最相近的证据有二。其一,JIT-Agent(arXiv:2608.25593,同期工作,Turbo 原文引用):同样主张实例专属 harness,从零合成而非修补,也报告显著增益——两个独立工作从不同实现路径收敛到「实例条件化有价值」同一结论,属方法不同、结论相近的支撑。其二,「Model-Harness 交互」实证研究(Finding the Right Fit, arXiv:2610.00917):4 harness×5 模型×3 基准全交叉发现同一模型换 harness 排名完全反转(TB4 摆动达 38pp),证明 harness 的最优选择强烈依赖任务/模型配置——与「不存在单一全局最优」的根部假设一致,但该研究是在「配置间」而非「实例间」粒度上给出的证据,属补充而非直接证明。相反方向证据:Malena(arXiv:2609.40303)在前沿骨干+MLE-bench 上消融掉大部分 harness 机制收益——但其设置是「强骨干长预算单会话」,与 Turbo 的「冻结中坚模型+紧预算」条件不同,提示实例自适应的收益可能随骨干能力增强而收窄(Turbo 自己的 Haiku +2.7 内部证据与此一致)。综合判断:实例余量存在性有多源支持;其大小随全局优化完善度和模型能力递减,是该方法适用边界。

6.2 ActiveSaddler:为什么「失败模式臂」是课程的正确粒度

因果链:

  1. 固定顺序在「已修复处浪费 rollout、未修复处过早离开」→ 预算浪费率是固定课程的隐性税 → 论文实验已支持(转化率 50.0% vs 21.7%)。
  2. 臂粒度是本质变量:类别臂把异质弱点装进一个状态(部分成功拉低整体严重度,掩盖未解弱点——tnxtee 案例严重度 0.62→0.12);场景臂把同一弱点拆散(75 条臂 vs 最多 35 条,预算内复访概率低,且修复后丢失时无新鲜证据、分数基于陈旧历史——4bytkx 案例 rank 6→52 后再未被选中)→ 失败模式臂在两点间取到「足以隔离修复机会、又紧凑到状态可追踪」的甜点 → 论文实验已支持(消融 −3.0~−10.8 + 失败命中率 52.9% vs 36.4%/17.6% + 两案例)。
  3. 两个决策都需要语义推理而非统计量:EMA 只看失败持续率(懂「还坏着」不懂「为什么值得修/修复面多宽」),UCB-AIR 只看计数(懂「多久没看」不懂「看了值不值」)→ LLM 评分/决策以 −3.1/−4.2 优势胜出 → 论文实验已支持。
  4. 课程增益可移植(GEPA +3.0)因为「哪些场景产生证据」位于任何 update-side 方法上游 → 论文实验已支持。

外部对照:课程学习的 bandit 形式化有直接血统——Graves et al. 2017(ICML,神经网络的自动课程学习)与 Matiisen et al. 2017(师生课程)都用非平稳 bandit 按学习进展选任务,ActiveSaddler 的差异在于课程目标(harness 弱点)隐式、需从诊断归纳、臂集在线膨胀——这是「结论相近、条件更难」的延伸关系,其 EMA 消融正是对 Matiisen 式信号的直接检验(更差)。Prioritized Level Replay(Jiang et al. 2021,RL 中按学习进展重放关卡)从另一领域得出「按进展分配训练场景优于固定/均匀」的一致结论,属跨域的结论相近支撑。CoEvolve(ACL 2026)在模型权重训练侧用遗忘/不确定性生成新任务,与本文在 harness 侧的做法互为镜像——「数据侧自适应优于固定」在 weight-side 与 harness-side 双双成立。未检索到「课程对 harness 优化无效」的相反结论;最接近的限定是本文自证:TB2(89 题小集)上消融惩罚普遍大于 GAIA2——预算越小、任务越异质,课程价值越高;反之在超大数据集+充裕预算下固定多 epoch 可能追平(此句为阅读者推测,论文未直接测试该边界)。

6.3 VeriHarness:为什么「取证」胜过「投票」而「分治+技能」胜过「裸取证」

因果链:

  1. 池内频率与正确性的相关度在长程任务上崩塌(34% 共识错 / 众数仅 47% 对)→ 投票/judge 类方法的信息上界被锁死 → 论文实验已支持(投票类增益 ≤0.3)。
  2. 环境证据提供池外的正交信息源(版本历史、元数据、重算)→ 裁决器把「74% 争议含正确项」变成分数(争议池 +6.1 vs 共识池 +0.6)→ 论文实验已支持。
  3. 但环境访问本身只值一半增益(49.4 vs 51.6):无协议时验证者注意力被争议主张占满、共识错误(结构性更强的错误)无人过问;无技能时不知道「哪类共识怎么错」「什么算决定性证据」→ 分治协议(独立上下文保住两类检查的注意力,合并 −0.8)+ 技能库(去掉技能在所有基准下降,APEX 最大)补齐另一半 → 论文实验已支持。
  4. 同模型验证为何可行(与「不能自我修正」文献的表面冲突):验证者与生成者的信息集不同——多 rollout 暴露备选项、聚焦检查分配注意力、技能积累失败先验;能力相同但信息占优 → 论文为机制论证+间接证据(Appendix B + Table 3;56.1 vs 49.6 的总增益是该论证的总量体现)。
  5. 技能自进化有效的根源:进化库具体化(95 条中 48 条带脚本/常量)且学到验证者盲区(「与池一致的复算≠确认」在两个基准独立涌现)→ C>A/B、D>B → 论文实验已支持。

外部对照:其一,「模型自我验证存在确认偏置与相关性」有文献基线——Huang et al. 2024(LLM 不能自我修正推理)、Long et al. 2026(自检多为确认式)、Goel et al. 2025(同源模型错误相关,ICML)——VeriHarness 与它们不构成否定关系而是条件关系:自我验证失效于「无新信息的自检」,而 VeriHarness 恰好注入了新信息(rollout 间差异+环境证据),其消融(共识挑战器盲区 70% 是「查了对的中间量」)同时印证了确认偏置确实存在、需要技能先验对抗。其二,测试时扩撒的验证瓶颈有独立呼应——Brown et al. 2024(repeated sampling)、Zhu et al. 2025(agent 并行扩撒停在 verification gap)均指出「采得出正确答案、选不出来」是普遍瓶颈,VeriHarness 的争议池 +6.1 是对该瓶颈的一次具体兑换。其三,LLM-as-a-Verifier(arXiv:2607.05391,本文最强 judge 基线)已把 judge 做成分准则比较,仍只在池内打转(49.5)——同一信息源内的方法精化无法替代信息源切换。综合判断:「验证信号应来自环境而非池内频率」得到动机统计+主表+熵分层三重内部证据和外部文献的间接支持;「分治协议与技能各贡献一半」由消融直接支持;同模型验证的信息优势论证尚属合理机制解释,其边界(共享盲点无法自救——共识遗漏类错误仍最难)论文自己承认(70% 盲区分析)。

6.4 三篇合观的根源结构

三条因果链在根部共享同一个原理:当一个环节的信息被浪费(丢弃的搜索副产品/已修复场景的重复 rollout/rollout 间差异与环境的证据),把它结构化地回收,就能在不动模型的前提下兑换性能。这解释了为什么三条正交路线能同时成立——它们回收的是三种不同的被浪费信息。

七、必要知识反推

假设让一个零基础的人复现这三篇论文,最少需要哪些知识?

7.1 领域知识层

  • Agent/Harness 分解:知道 agent = 模型 + 运行时脚手架,harness 是可执行程序(控制流/工具/上下文/验证),不是一段提示词——三篇论文全部默认这一点;不理解它就无法理解「补丁可以改控制流」「验证器也可以有 harness」。
  • 内环/外环优化范式:候选 harness → 内环执行收集反馈 → 外环诊断改进。三篇分别在这个图上的推理端(Turbo)、外环输入端(ActiveSaddler)、并行分支端(VeriHarness)动手,不知道这张图就不知道它们为什么正交。
  • 各自动手的领域惯例:Turbo 需要 SWE-bench 式实例的仓库异质性直觉(不同库的开发/测试惯例不同);ActiveSaddler 需要 GAIA2/TB 的任务分布直觉(OOD 划分为何按 Universe);VeriHarness 需要 workspace 交付物的评分方式(rubric 逐项、表格重算比对)。

7.2 方法论知识层

  • GRPO/组内相对优势 RL:Turbo 训编辑器的算法;关键是理解为什么组内相对奖励适合「输出是离散补丁、奖励来自外部执行」的场景。
  • 多臂 bandit 与课程学习谱系:ActiveSaddler 的形式化地基;特别是非平稳性(臂值随策略变化)与 explore/exploit 权衡,以及 Graves/Matiisen 的「学习进展」概念为何在此需要 LLM 化。
  • LLM-as-optimizer/裁判的能与不能:三篇都用 LLM 做非程序化决策(反思策展/打分/探索决策/裁决),都需要知道 LLM 判断的锚定风险(ActiveSaddler 的两阶段抽取防锚定、VeriHarness 的独立上下文防注意力挤占,都是对 LLM 认知偏差的工程补丁)。
  • 主动信息获取/实验设计思想:VeriHarness 裁决器的期望信息增益(Lindley 1956)——「选择最能区分假设的检查」这一统计实验设计经典思想被定性化后装进协议。

7.3 工程知识层

  • 沙盒与奖励完整性:Turbo 把评分放在 harness 进程外、隐藏评分接口、源码检查防操纵——任何「让被优化代码接触自身奖励」的系统都需要这套防护;VeriHarness 的只读挂载+唯一可写输出目录同理。
  • 大规模 rollout 编排与冻结池协议:VeriHarness 先冻结 N=10 池再让所有方法同池对比,消除了生成方差异——评测设计里「控制什么、冻结什么」比跑分本身更能决定结论可信度。
  • 状态外部化给 agent 访问:ActiveSaddler 的 pattern CLI(带能力清单的按需查询接口)解决「大型结构化状态塞不进 prompt」——这是所有长程优化系统的通用问题。

7.4 知识融合的关键节点

三处化学反应值得点名:

  1. Turbo 的「废气→燃料」:把「搜索档案是垃圾」这个领域默认认知,与 ACE 的 playbook 蒸馏、GRPO 的「策略检索学习」三者对上——缺任何一个都只剩半成品(消融已证明)。
  2. ActiveSaddler 的「粒度甜点」:bandit 形式化(方法论)× 失败诊断语义化(领域)→ 失败模式臂。纯 bandit 人会停在场景臂;纯领域人不会想到把弱点变成可拉动的臂。
  3. VeriHarness 的「熵二分→协议分治」:把「共识/争议」这个纯统计的二分(熵=0 或 >0),翻译成两个认知任务(证伪 vs 区分),再落成两个独立上下文+一个法官的协议——统计量到认知架构的映射是全文最漂亮的一步。

八、论文中可以提取的通用性灵感

灵感一:中间产物是资产,不是垃圾——回收优化过程的「废气」。 论文证据:Turbo 把外层搜索的废弃轨迹/被弃候选蒸馏成 playbook,仅此一项让 RL 编辑器从 49.3 升到 64.0;Meta-Harness 档案本身免费。 推广场景:① 超参搜索的 trial 历史蒸馏成「何时用哪组配置」的选择器;② 编译器自动调优中被弃的 pass 序列成为新程序的先验;③ A/B 测试平台的历史实验(含失败组)训练「什么改动能行」的预测模型;④ 个人知识管理中「项目过程笔记」比「项目结论」更可复用。

灵感二:粒度是优化的本质变量——在「过粗」与「过碎」之间寻找可追踪的中间单位。 论文证据:类别臂(粗)掩盖弱点、场景臂(碎)无法复访,失败模式臂以 −3.0~−10.8 的消融差胜出;失败命中率 52.9% vs 36.4%/17.6%。 推广场景:① 教育系统的因材施教不应按班级(过粗)也不按知识点逐条(过碎),而按「错误模式」分 组再教;② 软件缺陷管理按「根因模式」而非「模块」或「单 bug」组织修复冲刺;③ 客服系统的 FAQ 聚类按「用户困惑模式」而非产品线;④ 医疗随访按「病情演变模式」而非病种分诊。

灵感三:一致性不等于正确性——对「全员同意」要主动证伪,对「分歧」要当作信息而不是噪声。 论文证据:34% 共识值是错的;74% 争议主张含正确候选而众数只 47% 对;争议池选择增益 +6.1 vs 共识池 +0.6。 推广场景:① 团队决策中「全票通过」的提案恰是最该指派魔鬼代言人的(共识遗漏=集体盲区);② 多源数据融合里各源一致的值仍需对原始凭证抽查(共识值);③ 众包标注中标注者分歧大的条目往往含正确标签候选,不宜直接丢弃或取众;④ 金融风控中多模型一致看多时反向压力测试最值钱。

灵感四:工具访问不等于能力——协议与知识各占一半,缺一不可。 论文证据:同等环境访问的裸 agentic verifier 只恢复一半增益(+2.2 vs +4.4);去技能库全基准下降;Turbo 中 playbook(知识)与 RL(判断)单独都不及全局基线、组合 +14.7。 推广场景:① 给员工发工具权限 ≠ 培训完成,SOP(协议)+ 领域手册(知识)决定权限的兑现率;② 智能体产品设计中「接了多少 API」不是能力指标,调用编排与场景知识才是;③ 数据分析团队的上限往往卡在「分析协议」(先验假设→证伪→汇总)而非数据源数量。

灵感五:课程与被优化对象应共进化——反馈来源的选择本身就是可优化对象。 论文证据:固定课程在已修复处浪费 rollout;DRAW 率从 44% 自适应降到 20%;同等精度成本 4.6×下降;课程层可移植到 GEPA(+3.0)。 推广场景:① 机器人 RL 中按当前策略弱点动态生成训练场景(POET 思想的落地版);② 教育自适应练习系统按「学生当前错误模式」而非固定大纲推题;③ 系统测试中按「服务当前失败画像」优先选取回归场景,而非随机或全量;④ 个人学习里「学什么」应随「已掌握什么」重排,而不是按目录顺序。

灵感六:被浪费的差异性信息是廉价的监督信号——rollout 间的「不一致」本身值得被结构化利用。 论文证据:VeriHarness 用 claim 级熵定位检查目标;Turbo 用 contrastive 实例的源码 diff 定位「哪次编辑导致结果差异」——同一信息(差异)被两篇论文在两个环节回收。 推广场景:① 多次代码生成的 diff 自动定位「哪段最不确定」并插入针对性注释/测试;② 多模型集成中分歧样本自动路由到人工审核(主动学习);③ 仿真系统中多情景运行的差异输出定位敏感参数;④ 文档协作中多版本 diff 的「高频震荡段」标记为需要仲裁的争议点。

附录:三篇论文速查卡

Turbo HarnessActiveSaddlerVeriHarness
arXiv2609.403302610.009062610.00972
机构Rutgers + Red Hat + MIT-IBMPOSTECH + KAIST + MicrosoftCambridge + Google Cloud
核心数字SWE-bench V 38.4→54.4;成本 $0.310→$0.046;TB2.1 55.5% 全场最高GAIA2 59.8±1.0(+4.4);TB2 80.0(+7.5);成本 4.6×降修订 Flash +6.2 / Opus +6.4;空库进化 held-out +11.0;34% 共识错
消融关键RL+playbook 缺一不可(49.3/50.0→64.0);RL-9B 追平 Opus 编辑器臂粒度、优先级器、探索控制器三缺各 −3~−10;非 LLM 替代 −3.1/−4.2裸环境访问只恢复一半增益;分治上下文 −0.8;去技能全降
已知局限依赖外层搜索质量;编辑器训练需额外 rollout单一 rollouts 预算口径;TB2 任务少(40 test)std 偏大需 N=10 池(生成成本前置);不给单 rollout 评分;多轮验证有延迟
资源GitHub 开源承诺开源(aka.ms)代码+26k rollouts 全公开($100k+ 生成成本)

三篇合起来给「Harness 优化」补上的,不只是三个新方法,而是一个更完整的问题地图:优化一个系统时,除了「怎么更新它」(主路线已拥挤),还有「更新作用于什么粒度」(Turbo)、「用什么数据驱动更新」(ActiveSaddler)、「谁来确认更新与产出是对的」(VeriHarness)。三条轴各自还有大量空位——实例编辑器的跨域迁移、课程策略的可学习化、验证技能的跨任务泛化——但地图本身,已经是这三篇论文留给后续工作最值钱的东西。