CodexQA

行业与实践研究与基准测试

维护基准,挡住 Agent 白拿通过

CodexQA 团队阅读约 30 分钟

Scale AI 提出过程验证:审计通过轨迹,把有证据的奖励破解和验证器弱点分开,并定位可利用表面再修复。在 29 个队列、3,810 条通过轨迹上,SWEBench Pro V1.0 的违规率从 Opus 4.7 的 24% 升到 Fable 5 的 73%,又在 Fable 5.1 与 GPT-6 Astra 上回落。只挡住一条已记录利用并不够,必须回放并重新评测。

本文目录

维护基准,挡住越来越强的 Agent 白拿通过:检测与修复

Weijun Luo、Kelvin Luu、Xinyi Liu、Guangze Luo、Miguel Romero Calvo、Soham Dan、Daniel Yue Zhang、Ying Liu、Mohamed Elfeki

Scale AI。{weijun.luo, kelvin.luu, mohamed.elfeki}@scale.com

###### 摘要

智能体基准指导模型选择和训练。然而,一个智能体可以在没有展示出预期能力的情况下通过一项任务。这类结果构成白拿的通过(unearned passes),它们在全部通过中所占的比例定义了完整性缺口(integrity gap)。随着智能体变强,曾经看似无害的基准表面会变得可利用,于是基准有效性变成一个持续的维护问题。我们引入一个过程验证框架:它审计通过的轨迹,把有证据的奖励破解和验证器弱点区分开,并定位可利用的表面以便修复。在来自 29 个模型–基准队列的 3,810 条通过轨迹上,已确认的违规往往随模型代际上升,但并非单调。在 SWEBench Pro V1.0 上,匹配任务的已确认违规率在 Opus 4.7 与 Fable 5 之间从 24% 升到 73%;其后的队列降到 Fable 5.1 的 11% 和 GPT-6 Astra 的 0%。这些比较是描述性的:配置没有被归一化,而且最新的模型也通过了更少的可利用任务。违规集中在一小套反复出现的表面上,尤其是通过 git 历史意外访问参考解。跨越两个基准的三则修复案例研究表明,为什么挡住一条已记录的利用是不够的:同一份受保护信息仍可能从另一条路径到达。因此,我们把最小补丁与利用回放、以及新的智能体评测结合起来,并按原来的标准审计新的通过。针对最终补丁,没有任何一次被评估的尝试到达受保护通道,而且补丁之后的每一次通过都被判定为合法。基准完整性需要持续维护:审计通过行为,修复使之成为可能的表面,并重新评估利用通道是否关闭、以及合法求解是否仍然可行。

检测定位修复流程

图 1:检测、定位、归因与修复工作流。通过的轨迹被分为合法、白拿、以及白拿违规。违规要求有故意的、与评分相关的利用证据;仅有白拿的通过并不构成违规。已确认的违规被映射到使之成为可能的表面。修复把已识别的通道和用来到达它的地址分开,在有效控制表面上施加最小的确定性编辑,并通过重建任务、回放其已记录的利用来验证关闭,回放时只改变那一个控制。打过补丁的任务随后以 pass@$k$ 现场重跑,并用同一条流水线重新评判,作为普通输入回到检测(虚线)。闭环由虚线返回完成:一个打过补丁的任务,只有在定义原违规的那一标准下被再次评判之后,才被接受。灰色:确定性;绿色:大语言模型(LLM)评判;蓝色:修复。

1 引言

智能体基准越来越用来识别更强的模型,并在训练期间塑造行为。它们的价值取决于:一个通过分数是否反映了预期任务的成功完成。大多数基准验证器评估的是可观察的结局,例如预期文件是否存在、测试是否通过、或指定条件是否满足。然而,它们并不反映智能体是否通过一个可接受的过程到达了那个结局。这一区别为智能体系统制造了一种重要的失败模式:智能体可以在绕过预期任务的同时满足验证器,例如访问意料之外的 oracle 信息、利用评测基础设施,或把输出裁剪到评分器的弱点上。验证器也可能接受根本就是错的或不完整的工作。我们把这类看似成功的结局称为白拿的通过。当这些结局影响排行榜、模型选择或强化学习奖励时,基准分数奖励的可能是对评测的利用,而不是评测本来要度量的能力 [1, 2, 3, 4]。智能体基准分数是否在度量它们意图度量的能力,已经成为一个活跃的关切 [5, 6, 7],奖励破解被认定为一个重要机制 [8]。

仅有结局验证,不能可靠地区分这些情形。第一,程序化验证器必然受限于它们所编码的条件,因此会漏掉它们并未被设计来检测的捷径。第二,语言模型评分器拓宽了可以被评估的行为范围,但它们引入额外的局限,包括不一致,以及倾向于给出白拿的分数 [9]。更根本的是,越来越强的智能体可能发现在基准被创建时无足轻重的可利用机会。因此,基准有效性不一定是一个固定属性。随着智能体变得更强,先前良性的基准表面可能变得可利用。于是,检测白拿的通过只是问题的一部分。一个可信的评测系统还必须识别使利用成为可能的表面,以便随后修复。从这个视角看,基准完整性变成一个持续的维护问题。

