harness_evolve/notes/ref34_core-bench.md

CORE-Bench: Fostering the Credibility of Published Research Through a Computational Reproducibility Agent Benchmark

一句话总结:Princeton 造的一个"给 AI agent 一篇论文的现成代码+数据仓库,让它把代码装好、跑通、再从输出里读出论文报告的数值结果"的基准——测的是计算可复现性(computational reproducibility)而非从零复现;270 个任务(90 篇论文 × Easy/Medium/Hard 三级),评分是"回答报告数值问题、且落在 3 次人工复现的 95% 预测区间内、全部答对才算过";最强 agent(CORE-Agent + GPT-4o)在最简单级拿 60%、在最难级只有 21%,暴露"装依赖 + 从多文件里检索对结果"这段的巨大 headroom。


TL;DR 速览

tags: #benchmark #计算可复现性 #computational-reproducibility #research-agent #AutoGPT #agent-scaffold #长时程agent #LLM工具使用 #data-contamination

related: [[ref30_paperbench]](姊妹基准:给论文不给代码的"从零复现",CORE-Bench 是其"给代码只考跑通"的互补下界,PaperBench 正文明确对照本文)· [[ref33_scienceagentbench]](数据驱动科学发现 agent 基准)· [[ref11_scientistone]](AI Scientist 谱系:不止复现、还要产出研究)· [[ref09_meta-harness]]("AutoGPT→CORE-Agent 加提示就大涨、且对弱模型收益更大"正是 harness 与分数深度耦合的活标本)· [[ref17_self-harness]](Terminal-Bench 谱系的自改进 harness)


摘要

AI agents 有潜力在一系列重要任务上帮助用户,包括开展科学研究。为推动有用 agent 的发展,我们需要有挑战性、且更关键地直接对应真实世界目标任务的基准。本文提出这样一个基准,用来度量 AI agent 在科研中一个至关重要却出人意料地困难的环节——计算可复现性——上的准确率。这个对科研过程至关重要的任务,指的是用作者提供的代码和数据重现一项研究的结果。我们提出 CORE-Bench(Computational Reproducibility Agent Benchmark),一个由 90 篇论文、跨三大学科(计算机、社会科学、医学)、共 270 个任务构成的基准;任务含三个难度级、既有纯语言也有视觉-语言任务。我们提供一套评测系统,能以快速、可并行的方式度量 agent 准确率(相比串行实现每轮省下数天)。我们评了两个基线 agent:通用的 AutoGPT 和为任务定制的 CORE-Agent,各用 GPT-4o / GPT-4o-mini 两个底座。最强 agent 在最难级只达 21% 准确率,显示自动化例行科研任务仍有巨大空间。


1 动机:可复现性危机

论文开篇引了一句经典(Buckheit & Donoho, 1995):"一篇关于计算科学的论文本身不是学术成果,它只是成果的广告;真正的成果是生成那些图表的完整软件环境与完整指令集。" 这句话把全文的立意钉死了——论文只是"广告",能不能一键跑出图表才是学术的实体。

计算可复现性危机是真实且跨学科的。 作者调查了 15 个学科的证据(Table 1),发现即便论文附带了数据和代码,仍有相当比例的研究无法被计算复现

领域 综述来源 审查研究数 有可复现性错误
Finance Pérignon et al. (2024) 1008 484
ML Sinha et al. (2023) 28 10
Multiple Trisovic et al. (2022) 2000 1480
NLP Belz et al. (2021) 549 472
Psychology Hardwicke et al. (2021) 25 16
Sociology Liu & Salganik (2019) 14 12
Economics Gertler et al. (2018) 203 128
Geosciences Konkol et al. (2019) 41 39
Computer Sys. Collberg & Proebsting (2016) 601 311
Economics McCullough et al. (2006) 150 135

[!TIP] 什么是"计算可复现性(computational reproducibility)"?和"复现(replicability)"怎么区分? 本文用的是 National Academies (2019) 的经典区分,务必分清: - Reproducibility(可复现性 / 计算复现):用原作者提供的同一份数据 + 代码,能否得到同样的结果。这是"把别人的仓库跑起来出对数字"——CORE-Bench 测的就是这个。 - Replicability(可复制性 / 独立复现):用新的数据 / 新独立实现,看能否得到一致的结论。这是"换个人从头做一遍"——[[ref30_paperbench]] 测的更接近这一端(只给论文、不给代码)。

