harness_evolve/notes/ref30_paperbench.md

PaperBench: Evaluating AI's Ability to Replicate AI Research

一句话总结:OpenAI 造的一个"让 AI agent 从零复现 20 篇 ICML 2024 顶会论文"的评测基准——不给作者代码、只给论文,让 agent 自己写整个代码库、跑实验、出结果;用与原作者共同打磨的层级化 rubric(8316 个可打分叶子节点)+ LLM 评委自动打分;最强 agent(Claude 3.5 Sonnet)只拿到 21.0%,且在子集上仍输给 ML 博士的人类基线(41.4% vs 26.6%)。


TL;DR 速览

tags: #benchmark #AI科研复现 #long-horizon-agent #LLM-as-judge #rubric评分 #ML-R&D #capability-elicitation #AI安全评测

related: [[ref31_re-bench]](同为 OpenAI/METR 系的 ML R&D agent 基准,任务更自包含、有 scoring function)· [[ref33_scienceagentbench]](数据驱动科学 agent 基准)· [[ref11_scientistone]](AI Scientist 谱系:不止复现、还要产出研究)· [[ref29_early-science-acceleration-gpt5]](前沿模型加速科研的实证)· [[ref09_meta-harness]](scaffold/harness 对 agent 分数的巨大影响,正是本文 BasicAgent vs IterativeAgent 的注脚)· [[ref17_self-harness]](Terminal-Bench 谱系的自改进 harness)


摘要

我们提出 PaperBench,一个评测 AI agent 复现 SOTA AI 研究能力的基准。Agent 必须从零复现 20 篇 ICML 2024 Spotlight/Oral 论文,包括理解论文贡献、开发代码库、成功执行实验。为客观评价,我们开发了把每个复现任务层级分解成更小子任务、带清晰判分标准的 rubric,全库共 8316 个可单独打分的任务,且每篇 rubric 都与该 ICML 论文的原作者共同开发以保证准确与真实。为可扩展评测,我们还开发了一个基于 LLM 的评委来自动对照 rubric 打分,并通过为评委单独造一个基准来评估评委表现。

我们评测了若干前沿模型:最强 agent——Claude 3.5 Sonnet (New) 配开源 scaffold——平均 Replication Score 为 21.0%。最后我们招募顶尖 ML 博士尝试 PaperBench 的一个子集,发现模型尚未超过人类基线。我们开源代码以促进对 AI agent 之 AI 工程能力的理解。


1 动机:为什么需要这个基准

论文的立意直接锚定在 AI 安全 / 前沿能力评测上:

能自主复现 ML 研究论文的 AI agent 可以加速机器学习进展,这个前景令人兴奋,但也需要谨慎研究以确保 AI 能力被安全地发展。

PaperBench 被明确设计为多家前沿实验室"能力门槛监控"框架里的一把尺——它可作为 OpenAI Preparedness Framework 里"模型自主性(model autonomy)"的度量、Anthropic Responsible Scaling Policy 里"自主能力"的度量、以及 Google DeepMind Frontier Safety Framework 里"ML R&D"的度量。换句话说,本文关心的不是"agent 能不能做题",而是"AI 系统离能自主推进 AI 研究本身还有多远"——因为一个能从零复现前沿论文的模型,就具备了非平凡的自主 ML 研发能力,这既可能加速 AI 安全/对齐研究,也可能让能力增长快到来不及做风险评估。

[!TIP] 什么是"复现(replicate)"vs"重现(reproduce)"?(本文的关键区分) 这两个词在本文里被刻意分开: - Reproduce(重现):给你原作者的代码仓库,你把它跑起来、得到同样的数字。这是 CORE-Bench(Siegel et al., 2024)做的事——考的是"能不能用现成研究代码"。 - Replicate(复现)只给论文、不给代码,你要从零理解方法、自己写整个代码库、跑出论文的实验结果。这是 PaperBench 做的事——考的是"能不能像一个研究工程师那样,把纸面方法变成能跑通、能出对结果的代码"。

本文特意禁止 agent 查看/使用作者原始代码库(每篇论文都有黑名单,含作者代码仓库和任何在线复现),就是为了确保测的是"从零工程复杂实验"的能力,而非"复用已有研究代码"的能力。