针对这个问题,有三个方向的工作。第一个方向事后审计已记录的轨迹。Arx et al. [10] 报告,对 o3 而言,RE-Bench 上的奖励破解是 30.4%,而 HCAST 上是 0.7%,并提示评分函数的可见性可能是这一差距的贡献因素之一;Cursor 审计了 731 条 Opus-4.8-Max 轨迹,审计者对验证器结局是盲的,发现 57% 有上游查找、9% 有 git 历史挖掘 [3]。Cursor 还封住 git 和网络访问,并通过基准分数的变化来度量效果,而我们重新审计补丁之后的轨迹,并把「一条已记录路径的关闭」与「底层信息通道的关闭」区分开。Reward-Hacking Benchmark 把一套分类法与一个自动分类器配对 [11],AgentProcessBench 同样评估步骤级的过程质量,而不是只依赖最终结局 [12]。AgentLens 研究「幸运通过」,即通过的轨迹表现出弱的或低效的过程 [13];这并不等同于本工作中的 UNEARNED 类别,尽管由验证不足或不完整实现造成的幸运通过,在我们的框架下也可能算作白拿。Delphik 的 Coding Index 审计同样分析已记录轨迹,并把利用尝试与承重案例区分开 [14],而且按利用通道和相应防御来组织失败。我们工作中多出来的一步,是把已确认的失败带进一个封闭的修复环:定位有效控制表面,施加封条,回放已记录的利用,然后重新评估新的轨迹。

这些研究促使我们把重点放在:把轨迹级判断连接到有针对性的修复,并通过新的评测来验证那些修复。第二个方向构建的任务,其设计使利用可被度量:ImpossibleBench 构造任务变体,使预期规格和测试不能同时被满足,于是一次通过必然是在利用评测 [15];SpecBench 度量可见测试套件与留出测试套件之间的差距 [16];EvilGenie 在编程任务中比较奖励破解检测策略 [17];而 hack-verifiable 环境把环境装上仪器,使利用是可判定的 [18]。这些给出更干净的真值,但要求评测设置被设计成使利用可识别,因此并不直接处理那些已经在产生已发表数字的异构基准。第三个方向在利用出现之前审计基准:BenchJack 论证,事后监控本质上是反应式的,因为一个缺陷可能直到智能体利用它才被发现,并且它在十个基准中的九个上接近满分,却没有解决预期任务 [19];BenchGuard 自动审计基准中的不一致和缺陷 [20],Zhu et al. [21] 给出构建时的指导。扫描枚举的是一个基准允许什么;轨迹审计确立的是已部署模型实际上用了哪些机会,因而哪些表面影响了实现出来的分数。hacker-fixer 环 [22] 审计五个基准上的 1,968 个任务,发现仅从任务描述就有 16% 可被破解,并用一个 fixer 拒绝被发现的利用,同时用一个 solver 确认合法解仍然通过,把 KernelBench 的攻击成功率从 62% 降到 0%。Hacker-fixer 生成对抗性利用,并通过降低攻击成功率、同时保留合法 solver 的表现,来验证被加固的验证器 [22]。MiMo-V2.6 的近期工作部署一个专门的破解智能体,去探测准备好的强化学习环境中的残余泄漏:它检查已知的利用路径,并搜索先前未见的路径,迭代地改进清理和访问限制 [23]。类似地,DeepSeek 的 DSec 报告,生产中的强化学习智能体会通过意料之外的环境路径寻找答案 [24];他们用文件与套接字访问控制、以及任务特定的网络策略来缓解这些行为,并强调随着模型演化要持续可观测和加固。把 Agents’ Last Exam 的 Linux CLI 任务移植到一个新评测框架的近期经验也表明,任务和验证器缺陷可能只在部署、重跑和轨迹检查期间才变得可见,这强化了需要把基准有效性当作持续维护问题,而不是一次性的构建属性 [25]。我们的区分性贡献,是一条从观察到的白拿通过到经验上得到验证的基准修复的闭环。从已记录的通过轨迹出发,我们把已确认的奖励破解和其他白拿通过区分开,定位使之成为可能的信息通道,并在修复之后用同一判断标准重新审计新的尝试。关键的是,我们把路径关闭与经验上的通道关闭区分开,并同时检验替代利用路径是否仍然存在、以及合法解是否仍然通过,其中新的尝试不会经由替代路径恢复受保护信息。我们的三则案例研究表明,为什么仅有回放是不够的,以及为什么修复还必须保留合法可解性。

在本工作中,我们发展一个过程验证框架。我们不只问智能体是否通过,还问验证器的接受是否反映了对预期任务的实质性解。如果没有,我们把这次表面通过分类为白拿;完整性缺口就是被如此分类的通过所占的份额。一次由分类法引导的确定性预扫描识别潜在可利用表面的证据,语言模型评判确定该轨迹是否构成白拿的通过,而一个确定性的定位步骤把每一次违规映射到它发生所经由的通道。如果证据另外确立了智能体通过一个不可接受的过程获得分数,我们就记录该机制;如果没有,这次通过仍然被计为白拿。因为无参考的评判可能过度给分 [9],裁决是保守的:通过默认是合法的,第二个评判挑战主要决定。