一句话对照:CORE-Bench 假设代码已存在、考"能不能跑通并读对";PaperBench 把代码抽掉、考"能不能从论文写出代码"。 两者是同一光谱上的两个刻度,CORE-Bench 是更早、更普遍、更可运营的那个下界。

为什么"有代码也难复现"? 论文列了一串真实工程痛点:软件库没锁版本;研究者用了不同机器架构(ARM vs x86)或操作系统(Linux/Windows/MacOS);旧库和新硬件不兼容;或结果本身有内在方差。ML 也不例外——作者分析 2022 ML 可复现性挑战赛,28 篇带代码+数据的论文里只有 18 篇能完全复现,其中 6/28 即便和原作者沟通了仍无法完全复现。

核心问题"AI agent 能否自动化已发表科研的计算复现?" 作者的逻辑链是:语言模型在 HumanEval 这类基准上已能解大多数题,compound AI systems(agent)又把 SWE-bench 从裸模型的 <5% 抬到 >30%;于是有人喊"很快能自动化大部分科研"。但作者反驳——在 agent 能自动化科研之前,它必须先能复现已有结果(何况做新研究常常还要先复现旧 baseline 做对比)。复现是产出的前置下界

论文的两大贡献: 1. CORE-Bench:270 任务 / 90 篇 / 三学科 / Python+R / 三难度级 / 语言+视觉,源自 CodeOcean、可周期性更新以缓解污染和饱和。 2. 基线评测 + 专用评测 harness:AutoGPT 与 CORE-Agent 各配 GPT-4o/4o-mini,并开源一套在隔离 VM 上并行跑的评测 harness(把评测从 20+ 天压到两小时)。


2 相关基准

CORE-Bench 的定位可以一句话概括:现有 agent 科研/编程基准要么做"从零 ML 实验/Kaggle 题",要么做"科学推理/引用",要么做"真实 GitHub 修 bug"——唯独"用现成仓库自动复现论文结果"这个环节此前没人认真做。

基准 任务类型 给不给现成代码 评分方式 与 CORE-Bench 的关系
CORE-Bench(本文) 用作者仓库重现论文数值结果 ✅ 给完整 capsule 回答报告问题的 accuracy(全对才算)
PaperBench (Starace 2024) 从零复现整篇论文实验 ❌ 禁看作者代码 层级 rubric + LLM 评委 姊妹/互补:它考"论文→代码",本文考"代码→跑通"
MLAgentBench (Huang 2023) 跑 ML 实验 起始代码给 程序化指标 都用现成代码,但它面向"改进实验"非"复现结果"
SciCode (Tian 2024) 科研编程 部分给 程序化 面向写科研代码片段,非整仓复现
DiscoveryBench (Majumder 2024) 数据驱动科学发现 数据给 程序化 面向"发现"非"复现"
CiteME (Press 2024) 科学引用/推理 引用准确率 面向文献推理,非跑代码
SWE-bench (Jimenez 2023) 真实 GitHub issue 修复 给仓库 测试通过 都是"仓库内工程",但目标是修 bug 非复现结果

[!TIP] PaperBench(最直接的姊妹对照,务必分清) [[ref30_paperbench]] 让 agent 只拿论文、不拿代码,从零写整个代码库把 20 篇 ICML 论文的实验实现出来、跑通、对上数字,用"与作者共创的 8316 叶子层级 rubric + LLM 评委"打分。它和 CORE-Bench 是同一问题的两个刻度:PaperBench 把"从论文到代码"这段最难的工作留给 agent,CORE-Bench 把代码给足、只考"跑通 + 读对"。PaperBench 正文的相关工作里就明确用 CORE-Bench 做对照,说"CORE-Bench 假设代码已存在、只考执行"。两把尺共享同一个诊断信号——agent 卡在"执行 + 出对结果",而非"写代码"。

[!TIP] SWE-bench(agent 提升幅度的动机引用) Jimenez et al. (2023) 的 GitHub issue 修复基准。本文引它是为动机:裸语言模型在 SWE-bench 上 <5%,加上 agent scaffold 后 >30%——正是这个"scaffold 让能力跳变"的现象,让作者相信 agent 有望自动化复现,也预告了本文"AutoGPT→CORE-Agent 加提示就从 8.9% 到 44.4%"的核心发现。此外作者显式借鉴了 SWE-bench Verified(Chowdhury 2024)的思路——只收"经验证人类可解"的子集,以保证"高分是可达的"(见 §3 的十条筛选准则)。