为什么复现很难?论文强调:每个复现任务对人类专家而言至少要几天全职工作;而且任务输出是"一个复杂、非结构化、无法程序化判分的代码库 + 结果"。这两点——长时程 + 输出难判分——正是它区别于绝大多数现有 eval 的地方,也逼出了后面整套 rubric + LLM 评委的设计。

论文的核心贡献有四: 1. PaperBench:20 篇 ML 论文 + 作者认可的 rubric + LLM 评委自动打分工作流; 2. PaperBench Code-Dev:轻量变体,只判"代码开发"、跳过执行与结果匹配,去掉 GPU 需求、评分成本降 85%; 3. JudgeEval:一个人类判分的提交数据集,用作"评测评委"的辅助基准; 4. 前沿模型评测:一批 agent 在长时程 ML R&D 任务上的实测基线。


2 相关基准

本文的定位可以用一句话概括:现有 ML agent 评测要么"给代码只考跑通",要么"考过时的 Kaggle 题",要么"任务自包含且能被 scoring function 完美判分";PaperBench 独占"从零复现前沿论文 + 长时程 + rubric 判分"这个格子。

基准 任务类型 规模 给不给现成代码 评分方式 自动化程度
CORE-Bench (Siegel 2024) 用作者仓库重现论文结果 多篇 ✅ 给仓库 结果匹配 高(有确定结果)
MLE-bench (Chan 2024) Kaggle 竞赛 75 赛 数据集给 Kaggle 排行榜指标 高(程序化)
MLAgentBench (Huang 2024) Kaggle / ML 实验 多任务 起始代码给 程序化指标
DSBench (Jing 2024) Kaggle 数据科学 多任务 程序化
RE-Bench (Wijk 2024) 7 个开放式 ML 研究工程任务 7 部分给起点 scoring function(可给完美分数)
PaperBench(本文) 从零复现前沿论文全部实验 20 篇 / 8316 叶子 ❌ 禁止看作者代码 层级 rubric + LLM 评委 中(需 LLM 评委近似人类)

[!TIP] CORE-Bench(最直接的对照) 让 agent 拿到论文的代码仓库,把它跑起来复现结果,考的是"计算可重现性(computational reproducibility)"——即已发表研究的代码能不能被别人一键跑通。它和 PaperBench 是互补关系:CORE-Bench 假设代码已存在、只考执行;PaperBench 把代码本身抽掉,考"从论文到代码"这一段最难、最像真实研究工程的工作。

[!TIP] MLE-bench / MLAgentBench / DSBench(Kaggle 系) 这三者都把 agent 扔进 Kaggle 竞赛里练手。本文的批评一针见血:很多 Kaggle 竞赛陈旧且相对简单,与"现代 ML 研究"脱节;而 PaperBench 只收 2024 年 ICML 的 Spotlight/Oral,保证任务反映当代前沿研究。(有意思的是 MLE-bench 也是 OpenAI 同一批作者做的,可视为 PaperBench 的前身——从"竞赛"升级到"复现论文"。)

[!TIP] RE-Bench(最像"研究工程"的对照) 提出 7 个有挑战性的开放式 ML 研究工程任务,让 agent 去解。两点关键差异: 1. 广度与时程:RE-Bench 任务更自包含;PaperBench 覆盖更广的子任务、更长的工作时程(复现一整篇论文的所有实验)。 2. 判分哲学:RE-Bench 在多数任务上给 agent 一个 scoring function,能对"当前任务"给出完美的性能度量;PaperBench 明确认为——它要测的"进行并串联大范围 ML 研究工作"的能力,根本无法被一个 scoring function 完整刻画,所以只能退而求其次用 rubric + LLM 评委。这句话点出了 PaperBench 全部设计张力的来源:任务越接近真实研究,就越判不了分

[!TIP] 自动评委(Automatic judging)这条线 LLM-as-a-judge 早有先例(MT-Bench/Chatbot Arena 的 Zheng et al. 2023;GPTScore;MLLM-as-a-Judge);也有工作发现 agent 型评委比非 agent 的 LLM 评委更准(Agent-as-a-Judge, Zhuge et al. 2024)。PaperBench 的 JudgeEval 把评委任务推到了比以往难得多的场景——判"一整个复现代码库满不满足某条细粒度研究要求"。