我们强调:

  • 每一次表面通过被标为合法、白拿、或白拿违规,违规要求有机制、意图和评分相关性的证据。这把有证据的利用和验证器不足分开,并指向不同的修复策略。
  • 每一次违规被映射到有效控制表面,把底层通道和用来到达它的特定路径区分开。
  • 我们展示一个补丁:它通过了回放,但受保护内容仍可通过替换到达,从而表明除了回放之外还需要新的评测。我们在三则案例研究中展示这一点,而不是在规模上展示。

在异构的智能体基准套件上,这一分析揭示两个主要模式。第一,奖励破解违规在若干相继的模型发布上增加,尽管该模式不是单调的,而且两个最近的发布急剧地扭转了它。第二,违规集中在少数反复出现的利用机制上,对意料之外的 oracle 信息的访问占了案例的很大一部分。这种集中可能使基准维护更可处理,而通道级定位为修复提供具体目标。第三个模式关乎框架而不是模型。跨代际,新到达的表面很大程度上被已经在使用的类别所容纳,而新加入的类别放进现有的裁决门里,并不需要新的门。因此框架是靠扩展而不是靠重构来生长的。这对维护很重要:流水线关于任何一代模型所产生的观察会过期,而产生它们的结构到目前为止被完整地往前携带。这些结果支持把基准看作被维护的评测系统、而不是静态测试的视角。过程验证识别一次通过的结局何时不再反映预期能力,定位则识别失败的来源。随着智能体能力和行为演化,评测基础设施暴露在新形式的压力下,而这种检测与定位为维护那些分数继续反映真实任务能力的基准,提供一个实用框架。

2 方法

我们定义分析中使用的术语。一条轨迹是一次智能体尝试所记录的行动与观察序列。一次表面通过是一条已知结局的轨迹,它从基准验证器获得满分,无论底层过程是否有效。所有分析都从已知的表面通过开始;轨迹级判断定义在表面通过轨迹上,而第 3 节的跨模型比较把这些判断聚合到匹配的、表面通过了的任务上;结局未知或失败的轨迹被排除。一次表面通过如果其解反映了任务的预期能力,就是合法的,否则就是白拿的。默认情况下,我们把每次通过视为合法,除非评判找到相反的证据。完整性缺口是表面通过中白拿者所占的份额。在这个缺口内部,我们报告奖励破解违规:评判认定为成功案例的白拿通过,其中模型利用一个基准表面或歪曲自己的工作以获得通过。其余的白拿通过,是那些没有足够证据表明智能体在破解的通过。

在我们的实验中,我们只评判已知的表面通过轨迹,因为关键问题是这次通过是合法的还是白拿的。每条轨迹经过三个阶段:对证据的确定性预扫描、语言模型评判的判断、以及标签的最终裁决,随后定位使任何违规成为可能的表面(图 1,上面几行)。首先,我们确定性地扫描轨迹,以标记潜在利用:git 历史、外部网络主机、或依赖评分器的文件。对与 git 相关的标记,我们还把命令的输出与提交相比较,以佐证智能体使用了该内容。预扫描的目标是用潜在信号引导接下来的评判,而且每一条通过轨迹都会被评判,无论哪些标记被触发。然后,一个主要的语言模型评判阅读轨迹,连同预扫描标记、验证器输出和提交,并赋予一个三元标签:合法、UNEARNED、以及 UNEARNED 违规。主要评判的标签随后把轨迹路由到第二个、方向相反的对抗性评判:合法通过被交给一个降级评判,它试图确立违规;白拿通过被交给一个升级评判,它检验所引用的证据是否成立。两个评判也不等价;降级者不看到主要裁决,而升级者既看到裁决也看到裁决背后的理由。因此裁决序列是:主要评判、对抗性的第二评判,以及在二者不一致时发出最终仲裁的跨模型升级。不一致并不常见,改变了 7.9% 的案例。

宽泛的白拿通过结局包括白拿和白拿违规两个标签。我们把一些白拿通过分类为奖励破解违规,它们满足下列三件事的直接轨迹证据:(i)机制——一次具体的评测绕过、操纵、或故意歪曲;(ii)意图——智能体明知地选择追求该机制,除非该行为内在就是欺骗性的;(iii)评分相关性——该机制影响了、或意图影响奖励评估路径或提交的答案。如果三者并非全部满足,这次通过仍然是白拿,但不是违规。

为了验证我们的流水线,两位作者独立标注了 39 条抽样轨迹。在二元情形(合法对白拿通过)中,他们在 34 个案例上一致(87.2%,$\kappa=0.25$,PABAK$=.74$);在三元情形中,他们在 31 个案例上一致(79.5%,$\kappa=0.54$,PABAK$=.69$)。三元标签是白拿–奖励破解、白拿–非奖励破解、以及合法。所有分歧都是有方向的;同一位标注者始终比另一位判得更严。在达成共识的 31 个案例上,评判流水线与人类三元裁决全部匹配。

#### 轨迹:

我们分析 29 个模型–基准队列中 3,810 条被评判的、已知表面通过的轨迹。这些轨迹来自保留下来的评测运行及其产物,覆盖 SWEBench Pro V1.0 [26]、MCP Atlas [27]、SWE Atlas TW [28]、Terminal Bench 2.1 [29] 和 Agents’ Last Exam(ALE)[30]。每个基准、每个模型所评估的任务数和轨迹数记录在表 S1 中。Harness 方面:SWEBench Pro V1.0 的 Anthropic 行用 Claude Code,OpenAI 行用 SWE-agent;SWE Atlas TW 的 Anthropic 行用 Claude Code,OpenAI 行用 Codex;Terminal-Bench 的 Anthropic 行用 Claude Code,OpenAI 行用 Codex [29];MCP-Atlas 的两个提供方都用 MCP-Atlas 专用 harness。网络访问条件依来源和 harness 而不同,所以我们保留所记录的队列配置,而不是把这些队列当作网络等价。每条轨迹是一次智能体尝试。一个队列可以包含对同一任务的多次尝试。

#### 修复:

仅有检测并不能恢复基准完整性。当一个任务允许白拿的表面通过时,我们识别使之成为可能的路径,给有效控制表面打补丁,并在复用之前重新验证该任务。如图 1 所示,我们把修复建立在可观察的产物上,包括轨迹、工具痕迹、提交和验证器输出,而不是智能体的解释。我们用检测器找到智能体发现白拿通过的底层原因,然后施加挡住该路径的最小确定性改动。为了避免改变预期任务或评分契约,我们通过重建任务并回放先前痕迹来验证每次修复。我们确认利用路径受到惩罚,而诚实的解,包括参考解,仍然有效并获得满分。最后,我们用新的 pass@$k$ 尝试,把打过补丁的任务重新跑过同一条评测流水线,并重新审计结果。如果一个补丁挡住了利用、但没有留下合法的表面通过,我们把该任务报告为结构上已封住、但尚未验证可以复用。

各代模型违规率

图 2:跨模型代际的违规率。(A)在被选中的通过任务($n$)中的已确认违规;误差条为 95% Wilson 区间。SWEBench Pro V1.0 在 73% 和 68% 处达到峰值,然后在最新队列降到 11% 和 0%。(B)在两个模型都通过的任务上,违规被分为仅较早者、仅较晚者、或两者都有。只要任何一次通过尝试违规,该任务就计入。队列配置和通过任务集合不同,因此这些是描述性比较。

3 跨模型代际的奖励破解

我们报告五个智能体基准套件上的发现:SWEBench Pro V1.0 [26]、MCP Atlas [27]、SWE Atlas TW [28]、Terminal Bench 2.1 [29] 和 Agents’ Last Exam(ALE)[30]。正文报告已确认的违规案例,而更宽的完整性缺口还包括缺乏足够故意利用证据的白拿(中性)通过。违规计数、比率和置信区间汇总在表 S1 和表 S2 中,相应的中性案例分析在表 S3 中。这些表合在一起提供完整的完整性缺口核算,而正文聚焦其更严格的奖励破解子集。图 2 中的每次比较都在一组提供方匹配的表面通过任务上评估:只有当每一个被展示的模型在该任务上都有已知的表面通过时,我们才考虑该任务。如果该任务中任何一次尝试被标为 VIOLATION,它就计为一次违规。因此,$n$ 表示匹配的表面通过任务,而不是全部被评判的通过。

在所记录的、并未按 git 历史或网络可达性归一化的队列配置下,在 GPT-6-Astra 和 Fable-5.1 发布之前,我们看到奖励破解违规率总体上随相继的模型发布而上升,尽管在时间上靠得很近的模型代之间,该模式并非严格单调。因为这些原始违规率也取决于单个任务和验证器所暴露的利用机会,我们把这些比率解读为发布代际趋势的描述性证据,而不是一个模型的内在属性。

最大的上升出现在 SWEBench Pro 1.0:Anthropic 从 Opus 4.7(24.49%)升到 Fable 5(73.47%),增加 49 个百分点($n=49$)。OpenAI 也从 GPT-5.1(1.92%)到 GPT-5.6-Sol(68.27%)增加 66 个百分点($n=104$)。这些趋势在大多数基准和领域上是一致的。类似地,Terminal-Bench 2.1 上 Anthropic 和 OpenAI 的违规率在这些比较中随发布的新近程度上升(Opus 4.8:1.49% $\rightarrow$ Opus 5:4.48%;Fable 5:1.49% $\rightarrow$ Fable 5.1:2.99%;GPT-5.5:1.28% $\rightarrow$ GPT-5.6-Sol:12.82%)。合在一起,这些语境内部的比较与奖励破解违规中的描述性发布代际模式相一致。

然而,GPT-6-Astra 和 Fable-5.1 的发布推翻了违规率单调上升的这一趋势:最大的下降也出现在 SWEBench Pro 1.0:Anthropic 从 Fable 5 的 36 次违规(73.47%,$n=49$)降到 Fable 5.1 的 4 次违规(11.11%,$n=36$)。具体地说,Fable 5.1 比 Fable-5 少 13 次表面通过,其中 12 次在 Fable-5 的表面通过中被检测为违规。令人惊讶的是,OpenAI 从 GPT-5.6-Sol 的 71 次违规(68.27%,$n=104$)降到 GPT-6-Astra 的 0 次违规(0%,$n=96$)。

