谷歌 VeriHarness:共识 34% 是错的,同模型核验平均抬 6.2 分

VeriHarness: Scaling Agentic Verification for Long-Horizon Tasks

Caiqi Zhang, Rujun Han, Zifeng Wang, Zoey CuiZhu, Nigel Collier, Tomas Pfister, Chen-Yu Lee

cs.AI, cs.MA

2026-10-01

VeriHarness 把同一生成模型做成带工作区与证据工具的核验 harness:分歧对证据、共识找漏项。改稿后 Flash 五基准平均比单次高 6.2 分,Opus 高 6.4 分。

这篇在解决什么

长程 agent 交的是报告、表格、补丁。对错没法像代码那样跑单测,也没法丢给证明检查器。Frontier 模型自己已经是最强可用模型,测试时没有更强 judge、没有标准答案、没有评分量表。核验只能用同一套模型和工具。

反复采样能给出 N 条 rollout,即一次完整尝试,里面常有互补的正确主张。多数投票把出现最多的答案当对;LLM-as-a-judge 只读这些 rollout,碰不到工作区里的源文件和约束。

Google Cloud AI Research 和剑桥在 Claude Opus 4.8 的 APEX-Agents 十次采样池上切到 claim 级:917 条共识主张里 34% 被量表判错;775 条有分歧的主张里,74% 至少有一个正确候选,出现最多的那个只对了 47%。共识会把共同错误锁死,分歧里经常藏着正确答案。

方法

VeriHarness 是训练免费、可插拔的核验 harness,即套在冻结模型外面的工作区、工具和协议。生成器和核验器共用底层模型,核验侧多了工作区、证据工具、协议和 skill 库。工作区把产物、最终状态、动作轨迹和任务环境暴露成文件,协议不绑产物类型。

两件检查拆进两个独立上下文。分歧解决器(disagreement resolver)找出打架主张,用工作区证据淘汰被证伪的候选;选检查按直觉上的信息增益,不真算公式。证据把池里候选全打掉时,只有证据能确立新值才写入,否则标未决。共识挑战器(consensus challenger)没有对立候选,先假设共识可能错在哪再找反证:重算数值、核对读法、对照任务描述找所有 rollout 都漏掉的要求。遗漏必须先做成检查目标,因为它不出现在任何产物里。

Skill 写可复用失败模式和检查步骤。工具负责怎么查,skill 负责该查什么。两边证据交给全新上下文裁决,选出缺陷最少的底稿并给出改稿计划。两个调查并进同一上下文会掉 0.8 分。

草稿来源给出 1 亿美元,终稿给出 1.2 亿,三条都标 USD。解决器采终稿,挑战器改币种为 EUR,裁决合成改稿。

结果

五个长程工作区基准,每个任务冻住 N=10 条 rollout,生成器和核验器都是同一模型。评分器用各基准自带的,核验器碰不到。

Gemini 3.5 Flash 单次平均 47.2。多数投票 47.5,best-of-N judge 47.3,两两淘汰赛 49.1,先前最好的 LLM-as-a-Verifier 49.5。给同样工作区和工具、但不给协议和 skill 的 agentic verifier 是 49.4,大约只拿回选择增益的一半。VeriHarness 只做选择到 51.6(+4.4),按证据改一稿到 53.4(+6.2)。Claude Opus 4.8 单次 49.6,选择 53.7(+4.1),改稿 56.1(+6.4)。

方法平均APEXWSBWorkBuddySB-2JobBench
Flash 单次47.248.156.573.227.330.9
Flash 改稿53.454.865.478.232.236.2
Opus 单次49.635.860.579.030.142.8
Opus 改稿56.147.567.383.734.347.6

Opus 在 APEX-Agents 上从 35.8 到 47.5(+11.7),是改稿增益最大的一格。不查证据、只把池聚合成新产物,Flash 平均 49.9、Opus 52.3,都低于完整 harness。选择上界(按评分器取池内最高分)Flash 62.7、Opus 63.1。协议塞进 Gemini CLI、Claude Code、Codex 后,Flash 上各基准与自研实现差不超过 2 分;Opus 在 JobBench 上掉回单次水平。

Skill 从失败反馈里长:模型、协议、工具固定,用开发集失败加逐条评分器反馈进化 skill 库。从空库进化,APEX-Agents held-out 从 38.6 到 49.6(+11.0),SpreadsheetBench 2 从 32.8 到 38.5(+5.7),两处都超过冻结的人工库(45.3 和 35.7)。从人工库再进化,相对人工库再加 6.8 和 3.7。

消融上,Opus 解决器单独把平均从 49.6 拉到 54.3,挑战器单独到 52.6,合在一起 56.1。选择增益几乎全来自有分歧的池:APEX-Agents 上 154 个全票池只比池均值高 0.6,262 个有分歧的池高 6.1。挑战器从未推翻全票正确的主张;放过的共同错误里约 70% 查到了正确的中间结果,错在后面一步。

为什么重要

这是同一模型、同一工具下的测试时核验,不需要更强 judge,也不需要微调。已经在跑长程工作区 agent 的人,可以把它当成一层核验协议,插在现有 CLI 上。

增益是渐进的。Flash 平均 +6.2、Opus +6.4,选择上界还在 62 到 63。多数投票几乎不动针。多出来的分来自对着工作区查,以及协议加 skill 把该查什么规定清楚。只给环境访问,大约只能拿到选择增益的一半。

约 26,000 条 rollout 会公开,覆盖五基准、两模型,制作成本超过 10 万美元。核验记录把主张、检查、证据、裁决绑在一起,论文把它标成以后监督生成器的 claim 级信号。

局限与存疑

论文自己写了四条:每任务 10 条 rollout 的生成成本、核验多轮调查的墙钟、不给 rollout 打标量分、研究锁在同模型所以分不清 harness 增益和模型能力差。目标场景是报告、workbook、补丁,质量优先于响应时间。

选择增益在全票池上几乎是 0。共同错误的盲区要靠 skill 里的先验去补,而 skill 进化用了开发集上的评分器反馈,进化阶段并不是零监督。held-out 分数和全量分数不是同一套任务。Opus 塞进现有 CLI 时 JobBench 掉回单次,协议可迁移和迁了还能涨分要分开看。挑战器从未误杀全票正确的主张,这是安全,也说明它偏保守。

术语

原文与代码

社区讨论

相关论文

全部论文解读