[!NOTE] rubric 评测 vs 其他评测形式(附录 A 的宏观论点) PaperBench 与多数现有 eval 的根本不同:它要求 agent 产出复杂、非结构化、无法程序化判分的输出。Rubric(Sawada et al. 2023 的 ARB;Harvey Team 的 BigLaw Bench 都用过)提供了一条把"复杂又欠明确的任务"转成"更简单、更良定义"的路径: - 应对复杂性:把评测拆成许多小子判据; - 应对欠明确性:与论文作者合作,就"什么对复现重要、各因素如何加权"做出具体选择(作者强调——同一篇论文存在很多同样合理的 rubric 实现)。


3 基准设计

这是 benchmark 论文的核心。PaperBench 的设计可拆成五块:任务规范 → 数据集构造 → rubric 结构 → 评分协议 → 防污染/防作弊。先看总览图。

Figure 1: PaperBench 的任务→复现→评分三段式流程

Figure 1 逐元素解读(全文的骨架图,读懂它就读懂了 PaperBench): - 左上「Agent」+ 步骤 ①「Submission」:agent 拿到论文(Task),自主写代码,产出一个代码仓库提交(图中 scripts/ config.yaml reproduce.sh README.md 等文件树)。注意提交必须含一个 reproduce.sh 作为统一入口。 - 中间「Task」:给 agent 的就一句话——"Replicate the paper's main contributions."(复现论文的主要贡献),外加论文本体和 addendum。 - 步骤 ②「Reproduction」:把提交拷到全新 VM,执行 bash reproduce.sh——图里显示它"Installing dependencies… Running experiment 1… Results saved to table.csv",并生成 reproduce.logmodel.pngtable.csv 等产物。这一步与 agent 自己的运行相隔离,专门用来验证结果是真跑出来的、不是硬编码的。 - 右上「Rubric」+ 步骤 ③「Grading / Judge」:把执行后的提交,连同 rubric 一起喂给 LLM 评委;评委对每个叶子判 ✅/❌,加权汇总得到 Score: 34.7%。 - 闭环含义:一次完整评测 = agent 写码 → 隔离复现 → 评委按 rubric 判分,三段清晰解耦。

3.1 任务规范

3.2 数据集构造:从 ICML 2024 到 20 篇

数据集是 20 篇 ICML 2024 Spotlight/Oral 论文(Table 2),横跨 12 个 ICML 主题(深度 RL、鲁棒性、概率方法、变分推断、LLM、生成模型、分布偏移/OOD 等)。构造走的是一条系统化过滤流水线(附录 B,用 gpt-4o 做初筛):

过滤器 剔除什么 为什么
商业/地域过滤 ≥75% 作者来自不便合作的商业实验室/特定国家 保证能拉到作者合作写 rubric
实证内容过滤 纯理论/立场论文、纯软件框架/工具论文 必须有需要非平凡工程才能复现的实证实验
硬件需求过滤 需要多节点分布式训练的 保证单机可复现(更可及)
模型依赖过滤 依赖闭源预训练模型(GPT-4/Claude/PaLM)的 保证可复现
数据需求过滤 需要新的人类数据采集/标注的 免除对新参与者的依赖
可复现性过滤 细节不足、光读论文无法从零复现的 保证任务可解
依赖可及性过滤 依赖不可及/易变(如不稳定 API)的 保证长期可复现

过滤后随机抽取剩余 Spotlight/Oral 论文并人工通读把关,然后联系作者——总共联系了 42 位作者,最终 20 位同意合作写 rubric。另外从 NeurIPS 2024 Workshops 放出 2 篇作开发集,并保留一个内部 held-out 集

[!IMPORTANT] 这个"联系 42 人成 20 人"的数字,和"每篇 rubric 要专家好几天全职"的成本,共同解释了为什么 PaperBench 只有 20 篇——不是不想大,而是每一篇都是一次与原作者的深度协作,规模化极其昂贵(见 §5 局限)。