因为比率是在每个模型所通过的任务上计算的,一个停止利用某任务的模型并不会在那里产生一次合法通过,而是使该任务失败,从而把它从分母中移除。把 Fable 5 限制到 Fable 5.1 也通过的那 36 个任务,得到 24 个违规任务(66.7%),对照 11.1%,因此选择大约解释了这次下降中的 7 个百分点,下降并不是它的假象。OpenAI 这一对受影响更小:71 个违规任务消失,而通过的任务只少了 8 个。类似地,在 Terminal Bench 2.1 上,OpenAI 从 GPT-5.6-Sol 的 10 次违规(12.82%,$n=78$)降到 GPT-6-Astra 的 0 次违规(0%,$n=68$)。请注意 GPT-6-Astra 比 GPT-5.6-Sol 少 10 次表面通过,其中 4 次在 GPT-5.6-Sol 的表面通过中被检测为违规。我们进一步检查了 Fable 5.1 和 GPT-6-Astra 大幅下降之中的违规类别。如图 S1 所示,下降的大部分位于「GIT_EXPLOIT」这一违规类别:在我们研究的 5 个基准上,Anthropic 的「GIT_EXPLOIT」违规从 Fable-5 的 33 次降到 Fable-5.1 的 7 次,而 OpenAI 从 GPT-5.6-Sol 的 84 次降到 GPT-6-Astra 的 1 次。这与这两个最新发布在这些所记录配置下减少寻找 oracle 的行为相一致。我们不把它归因于更好的对齐:oracle 访问取决于在给定队列中 git 历史和网络出站是否可达,我们按所记录的方式保留这一点而不是归一化,因此配置变化也可能是一个促成原因。中性案例的类似对照分析见图 S2 和图 S3。

此外,图 2 的面板 B 深入看匹配比较中的违规,看它是仅来自较早的模型、仅来自较晚的模型、还是两者都有。在大多数情况下,仅较晚者的违规超过仅较早者,而且常常相差一个数量级:Opus 4.7 $\rightarrow$ Fable 5 是 1 对 25,GPT-5.1 $\rightarrow$ GPT-5.6-Sol 是 1 对 70。更新的模型并不只是更可靠地利用同样的表面,也到达较早者没有到达的新表面。

白拿通过与违规案例

图 3:一次白拿违规并不总是确立奖励破解。全部四个例子都在没有满足预期要求的情况下获得了基准分数。上:已确认的违规复制一个上游测试文件(SWE Atlas TW),或把输出调到一个泄漏的答案前缀(Terminal-Bench 2.1)。下:其他白拿通过声称检索内容中并不存在的事实(MCP Atlas),或把测试放在错误的文件里(SWE Atlas TW)。后两者揭示验证器弱点,但没有足够的故意、与评分相关的利用证据。

4 智能体利用什么:类别与案例

奖励破解违规跨越若干反复出现的类别。图 3 给出具体的违规和白拿通过例子。所绘制队列上的类别分布见附录图 S1;附录 B 列出其余精选例子。

两个案例说明奖励破解的不同机制。在 SWE Atlas 的 reference_transcription 案例中,轨迹记录「智能体明确地从一条公开的原始内容主机路径取来了那个测试文件的上游实现」,并请求目标的「逐字」源码。响应暴露了具体的解的细节,包括测试结构和期望值,这些随后出现在智能体的实现里。检索目标标识出不可接受的 oracle,「逐字」请求确立的是故意使用而不是偶然接触,而被复现的细节把检索到的内容连接到被评分的产物。

Terminal-Bench 2.1 的 hardcode_output 案例使用另一种机制。用户披露了正确答案的前六个字符。在查看图像之后,智能体选择用一个发明出来的盐常数计算一条 SHA 链,而它恰好产生带那个前缀的哈希。这个常数没有理由,其输出精确匹配给智能体的线索。合在一起读,这些细节表明输出是被调到泄漏的前缀上,而不是从预期计算导出的。因此,提供可利用信号的是部分验证器反馈,而不是外部 oracle。

下面两个案例是验证器假阳性:通过是白拿的,但证据表明验证器只是能力不足。对第一个案例,SWE Atlas TW 的 scope_mismatch 把功能成功和评分细则遵从分开。智能体在一个名为 test_add_header.py 的新文件里实现了全部七个被要求的测试,聚焦的测试套件报告七个测试通过,但评分细则要求的是已有的 test_email_utils.py 文件。因此证据确立的是文件放置不匹配,而不是一次造成通过的、有效的、与评分相关的绕过。它识别出一个任务规格或验证器对齐问题,而不把它计为奖励破解。

MCP Atlas 中另一次白拿通过 process_shortcut 包含另一种直接证据。页面抓取只返回了引言片段 “Among the works of art ever created by human hands…”,没有列表条目,但智能体断言 “This is #17 on the Artistro list,”,声称 “The article states it directly,”,宣布 “I’ve got everything verified now,”,并加上没有支持的地点 “Gallery 619.”。检索到的文本与这些自信主张之间的不匹配,支持跳过验证以及很可能的编造。然而,它并不确立一个产生奖励的具体不可接受机制:轨迹并没有表明这些主张针对一个已知的评分弱点,或以其他方式造成了表面通过。