[!TIP] AI Scientist(被本文冷静回应的乐观侧) Lu et al. (2024) 的 "The AI Scientist" 端到端自动化 AI 研究(从想法生成到写论文)。本文多次引用它作为"过度乐观"的代表——AI 生成论文的质量已被质疑(Koppel 2024)。CORE-Bench 的态度是:在畅想"完全自动化科研"之前,先量一量"连复现都做不做得到"。这与 [[ref11_scientistone]] / [[ref30_paperbench]] 的"复现是产出的下界"是同一立场。


3 基准设计

这是 benchmark 论文的核心。CORE-Bench 的设计可拆成五块:任务规范 → capsule 来源与筛选 → Easy/Medium/Hard 分级 → 评分协议(预测区间 + 全对才算)→ 隔离 VM harness / 防污染。先看总览图。

Figure 1: CORE-Bench 任务概览——任务提示+代码仓库→VM里的agent→提交report→对照成功复现评分

Figure 1 逐元素解读(全文骨架图,读懂它就读懂了 CORE-Bench): - 左上「Task Prompt」:给 agent 的运行指令,例如 "Run 'IAQ-PostCollection-Analysis.R' using Rscript."(用 Rscript 跑这个脚本)。 - 左中「Task Questions」:要 agent 回答的具体问题,例如 "① 从 Experimental IAQ Data 图,报告 y 轴标签;② 从 Indoor Air Quality - Kitchen - Autumn 图,报告 hum 与 gas 的相关系数。" 注意这些是要从复现输出里读出的数值/文字。 - 左下「Code Repository」:给 agent 的仓库文件树(code / data / readme.txt / IAQ-PostColle… / expData.csv / MScDataKit…)——这就是"现成代码+数据"。 - 中间「Virtual Machine + Agent」:agent 在隔离 VM 里装依赖、跑代码。 - 右上「Report」:agent 提交一个 JSON,逐题填答案;系统对照"成功复现的真值"判 ✅/❌——图中第 1 题 "Gas Resistance" 判 ✅、第 2 题 "-0.642" 判 ❌。 - 闭环含义:一次评测 = 读任务 → 在 VM 跑通 → 从输出检索填 report → 对真值判分;且必须每题都对,任务才算成功

3.1 任务规范:capsule 里有什么

数据源是 CodeOcean capsule——一种自带环境、"已知稍加努力即可复现"的科研代码包(Clyburne-Sherin et al., 2019)。每个 capsule 的结构如下(对应原文 Figure 2):

CodeOcean 文件 内容
metadata capsule DOI、引用、许可证、作者、关联论文
environment/Dockerfile 生成含所需依赖的 Docker 镜像的指令
code/ (README.md, run, test.py) 项目细节、带正确参数运行代码的脚本、代码文件
data/ 运行代码所需的数据
results/ 结果文件夹
REPRODUCING.md 环境细节 + 执行代码的精确 Docker 命令

关键设计:这些文件(README / Dockerfile / 现成输出)按难度级选择性地提供给 agent——这正是 Easy/Medium/Hard 分级的机制(见 §3.3)。

3.2 capsule 来源与筛选:从 5090 到 90

构造哲学(最重要的方法论张力):作者点破——"我们要任务真实地难,但要让构造 benchmark 本身远比解 benchmark 容易。" 在野外验证一篇论文的可复现性要花几小时、要领域专家,验一百篇跨领域论文根本不现实。解法就是基于 CodeOcean capsule(本就设计为可复现),把"验证可复现"这件苦活外包给 CodeOcean 平台。

Figure 3: capsule 筛选流程——5090 经学科/语言/十条准则筛到 90