3.3 Rubric:层级分解 + 加权 + 三种叶子类型

Rubric 是 PaperBench 把"复杂任务变可判分"的核心机制。

Figure 2: rubric 树——叶子二元判分、加权平均向上传播

Figure 2 逐元素解读: - 树结构:根节点是最高层结果(如"论文核心贡献已被复现");第一层分解成"每个核心贡献一个节点";再往下越来越细,直到叶子(如"gpt2-xl 已用 B.1 节的超参在数据集上微调")。每层描述更细粒度的要求(图右上箭头注释)。 - 叶子二元判分:图中蓝色圆=1(pass)、红色圆=0(fail)。评委只判叶子。 - 加权向上传播:每条边上的数字(1/2/3)是该子节点相对于兄弟节点的权重;父节点分数 = 子节点分数的加权平均。图中示例一路算上去,根节点 = 0.55,即 Replication Score = 55%。 - 权重的含义:权重反映"该贡献相对兄弟的重要性",不是实现难度——奖励 agent 优先复现论文里更重要的部分。

规模:20 篇共 8316 个叶子节点;单篇从 stochastic-interpolants 的 94 个节点到 pinn 的 2551 个节点不等(Table 2 & Table 7)。分解粒度的准则很实用:一直往下拆,直到"一个熟悉该论文的人类专家能在 15 分钟内判断某提交是否满足该叶子"为止。粒度细的好处有二:能给部分完成打分、也让每个叶子对评委更好判。

[!TIP] 满足所有子节点 ⟹ 父节点也满足(rubric 的可判分性保证) 这是 rubric 树设计的一条关键不变量:只要一个节点的全部子节点都满足,就意味着父节点也满足。因此只需判所有叶子,就能全面评估整体成功——不用单独判内部节点。这把"评估一整篇论文复现"的问题,干净地归约成了"判 N 个二元叶子"。

三种叶子类型(决定给评委看哪些文件)

每个叶子是以下三类之一:

  1. Result Match(结果匹配):执行后的提交里有没有"复现某个具体结果"的证据。评委看 reproduce.shreproduce.log 和复现步骤产出的文件。例:"记录的 F1 分数显示,从基于表征的预测方法中移除频率先验项,会在所有模型/数据集/微调设置下降低平均 F1。"
  2. Execution(执行):跑 reproduce.sh 时某个特定执行是否发生。评委看 reproduce.shreproduce.log 和源码。例:"在 Table 1 的所有配置上评估 prior-free 方法的代码已被执行、且 F1 已记录。"——因为 Result Match 特别难拿,配套的 Execution 节点让提交能为"朝结果推进的部分进度"拿分。
  3. Code Development(代码开发):源码里是否有某要求的正确实现。评委看 README/文档、源码、reproduce.sh不看 log 和产物)。例:"已编写代码在 P3 数据集测试集上用 BART0Large 生成预测并用 Exact Match 打分…"——为 Execution 节点提供部分学分(可能代码写对了但没跑对)。

[!NOTE] Table 1|三种叶子各看哪些文件

文件 Code Dev. Execution Res. Match
README & 文档
源码
reproduce.sh
reproduce.log
复现产物

设计逻辑(讲透):理论上 rubric 可以只有 Result Match(对上结果就等于复现了),但那样 agent 的分数会"全或无"、无法增量改善;也可以只有 Code Development(真正正确的代码跑起来自然出对结果),但"不跑代码就判断代码正确性"实践上不可行。所以三类并存——Code Dev → Execution → Result Match 构成一条"部分进度→完全成功"的学分链,让 agent 的性能能渐进地被测出来。没有 reproduce.sh 的提交,在所有 Execution 和 Result Match 节点上得 0。

3.4 隔离式复现(防结果硬编码)

A submission is only considered to have replicated a result when that result is reproduced by running the submission in a fresh setup.

agent 任务结束后,把提交拷到一台全新的 Ubuntu 24.04 + A10 GPU 的 VM,从干净状态执行 reproduce.sh,生成结果/图表和 reproduce.log,得到"executed submission"。让复现与 agent 自己的运行分离,增加了复现的可信度,并能把真实复现输出和 agent 在任务时硬编码的结果区分开。(实验中 reproduce.sh 上限 12 小时,实际 agent 产的脚本平均只跑 5.5 分钟。)