5 修复:定位可破解的表面并把它封住

把环闭上,会改变能够观察到的东西。按惯例,当已记录的利用对重建后的任务不再成功、而且一个参考解仍然通过时,一次修复就被接受。两项检查都是在隔离的、打过补丁的产物上做的,而且两者都可以成功,却并没有确立基准完整性已经恢复:回放确立的是一条已记录路径被关闭,而不是受保护信息不能经由另一条路径到达;一个通过的参考解确立的是一个已知有效解仍然得到分数,而不是一旦捷径被移除,智能体仍然能发现一个合法解。在我们的程序中,当打过补丁的任务被送回检测流水线、并在同一裁决标准下被重新评判时,这些缺口变得可见,如图 1 中的虚线返回所示。

因此我们区分两个性质。路径关闭(Route closure)在下列情况下成立:对重建后的任务回放一次已记录的利用,不再取回受保护信息。经验通道关闭(Empirical channel closure)在下列情况下成立:在一组指定的智能体、harness 和评测预算下,没有任何一次新的被评估尝试经由已记录路径或新评测期间遇到的任何替代路径到达受保护信息。后者是相对于该评测预算的经验主张,而不是不可达性的证明,而且它并不由路径关闭所蕴含。下面三个案例说明相应的要求:修复必须作用在运行器所强制的一个控制点上,回放检验路径关闭,新的评测检验回放所不能检验的东西。

修复必须改运行环境

图 4:修复必须改变智能体实际使用的环境。在这个 SWEBench Pro V1.0 任务中,智能体从 git 历史复制了一个上游修复。上:人类和自动补丁在被执行的环境中移除该访问。下:无论哪种修复之后,新的运行都产生合法通过,而且回放不再取回该修复。

识别一次白拿通过背后的基准表面只是第一步。我们把三则案例研究走完检测、修复和再评估。在图 4 中,智能体通过取回 git 历史中暴露的一个上游修复,解决了一个 SWEBench Pro V1.0 任务。编辑提示或评分器并不能修好这个任务;需要加固的是 harness 本身。人类撰写的修复和自动修复都移除了对 git 历史中金补丁的访问。回放已记录的 git show 动作会失败,而新的运行产生合法通过。这确立第一个要求:修复必须作用在运行器实际强制的一个控制点上。任务配置还在一个 harness 从不执行的字段里暴露了金提交,编辑那个字段不会改变任何东西。

堵住捷径后仍可求解

图 5:挡住一条捷径使机器人重建更难,但仍然可解。在这个 Agents’ Last Exam(ALE)任务中,三个模型取回了一份上游机器人描述。上:补丁挡住外部网络访问。下:每个模型三次新的尝试中,Fable 5 产生一次合法通过;所有其他尝试失败。没有任何一次被回放或新的尝试取回参考内容。

图 5 检验修复之后任务是否仍然可解。最初,三次尝试通过取回上游的一份描述完成了任务,这是明显的完整性缺口。因为三个模型经由不同的仓库到达同一内容,补丁必须挡住出站通道,而不是个别地址。修复补丁挡住外部网络访问以加固环境;没有任何一次被回放或新的尝试能够取回参考内容。在每个模型三次新的尝试中,只有 Fable 5 通过了一次。移除可利用表面使任务更难,但仍然可以诚实地求解。

我们也发现,回放已记录的利用本身并不充分。一个 SWEBench Pro v1.0 任务的原始判断有争议,但它的轨迹仍然记录了对受保护提交的一次 git show,并促使我们做一次预防性的路径关闭检查。较早的一版 git_oracle_seal 挡住了那条已记录的 git 路径,却在镜像的别处留下了被扣留测试的一份可读副本。因此原始回放看起来是关闭的,尽管受保护内容仍可通过一条新路径获得。一次现场重跑暴露了这种替换:在修复之前,七次尝试中有一次读到了受保护内容;在额外副本被移除之后,跨两个模型的一次新的 pass@$4$ 运行产生一次合法表面通过,并且没有通道访问。路径关闭成立,而经验通道关闭不成立,只有新的运行把它们分开。

合在一起,这些案例构成一个递进。修复必须首先作用在运行器所强制的一个控制点上。然后,回放重建后的任务,检验已记录路径是否关闭。新的评测检验回放所不能检验的:预期的求解路径是否仍然可用,以及同一信息是否仍可通过另一条路径到达。证据限于两个基准上的三个任务。

6 结论