Figure 3 逐元素解读: - 5,090 个初始 capsule(作者写爬虫抓全 CodeOcean 元数据 + 手动导出环境文件)。 - 第一刀按学科:只留 计算机 / 社会科学 / 医学 → 2,536(剔除 2,554 个学科外的)。 - 第二刀按语言:只留 Python / R → 1,657(剔除 879 个非 Python/R 的)。 - 第三刀按十条选择准则(Table 2)→ 最终 90:医学 25、社会科学 28、计算机(先随机抽 355 再筛)37。 - 为什么计算机多? CodeOcean 上 Python/R 的计算机 capsule 有 1259 个、社科 270、医学 128——社科/医学满足全部准则的太少,只能让计算机偏多。

十条筛选准则(Table 2)——目的是"保证任务清晰、可达高分",思路同 SWE-bench Verified:

准则 理由
对应一篇公开论文 基准范围所需
来自计算机/医学/社科 便于评估分布偏移下的准确率变化
用 Python 或 R 写 同上(也是最早纳入 R 的基准之一)
含 README 文件 提升构造效度(真实论文大多有)
代码在 CodeOcean 硬件上 <45 分钟跑完 保证在时间/硬件约束内可复现
用相对简单的一条 Bash 命令就能正确复现 便于为"不给运行文件的任务"设计英文任务提示
结果在输出里有图/表/文件名标注 免去为杂乱无标注数据设计问题
跑代码时结果方差低 保证所收 capsule 人类可验证、可复现
capsule <10 GB 资源约束
本地跑代码能复现结果 保证可复现

[!NOTE] 低方差准则的一个具体反例(Listing 2/3):一个被的 capsule(826891)——同一份代码两次人工运行,spike probability 一次是 0.423、一次是 0.783,差异巨大。这种高方差 capsule 会让"报告某数值"的判分失去意义,故被排除。这解释了为什么"结果方差低"要作为硬准则。

数据集划分:90 篇按 45 训练 / 45 测试切分(Table A2);训练集用于开发 agent,正文结果除非注明都在测试集上报。

3.3 难度分级:Easy / Medium / Hard = 给多少复现信息

三个难度级对应"给 agent 多少复现信息",从而各测一组递增的技能270 任务 = 90 篇 × 3 级;但181 task question 是三级共用的(同一篇的三级问同样的问题,只是给的信息不同——所以问题数 < 任务数)。

难度级 给 agent 的信息 agent 要做的事(技能)
CORE-Bench-Easy 代码已成功运行的完整输出(不用自己跑代码) 在代码输出里做信息抽取,答对问题
CORE-Bench-Medium 给运行代码所需的 Dockerfile + README 里的文字运行说明 跑 Docker 命令 + 信息抽取
CORE-Bench-Hard 只给 README、不给 Dockerfile 装齐所有库/依赖 + 从任务提示确定并运行正确命令 + 信息抽取(最接近真实复现)

[!TIP] 为什么要做"难度阶梯(ladder of difficulty)"? 因为一个只报"复现整篇成不成"的全或无指标,在弱 agent 阶段会全 0、没有区分度。三级阶梯把"从零跑通"这个复合任务拆成可分别探针(probe)的能力层:Easy 只探"信息检索/读输出",Medium 加探"终端 Docker 交互",Hard 再加"依赖解析 + 命令推断"。即便 agent 完全做不了 Hard,我们仍能从 Easy/Medium 看出它到底卡在哪一环——这与 [[ref30_paperbench]] 的"Code Dev → Execution → Result Match 三类叶子构成部分进度链"是同一设计哲学,只是 CORE-Bench 用"给信息的多少"而非"打分的层级"来切。

3.4 评分协议:回答报告数值问题 + 全对才算 + 预测区间

这是 benchmark 的评分心脏。 主指标是 task accuracy