3.5 应对欠明确性

对每篇论文手工造 addendum:含作者澄清、以及标明哪些部分 out-of-scope;必要时另造一份 judge-only addendum(只给评委的参考信息,帮它判得更准)。Rubric 与 addendum 的创建(附录 C):两名研究工程师先起草 → 多轮内部评审 → 交原作者(在正式协议下)核对、多轮反馈 → 澄清并入 addendum。平均每篇 rubric+addendum 要几十小时人力

3.6 防数据污染

[!TIP] 什么是数据污染(data contamination)?为什么 benchmark 论文必须谈它?评测样本(或其答案)泄漏进了模型的训练语料,导致模型不是"真会做"、而是"背过答案",从而虚高分数、让 benchmark 失去测量意义。对 PaperBench 而言,风险是:几乎所有论文的作者原始代码库都公开在网上,模型预训练时可能已"内化"了这些解法。

本文的应对与判断: 1. 任务本身抬高门槛——这些公开代码往往不能复现整篇论文、也不符合 PaperBench 的提交格式(没有 reproduce.sh),所以直接"抄"也抄不全; 2. 禁止在线查看——每篇论文有黑名单(作者代码仓库 + 任何在线复现),agent 不得使用; 3. 时效性——数据集论文很新(2024 ICML),本文判断当前模型基本不受污染影响,但坦承未来模型可能中招(见 §5 局限)。

监控实现(附录 E):一个简单的事后监控器对 agent 日志做文本搜索,查有无黑名单 URL/词,命中就升级到人工复核、取消资格(分数置 0)。全部 646 次运行中发现 10 例用了黑名单资源,均被判 0。

3.7 PaperBench Code-Dev(轻量变体)

为降低成本/门槛,放出 Code-Dev 变体:只判 Code Development 叶子,跳过复现步骤和 Execution/Result Match。好处:免掉昂贵 GPU;用 o3-mini 当评委时评分成本降约 85%(每篇 $10 vs $66)。代价:更不稳健。本文发现 Code-Dev 与完整 PaperBench 只弱相关(o1 上 Pearson r=0.48,拟合 PB = 0.45·PBCD + 0.05),故只建议当"初步噪声指标"。o1 在 Code-Dev 上拿 43.4%


4 评测结果

4.1 评委质量:先证明"LLM 评委靠谱"

因为人类判一篇要几十小时,自动评委是 PaperBench 能用的前提。本文造 SimpleJudge + JudgeEval 双管齐下。

[!TIP] 什么是 LLM-as-a-judge grader?在 PaperBench 里怎么工作? 用一个 LLM 来替代人类评委给复杂输出打分。SimpleJudge 的做法:对每个叶子独立判分——喂给评委:论文 Markdown、addendum、该叶子的祖先与兄弟要求(提供上下文)、该叶子的要求、以及相关文件。因提交往往太长塞不进上下文,先让评委给文件按相关性排序、只取 top-10(或在能塞下时全塞)。判完让它输出 0/1 + 简短理由,再用 gpt-4o 解析出分数。默认后端 o3-mini-high,估计每篇提交约 $66(约 5000 万输入 token + 200 万输出 token)。

[!TIP] 什么是 JudgeEval?(评委的元评测) 为了回答"评委准不准",本文另造一个基准:取 PaperBench 里 4 篇 + 开发集 1 篇的部分复现提交(有的从零写、有的改作者代码),人工逐叶判分作为金标签(ground truth)。由于判每个叶子是二元分类,就用标准二分类指标(Acc/Prec/Rec/F1)来评各种 LLM 评委——本质上是"用人类金标验证机器评委"。

结果(Table 3)o3-mini-high 是性价比之王:F1=0.83 @ $66/篇,与 o1(F1=0.84 @ $830/篇)几乎持平但便宜一个数量级。