智能体的通过分数不必反映预期能力。我们提出一个过程验证框架,用来审计智能体基准中通过的轨迹,并把有证据的奖励破解和其他白拿通过分开。完整性缺口,即白拿的通过所占的份额,使这一差异变得明确。在跨越五个套件的 29 个模型–基准队列、3,810 条通过轨迹上,违规率常常跨模型代际上升,但并非单调。在 SWEBench Pro V1.0 上,Opus 4.7 与 Fable 5 在匹配任务上从 24% 升到 73%,而其后的队列降到 Fable 5.1 的 11% 和 GPT-6 Astra 的 0%。违规集中在反复出现的表面上,尤其是对参考解的意外访问。这些比率描述的是所记录的配置,而不是模型的内在倾向:harness 和访问条件不同,而且最新的模型也通过更少的可利用任务。我们也展示修复组件,并通过两个基准上的三则概念验证案例研究确立关键的维护教训:基准修复不能只靠检查补丁来验证,因为要紧的性质不是一条路径是否被移除,而是它所携带的信息是否仍然可达,而可达性是环境按运行器呈现给智能体的样子的性质,不是维护者所编辑的那个产物的性质。因此,回放之后必须跟着在同一审计标准下的新智能体评测,同时检验替代利用路径和合法可解性。在最终补丁上,没有任何一次被评估的尝试到达受保护通道,而且补丁之后的每一次通过都被判定为合法。这些是在所测试的智能体和预算之内的概念验证结果,不是一般关闭的保证。随着智能体变化,基准有效性需要持续维护。审计、定位、修复和新的评测构成一个环。把完整性缺口和基准分数一起报告,将有助于把被奖励的捷径和被展示的能力区分开。

参考文献

  • [1] D. Manheim and S. Garrabrant (2018). 对古德哈特定律变体的分类。arXiv:1803.04585。引用:§1。
  • [2] C. Denison, M. MacDiarmid, F. Barez, D. Duvenaud, S. Kravec, S. Marks, N. Schiefer, R. Soklaski, A. Tamkin, J. Kaplan, B. Shlegeris, S. R. Bowman, E. Perez, and E. Hubinger (2024). 从谄媚到诡计:研究大语言模型中的奖励篡改。arXiv:2406.10162。引用:附录 B,§1。
  • [3] N. Jain (2026). 奖励破解正在淹没模型智能的增益。Cursor 博客,https://cursor.com/blog/reward-hacking-coding-benchmarks。引用:§1。
  • [4] M. MacDiarmid, B. Wright, J. Uesato, J. Benton, J. Kutasov, S. Price, N. Bouscal, S. Bowman, T. Bricken, A. Cloud, C. Denison, J. Gasteiger, R. Greenblatt, J. Leike, J. Lindsey, V. Mikulik, E. Perez, A. Rodrigues, D. Thomas, A. Webson, D. Ziegler, and E. Hubinger (2025). 生产强化学习中由奖励破解产生的自然涌现失配。arXiv:2511.18397。引用:§1。
  • [5] S. Kapoor, B. Stroebl, Z. S. Siegel, N. Nadgir, and A. Narayanan (2024). 要紧的 AI 智能体。arXiv:2407.01502。引用:附录 B,§1。
  • [6] R. Aleithan, H. Xue, M. M. Mohajer, E. Nnorom, G. Uddin, and S. Wang (2024). SWE-bench+:增强的 LLM 编码基准。arXiv:2410.06992。引用:附录 B,§1。
  • [7] J. Shao, H. Chen, W. Zhang, M. Pan, and B. Luo (2026). 智能体基准度量的是能力吗?智能体 AI 时代的协议有效性。arXiv:2607.22368。引用:§1。
  • [8] X. Wang 等 (2026). 大模型时代的奖励破解:机制、涌现失配与挑战。arXiv:2604.13602。引用:§1。
  • [9] C. Kranti and S. Vajjala (2026). 没有参考答案时,LLM 评判可能过于慷慨。arXiv:2607.12885。引用:附录 B,§1。
  • [10] S. V. Arx, L. Chan, and E. Barnes (2025). 近期前沿模型正在奖励破解。METR 博客,https://metr.org/blog/2025-06-05-recent-reward-hacking/。引用:§1。
  • [11] K. Thaman (2026). 奖励破解基准:用工具使用度量 LLM 智能体中的利用。arXiv:2605.02964。引用:附录 B,§1。
  • [12] S. Fan, X. Ye, Y. Huo, Z. Chen, Y. Guo, S. Yang, W. Yang, S. Ye, J. Chen, H. Chen, X. Cong, and Y. Lin (2026). AgentProcessBench:诊断使用工具的智能体的步骤级过程质量。arXiv:2603.14465。引用:附录 B,§1。
  • [13] P. Sahoo, G. Mittal, X. Li, S. Ma, B. Steenhoek, P. Lin, and Y. Hu (2026). AgentLens:揭示 SWE-agent 评测中的幸运通过问题。arXiv:2605.12925。引用:§1。
  • [14] (2026). 奖励破解与干净编码指数。https://coding-index.posttrain.dev/。引用:§1。
  • [15] Z. Zhong, A. Raghunathan, and N. Carlini (2025). ImpossibleBench:度量 LLM 利用测试用例的倾向。arXiv:2510.20270。引用:附录 B,§1。
  • [16] B. Zhao, D. Srikanth, Y. Wu, and Z. Jiang (2026). SpecBench:度量长程编码智能体中的奖励破解。arXiv:2605.21384。引用:附录 B,§1。
  • [17] J. Gabor, J. Lynch, and J. Rosenfeld (2025). EvilGenie:一个奖励破解基准。arXiv:2511.21654。引用:§1。
  • [18] A. Roth, A. Samanta, M. Halevy, Y. Levine, and Y. Efroni (2026). 可验证破解的环境:走向规模化评估奖励破解。arXiv:2605.20744。引用:附录 B,§1。
  • [19] H. Wang, H. Li, Q. Mang, A. Cheung, K. Sen, and D. Song (2026). 仿生人会梦见破游戏吗?用 BenchJack 系统审计 AI 智能体基准。arXiv:2605.12673。引用:§1。
  • [20] X. Tu, T. Wang, Yingzhou, Lu, K. Huang, Y. Qu, and S. Mostafavi (2026). BenchGuard:谁来守卫基准?LLM 智能体基准的自动审计。arXiv:2604.24955。引用:附录 B,§1。
  • [21] Y. Zhu 等 (2025). 为构建严格的智能体基准确立最佳实践。arXiv:2507.02825。引用:附录 B,§1。
  • [22] Z. Zhong, I. Segal, I. Bercovich, S. Saxena, K. Zhang, and A. Raghunathan (2026). 用对抗性的 hacker-fixer 环加固智能体基准。arXiv:2606.08960。引用:§1。
  • [23] Xiaomi MiMo Team (2026). MiMo-v2.6-pro-rl。https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Pro-RL。引用:§1。
  • [24] J. Huang 等 (2026). DeepSeek elastic compute(DSec):用于规模化有效智能体训练的沙箱基础设施。arXiv:2609.22978。引用:§1。
  • [25] Sankalp (2026). 把 Agents’ Last Exam 的 Linux CLI 子集移植到 verifiers v1。https://sankalp.bearblog.dev/porting-ale-linux-cli-i-looked-at-the-data-of-a-frontier-benchmark-and-found-some-issues/。引用:§1。
  • [26] X. Deng 等 (2025). SWE-bench Pro:AI 智能体能解决长程软件工程任务吗?arXiv:2509.16941。引用:§2,§3。
  • [27] C. Bandi 等 (2026). MCP-Atlas:用真实 MCP 服务器做工具使用能力的大规模基准。arXiv:2602.00933。引用:§2,§3。
  • [28] M. Raghavendra 等 (2026). SWE Atlas:在问题修复之外给编码智能体做基准。arXiv:2605.08366。引用:§2,§3。
  • [29] M. A. Merrill 等 (2026). Terminal-Bench:在困难、现实的命令行界面任务上给智能体做基准。arXiv:2601.11868。引用:§2,§3。
  • [30] Y. Sun 等 (2026). Agents’ Last Exam。arXiv:2606.05405。引用:§2,§3。
  • [31] J. Sedoc, B. Zhang, and D. Foster (2026). 信任但要核验:用于选择性 LLM 预测的证明者–验证者审议。arXiv:2605.25133。引用:附录 B。
  • [32] M. Cemri 等 (2026). 奇妙的自适应分类法以及如何使用它们。arXiv:2607.16387。引用:附录 B。
  • [33] Anthropic Alignment Science (2026). 训练一个失配的奖励寻求者。https://alignment.anthropic.com/2026/reward-seeker/。引用:附录 B。
  • [34] Y. Yao 等 (2026). Harness-Bench:在现实智能体工作流中度量跨模型的 harness 效应。arXiv:2605.27922。引用:附录 B。
  • [35] P. S. Prasad 等 (2026). BAITBENCH:用种在机器学习任务里的可选捷径度量智能体奖励破解。arXiv:2608.30724。引用:附录 B。
  • [36] DataCurve (2026). DeepSWE 跨基准分析数据。https://deepswe.datacurve.ai/data/v1?source=cross-benchmark-analysis。引用:§B.2。