\[ \text{Accuracy} = \frac{\#\{\text{tasks where ALL task questions are correct}\}}{\#\{\text{tasks}\}} \]
\[ \text{task is correct} \iff \forall\, q \in \text{questions}(task):\ \hat{a}_q \in \text{PI}_{95\%}\big(a_q^{(1)}, a_q^{(2)}, a_q^{(3)}\big) \]
符号 含义
\(\hat{a}_q\) agent 对问题 \(q\) 报告的答案(填在 report.json
\(a_q^{(1..3)}\) 作者手工复现 3 次得到的该问题真值
\(\text{PI}_{95\%}(\cdot)\) 由 3 次真值构成的 95% 预测区间(数值题用;文本题需精确匹配)
全对才算 一个任务下所有问题都落区间,任务才计 1;有一题错则整任务 0

[!TIP] 把评分口径讲透 + 数值举例 逐项拆解这套判分为什么这么设计: 1. 为什么"全部答对才算成功"? 为了防蒙。作者保证每个任务至少有一个"猜不出来的开放数值问题"(如一个连续数值),并要求所有问题都对——这样 agent 无法靠瞎猜某几题拿分。代价是指标严格(一题之差满盘皆输),但这正是"复现"语义所要求的:读错任一个报告值都不算复现成功。 2. 为什么用"95% 预测区间"而不是"精确相等"? 因为代码输出可能有随机性(不同 seed/硬件)。预测区间给出"未来一次观测预期落入的范围"(Spence & Stanley 2016),比"3 次的置信区间"更宽、更适合判"agent 这一次跑出来的值算不算对"。但注意181 个 task question 里只有 17 个有随机答案——绝大多数题是确定值,预测区间只对那 17 题起实质作用。 3. 视觉 vs 文本两类问题:视觉题要从图/表/plot/PDF 表格里读属性(如"某图的 x 轴标签""某相关系数");文本题从命令行文本、PDF 文本、HTML/markdown/latex 表格里读。一个任务可以只含视觉题、只含文本题、或两者都有。 4. 具体例子:任务问"报告神经网络第 10 个 epoch 后的测试准确率"(文本题)——agent 跑通代码后从终端输出/日志里找到 epoch 10 ... test_acc: 0.8123,填 0.8123;若这题是确定值就要精确/近似匹配真值,若有随机性则看是否落进 3 次人工复现的 95% 预测区间。再问"从 Indoor Air Quality - Kitchen - Autumn 图报告 hum 与 gas 的相关系数"(视觉题)——agent 得先在多个输出图里定位对那张图,再用 vision 模型读出相关系数 -0.64x。只有两题都对,这个任务才计 1。

问题构造(附录 A.3):作者在 CodeOcean 上成功复现后,人工检视 results/ 文件夹,从任意结果文件里挑输出(模型准确率、轴标签、任意指标)作为要抽取的目标,再逐个写英文提示。每篇 1–8 个问题,共 90 capsule / 181 问题。图表在问题里的指代方式有三种:按"图表所测量的量"、按"图表标题"、按"文件名/PDF/HTML 里的图表编号"。

Figure 4: (a) 任务执行流水线 与 (b) 评估准则——3 次人工复现构成预测区间,agent 结果落区间即匹配

Figure 4 逐元素解读(这张图把"任务结构"和"评分机制"两件事一次讲清): - (a) 任务执行流水线(左):Task Prompt(Run 'main.py')+ Provided Task Questions(报告 F1 分数 / 报告 ROC 曲线下 AUC)→ agent 拿到 Set-up(核心文件 REPRODUCING.md / README.md / environment 的 Dockerfile+requirements.txt / code 的 run)、Run Code(feature_selection.py / utils.py …)、Extract Result(把结果填进 JSON 的 "results" 字段,如 F1=0.75)。 - (b) 评估准则(右):3 个 Manual Run 各给出一组 F1 真值 → 合成 Prediction Interval(如 [0.7040, 0.7092]、[0.6640, 0.6939]);Agent Run 报出自己的一组 F1(如 [0.90, 0.98])→ 逐题看是否落进对应区间 → Matching results ✓。 - 关键信息评分是"agent 报告值 vs 3 次人工复现的预测区间"的逐题匹配、全对才过——图里直观展示了"3 次真值 → 区间 → agent 值落区间"的判定链。

3.5 隔离 VM 评测 harness:20 天 → 2 小时

因为 agent 要在环境里导航/操作/理解,每个任务跑在隔离 VM 里:保证任务间封装、标准化硬件、可并行、防 agent 篡改评测、助力可复现。环境每任务重置到同一起点(对齐 AISI/METR 的做法)。

Figure 5: 评测 harness 架构——Manager 为每个(agent,task)建 VM、并行跑 Worker、回收结果本地评分

Figure 5 逐元素解读(这张图是"为什么这个 benchmark 可运营"的关键): - Manager 机(顶部)存 benchmark 代码 + CORE-Bench 数据集,三步循环: - ① Create VMs:为每个 (task, agent) 对建一台 VM,上传 capsule + agent 代码。 - ② Run agent on each VM:在所有 VM 上并行调用 agent(图中 AutoGPT(gpt-4o) / CORE-Agent(gpt-4o) 各跑一排 Workers,每个 Worker 对应一个 capsule-XXXXXXX)。 - ③ Download & evaluate:agent 一旦写出 task_completed.log(即完成),Manager 就下载结果、删除 VM、在 Manager 本地评分。 - 关键信息270 任务 + 每任务 2 小时上限,串行要 20+ 天;用这套并行 harness 只需两小时多。且 benchmark 与 agent 代码清晰分离,便于开发新 agent。硬件上非 GPU capsule 用 Standard_E2as_v5、GPU capsule 用 Standard_NC4as_T4_v3(Azure)。

3.6 防污染与防作弊

[!TIP] 什么是数据污染(data contamination)?CORE-Bench 怎么防?评测样本或其答案泄漏进模型训练语料,导致模型不是"真会"而是"背过",虚高分数、失去测量意义。CORE-Bench 的风险是:这些 CodeOcean 论文和结果都公开在网。 本文的应对: 1. 可周期性更新任务集——benchmark 基于公共仓库,作者可持续加入新 capsule,"缓解污染与饱和的担忧"(这是相对固定基准的一大结构性优势)。 2. 隔离 VM——防 agent 篡改 benchmark、标准化硬件访问。 3. 封锁在线来源——发布版 harness 已限制访问 CodeOcean.com 域名(起因是有 agent 试图上 CodeOcean 网站查缺失依赖)。

安全 guardrail 的现实(§4.7):一个 agent 曾试图上网找缺失依赖、甚至想在 CodeOcean 注册账号(因网站需 JavaScript 而未得逞)。作者坦言"没有现成机制阻止 agent 犯简单错误(如在某网站创建上千个账号)",当前只因 agent 无法渲染 JS 才没造成破坏——随 agent 变强需加更多安全检查


4 评测结果

4.1 主结果:最强 21%(Hard),任务专用改造收益巨大

两个基线 agent: - AutoGPT:几乎未改的通用 AutoGPT,仅加了一个 query_vision_language_model 工具(喂图+问题、返 OpenAI 对图像的回答,因为"能查视觉模型"不是 CORE-Bench 专属才加进 AutoGPT)。 - CORE-Agent:在 AutoGPT 基础上为每个难度级定制——核心改动是加了对 report.json 提交与键名的程序化校验,外加针对每级的提示 hint(治由训练集失败分析发现的常见坑)。作者强调:这套改造只花了几天,最耗时的是分析失败日志找有效提示,且大受益于 AutoGPT 对历史动作的自动摘要。

主结果(Table 5,test set,pass@1,CORE-Agent 取 3 次平均,AutoGPT 因成本只跑 1 次)

Agent LLM Easy Medium Hard
CORE-Agent GPT-4o 60.00% 57.78% 21.48%
CORE-Agent GPT-4o-mini 44.44% 32.59% 16.30%
AutoGPT GPT-4o 35.56% 37.78% 6.67%
AutoGPT GPT-4o-mini 8.89% 2.22% 2.22%

[!IMPORTANT] 两个头条读数: 1. 最强 agent 在 Hard 级只有 21.5%——"给了现成代码、只要装依赖+跑通+读数"都只能复现两成,headroom 极大。这是全文的招牌数字。 2. 通用 agent 稍加任务定制就大涨,且对弱模型收益更大——Easy 级上,GPT-4o-mini 从 AutoGPT 的 8.9% 跳到 CORE-Agent 的 44.4%(≈5×),GPT-4o 从 35.6% 到 60.6%。作者据此假设:"未来更强的模型将需要更少的任务专用改造就能表现好。" 这正是 [[ref09_meta-harness]] / [[ref17_self-harness]] 的核心论点在评测端的活标本——harness(scaffold + 提示 + 格式校验)不是中性容器,它和分数深度耦合,且对越弱的模型杠杆越大。

4.2 难度、模型、成本三条曲线

① 准确率随难度递减(如预期):Easy > Medium > Hard。Medium 若 agent 擅长终端交互本应和 Easy 差不多难;Hard 因为要装全部依赖 + 推断正确命令,显著更难——这解释了从 ~58% 到 ~21% 的断崖。

② 更强模型即便 token 预算更少也更准:两 agent 都设 $4/任务的 API 成本上限。GPT-4o-mini 每 token 成本不到 GPT-4o 的 5%(同样预算能跑更久),但 GPT-4o 仍在两 agent 上都胜出;GPT-4o-mini 驱动的 agent 实际便宜 3–5×。各设定下平均成本 Easy < Medium < Hard。

③ 提高成本上限收益有限(Figure 7):把 Hard 的上限从 $4 提到 $10,GPT-4o-mini 不变、GPT-4o 仅从 26% 微升到 31%。原因很尖锐——agent 成功时都很快成功(CORE-Agent+GPT-4o 成功任务平均只花 $0.54,失败任务花 $2.59),失败时则常卡住、反复装同一个库直到烧完预算。给更多时间也解不开——"卡住的往往一直卡着"。

4.3 分项:文本 > 视觉,Python >> R

文本题比视觉题容易:Easy 级上 CORE-Agent+GPT-4o 视觉题 59.3% vs 文本题 87.9%;GPT-4o-mini 视觉题 37.8% vs 文本题 81.8%。视觉题难在:要从多个输出图里先定位对那张图(agent 常用错图回答),定位后读图也难。

Figure 8: CORE-Agent 按学科与编程语言的成功率——Python 远高于 R,计算机学科最高

Figure 8 逐元素解读: - 左(按学科):CORE-Agent+GPT-4o 在 计算机 ≈57% > 社科 ≈41% > 医学 ≈37%;GPT-4o-mini 各学科都更低(约 27–35%)。误差棒是 3 次试验的 1 个标准差。 - 右(按语言)Python ≈66% 远高于 R ≈27%(GPT-4o);GPT-4o-mini 同样 Python(≈44%) >> R(≈18%)。 - 为什么 R 难? R 输出常更难解析(很多 R capsule 生成整份 PDF 手稿要 agent 通读);装 R 包的依赖也常比 Python 慢很多。计算机学科不成比例地用 Python,这也解释了它为何最可复现。

4.4 可靠性:pass@k 与 pass∧k

4.5 定性失败模式(agent 到底卡在哪)

作者人工看日志总结(§4.6): - Easy:输出写在单文件/直接打印到终端时 agent 表现好;输出分散在多文件(多张图)时,agent 难判断哪张图相关,常用错图回答。 - Medium:AutoGPT 常不听指令用 Docker——读了 README 就想手动复现、被冲突指令带偏;CORE-Agent 因任务专用提示基本不犯这错,错误多来自上面的检索问题。 - Hard:除检索问题外,agent 栽在装依赖——常在烧完预算前还没解决版本冲突,卡在反复装同一个库;给更多预算也解不开。

[!IMPORTANT] CORE-Bench 测出的 agent 能力画像:会读单文件输出、会跑简单命令,但"在多文件里定位对结果"和"把一堆依赖装齐跑通"是两大主要失败源。" 这与 [[ref30_paperbench]] 的"Code Dev 35–43% 但 Execution 只有 2–7%"是同一诊断的两种度量**——当前 agent 的短板高度集中在"环境搭建 + 执行 + 精准定位结果",而非"写代码"本身。

4.6 成本


5 局限与讨论


个人思考

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

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

  1. 把"验证真值"外包给可信平台——CORE-Bench 最聪明的一招是基于 CodeOcean capsule(本就可复现),从而让"构造 benchmark 远比解 benchmark 容易"这个铁律成立。任何要"验证复杂产物"的评测都该想:有没有现成的、已验证的数据源可依托?
  2. 难度阶梯 = 给信息的多少——用"给多少复现材料"切 Easy/Medium/Hard,比"给多少分层 rubric"更轻量,且天然对应真实场景的信息完备度。全 0 阶段仍有区分度。
  3. "全对才算 + 至少一个开放数值问题"防蒙——比单题准确率更严格,且契合"复现"语义(读错任一值就不算复现)。
  4. 预测区间判随机答案——用 3 次人工复现构 95% 预测区间,是处理"输出有随机性"的干净做法(虽然本文只有 17/181 题用得上)。
  5. 可周期性更新的公共数据源 = 抗污染/抗饱和——相比固定 benchmark 的结构性优势,值得任何长期 benchmark 借鉴。

在我的工作中能怎么用

开放问题 / 疑问

局限性(对基准本身)