评委后端 Acc Prec Rec F1 成本($/篇)
RANDOM 0.48 0.49 0.49 0.49 0
GPT-4o-mini 0.63 0.64 0.60 0.59 8
GPT-4o 0.74 0.74 0.72 0.73 120
o1-mini 0.81 0.85 0.76 0.78 72
o1 0.84 0.84 0.84 0.84 830
o3-mini 0.83 0.83 0.83 0.83 66

Figure 5: JudgeEval 上各评委的 F1 vs 每篇成本

Figure 5 逐元素解读:横轴=每篇平均成本(对数刻度,$USD),纵轴=JudgeEval 上的 F1。★(黑)= 专家人类,被当作理想上界:F1=1.0,但成本约 \(1200(12 小时 ×\)100/hr)。红色虚线=随机基线(F1≈0.5)。散点从左下到右上:gpt-4o-mini(F1≈0.59, \(8)→ o3-mini(**F1≈0.83, ~\)66,橙色倒三角,明显是"左上最优"的拐点)→ o1-mini → gpt-4o(\(120 却只有 0.73,性价比差)→ o1(F1≈0.84 但 ~\)830)。关键信息**:人类评委比最贵的模型(o1)还贵几百美元,而 o3-mini 用 1/10 成本就达到与 o1 相当的表现——这张图就是"为什么主结果用 o3-mini SimpleJudge"的正当性证明。

分层看(Table 8):评委在三类叶子上有难度梯度——Code Development 最难判(o3-mini F1=0.72)、Result Match 最好判(0.94)。0.72 被作者认为"足以追踪该类型的信号"。

4.2 主实验:agent 成绩与失败模式

执行环境:每个 agent 跑在 Ubuntu 24.04 Docker(单 A10 GPU),工作目录含论文 PDF+Markdown+addendum+指令;可联网下包/浏览;给 HuggingFace key 和一个充值 $1000 的 OpenAI API key(若论文实验要用)。scaffold = BasicAgent(基于 Inspect AI basic agent 的 ReAct 循环,用 nanoeval 编排),工具有 bash、Python 执行、网页浏览、分页文件阅读器。最长运行 12 小时

主结果(Table 4,BasicAgent,每篇跑 3 次)

模型 Replication Score (%)
o3-mini-high 2.6 ± 0.2
GPT-4o 4.1 ± 0.1
Gemini-2.0-Flash 3.2 ± 0.2
DeepSeek-R1 6.0 ± 0.3
o1-high 13.2 ± 0.3
Claude-3.5-Sonnet 21.0 ± 0.8

失败模式(人工看日志):除 Claude 3.5 外几乎所有模型都频繁"提前收工"——要么谎称已完成整个复现、要么说遇到解决不了的问题;所有 agent 都不会为"如何在有限时间内最好地复现"做策略规划;o3-mini 常在工具使用上翻车。作者的判断:这暴露了当前模型做长时程任务的弱点——很会写多步计划,却不会真的把计划一步步执行下去

4.3 IterativeAgent:改 scaffold 就大幅改变成绩

既然模型爱提前收工,本文造 IterativeAgent——移除"提前结束"能力、逼它用满时间,并用 prompt 引导它"每次只走下一步"(附录 F.2)。

模型 PaperBench (%)
o3-mini-high 8.5 ± 0.8
Claude-3.5-Sonnet 16.1 ± 0.1
o1-high 24.4 ± 0.7
o1-high(延长到 36 小时) 26.0 ± 0.3

[!IMPORTANT] 同一个模型,只换 scaffold,o1 从 13.2% 跳到 24.4%(近乎翻倍);而 Claude 3.5 反而从 21.0% 掉到 16.1%。这说明 IterativeAgent 的 prompt 调优偏向 OpenAI o 系模型——同一套 harness 对不同模型的效果可以完全相反(模型对 prompt 的敏感性)。作者甚至推测:给 BasicAgent 也加上"禁止提前结束",Claude 3.5 可能反超 o1。这正是 [[ref09_meta-harness]] / [[ref17_self-harness]] 的核心论点在评测端的活体标本——harness 不是中性容器,它和分数深度耦合,且是"模型专属"的。

4.4 人类基线与 headroom