违规类别分布

图 S1:图 2 所绘制队列上,已确认违规类别赋值的分布。一条轨迹可以贡献不止一个类别赋值,因此这些计数不必等于图 2 中任务级的违规计数。

中性裁决对照

图 S2:图 2 的中性裁决对照:同一批队列、分母和交集,计数的是中性裁决而不是已确认违规。中性标记一次表面通过:评判认为过程不合法,但没有足够证据把它升级为违规或特定的博弈,因此这些比率度量的是违规率所排除的剩余完整性缺口。(A)每个提供方共享的表面通过集合上的中性裁决率。(B)在同一共享集合上,跨模型代际的中性重叠。在全部 29 个队列中,91 个任务带有中性裁决。

中性类别分布

图 S3:图 S1 的中性裁决对照:图 S2 所绘制队列上中性类别赋值的分布,使用评判的中性词汇(_VALID_NEUTRAL_TYPES)。所示 84 个赋值是图 S2 中 91 个中性任务的已分类子集。

第二则SWEBench修复对照

图 S4:第二则 SWEBench Pro V1.0 案例研究,ansible-5e88cd99,比较原始任务、人类专家补丁和 git_oracle_seal 自动补丁。原始包让金提交在交付的容器里可达,并允许出站;两个打过补丁的版本通过使用或构建一个预先修剪的镜像来移除这些路径,该镜像拒绝任何残留的金提交。

觉得有用,转给同事

微信扫码

用微信扫一扫,在手机上打开后即可转发。

用 RSS 订阅

提交勘误