8 位在读/已毕业 ML 博士(来自 Berkeley、CMU、Cornell、Columbia、Purdue 等,经 CV 筛 + ML/git 技术测),在 4 篇子集上每篇收 3 次独立尝试,取 best@3 当"专家"分。条件尽量对齐 agent(同样给 PDF/Markdown/addendum、单 A10 GPU、遵守黑名单;可用 ChatGPT/Copilot 辅助);兼职、四周窗口、按 timesheet 记工时(含无人值守跑实验的时间)。

核心 headroom 结果: - 3 篇子集上,人类 best@3 在 48 小时后达 41.4%;同子集 o1 只有 26.6%——模型尚未超过人类

Figure 3: 4 篇子集上人类 vs o1 随工作时间的表现

Figure 3 逐元素解读:横轴=工作小时(0/1/3/6/12/24/36/48,注意非线性刻度),纵轴=Replication Score。蓝色系=o1(36 小时延长跑,含 4 篇)橙色系=人类,每篇论文一种标记(all-in-one/fre/stay-on-topic/test-time-model-adaptation)。关键读图: - o1(蓝)在第 1 小时就冲到 ~0.26 然后几乎平台化——说明模型擅长开局快速写大量代码,但过了这个时程就不会再有效推进(不会策略性改进自己的提交)。 - 人类(橙)前期慢(前几小时忙着消化论文,1 小时才 ~0.08),但持续爬升,约 24 小时后反超 o1,到 48 小时冲到 ~0.41。 - 交叉点:o1 前期领先、长时程落后——这个"agent 开局赢、长跑输"的模式与 RE-Bench(Wijk 2024)一致。(注:test-time-model-adaptation 的人类尝试到 24 小时就停,故被排除在"3 篇子集"外。)

4.5 分层结果:会写码,不会跑通

Table 9(按叶子类型分层) 是最能说明"agent 到底卡在哪"的数据:

模型 (scaffold) Code Development Execution Results Analysis
Claude-3.5 (BasicAgent) 35.4 ± 0.8 1.8 ± 0.7 0.7 ± 0.3
o1 (IterativeAgent) 43.3 ± 1.1 4.5 ± 1.5 0.0 ± 0.0
o1 [36h] (IterativeAgent) 42.4 ± 1.0 7.4 ± 1.1 1.4 ± 0.1
人类 best@3 [3 篇子集] 72.4 20.4 8.9

[!IMPORTANT] 当前模型的能力画像:Code Development 35–43%,但 Execution 只有 2–7%、Result Match 接近 0。翻译成人话——模型很会写大量看似合理的代码,却不擅长把这些代码整合、测试、成功运行出结果。而人类在三类上都远超(72/20/9),headroom 在"执行与出结果"上尤其巨大。这是全文最有价值的诊断信号。

4.6 成本


5 局限与讨论

[!TIP] 一个前瞻性洞察(附录 A.2)评委越可靠,rubric 就越不需要拆那么细——随着评委变强,"任务分解"的工作量可以减少,逐渐从"判叶子"转向"判整棵子树"。这把"人工精细规约"与"委托给评委"之间的权衡,指成了一个会随模型进步而移动的边界。


个人思考

与其他论文的关联(放进本项目坐标系)

方法论启示(可迁移到"造评测"的通用思路)

  1. "无法程序化判分"不等于"无法客观评测"——层级 rubric(拆到 15 分钟可判的叶子)+ 与领域专家共创 + LLM 评委,是把主观复杂任务变可扩展评测的一套完整配方。我做任何"agent 产出复杂物"的评测都能复用。
  2. 评委必须自带元评测(JudgeEval)——用了 LLM 当评委,就有义务用人类金标证明它的 F1,并公开成本/质量权衡(Fig 5)。否则"自动分数"不可信。
  3. 判分与生成相隔离(fresh VM 复现)——防止 agent 硬编码结果,是任何"看最终产物打分"的评测都该做的诚信设计。
  4. 三类叶子构成"部分进度链"——Code Dev→Execution→Result Match 让全或无的任务变得可增量测量,避免 benchmark 在弱模型时段全 0、没有区分度。

在我的工作中能怎么用

开放问题 / 疑问

局限性(对基准本身)