模型到底是真编程还是背代码?斯坦福团队打造开源基准库,模型科研编程能力一测便知
“在一次长谈中,导师向我描绘了未来科研的场景:将来科学家只需抛出假设,背后成百上千个 AI Agents 会在几分钟内设计并完成实验。要想抵达那个未来,首先得有一把可靠的‘尺子’去衡量大模型能否把一个研究想法成功转化为实验代码,而这便是我们做 Benchmark——ResearchCodeBench的初衷。”近日,美国斯坦福大学博士生华天羽告诉 DeepTech。
图 | 华天羽(来源:华天羽)
在这项研究中,华天羽等人先是打造了一个开源基准库,其中包含 20 篇最新论文和 212 道代码题,每道题都附有可跑的测试。跑完一套,立刻可知道模型在真正的“科研级编程”场景下到底有“几斤几两”。
其次,他们收获了两个实验发现。第一个发现是 SOTA 也难以及格,期间研究团队测试了 32 个大模型,最好成绩(Gemini-2.5‐Pro-Preview)也只通过 37.3% 的可执行行数,OpenAI O3(High)通过了 32.3% 的可执行行数,Claude 3.5 Sonnet 则更低。由此可见,让模型学会“读论文”很有必要:当将论文全文给到模型,它的通过率能够显著提升;当拿走论文、只提供代码上下文的时候,模型性能普遍下滑。第二个发现是他们绘制出了一份错误分布画像,即近六成模型做科研编程的失败原因是由于“语义/逻辑错误”,而语法错误和命名类错误已不再是主要瓶颈。
就应用前景来说:
首先,可作为模型迭代的“验收标准”:大模型公司可以把 ResearchCodeBench 当作回归测试,查看新版本大模型在科研场景到底有没有真正取得进步。
其次,可作为科研助手的对标基线:未来如果有人做“自动复现论文”的 AI Agent,就能拿 ResearchCodeBench 做公开横评。
最后,可以延伸到跨学科:由于本次框架是通用的,因此后续可以加入生物、材料、量化金融等领域代码,成为更全面的“科学编程测评池”。
(来源:arXiv)
谈及研究背景,华天羽表示过去两年大家都在谈“AI + 科研”,但是可落地的量化评测一直缺位。已有的代码类基准比如 HumanEval、MBPP 等更像是编程题库,它们测试的是常见算法。而科学研究的痛点是“实现没见过的新想法”,这就需要大模型一边读论文、一边写出能跑通的实验代码。因此,研究团队想知道“大模型到底能不能真正帮科研人员把最新论文里的点子写成可执行的代码”。
于是,研究团队提出了 ResearchCodeBench——把 20 篇 2024 年至 2025 年的顶会论文和预印本论文拆成 212 个“填空式”代码挑战,并配上单元测试。这样做的目的只有一个:衡量大模型在真正“前沿场景”中的编程实力,而非仅仅只是背代码。基于此,他们开展了本次研究。
(来源:arXiv)
据介绍,本次课题立项于 2024 年盛夏。当时,华天羽刚加入目前所在的课题组。不过,彼时他并不理解导师抛出的“代码生成”命题。如前所述,他后来听到了导师向他描绘的未来科研场景,于是便理解了这一命题。
2024 年初秋,课题进入需求拆解与打造技术路线的阶段。由于资源有限,华天羽自己训练顶级模型根本不现实,于是他和所在团队把重点放在“考题”本身,
据了解,此次研究只选用 2024 年之后的新论文,以便确保模型在接受预训练时没有见过这些内容。同时,还得确保每道题都必须能够执行和能够自动判分,而且评测一定要快,确保普通笔记本在几秒内就能给出结果。
2024 年深秋至初冬,华天羽开始进行指标实验。期间,他和所在团队尝试了编辑距离、代码向量距离、大模型评分等五六种度量方式,最后发现最可靠的方式居然是最笨的方式——即把模型生成的代码塞回原项目,通过跑单项测试来查看结果。为了“偷懒”,他花费了三个月时间“捣鼓”,目的就是想让大模型自动写这些测试,然而最终却以失败告终。“确实,在那个时候,复杂的科研代码的测试用例还必须人工编写。”华天羽表示。
随后,他开始进行数据落地,从 20 篇顶会论文和 arXiv 预印本论文中进行“抽核心实现”和“埋 XML 标签”等操作,然后手写了 212 份单元测试。“找外包是不行的,因为要看懂研究级别的代码的门槛太高,只能我和同门硬啃。”他说。其中,最大的挑战便是“剪枝”:要让每道题既能反映论文亮点,又不牵出一大堆依赖链。
完成数据落地之后,开始进入大模型统测阶段。期间,华天羽连续两个月和 32 个长上下文模型较劲,面对不同 API 的上下文限制、速率限制和沙盒依赖,都要逐一地打补丁。最终,他得出了首批分数,尽管最好的分数也只过了仅仅不到 40 % 的行数,但这已经足够为科研社区拉出清晰的基线。
然后,他开始整理实验、补做污染分析,并写好了脚本和网页表单,实现了让任何人都能“一键提交论文、一键跑分”。
(来源:arXiv)
事实上,期间他曾因为寻求帮助而吃闭门羹。为了寻找合作伙伴协助标注,他和所在团队逐一发邮件联系,但是大约一半的邮件都没有收到回复。“这逼得我快速改进沟通方式,把邮件主题精简成一句话、正文先提供具体技术反馈,然后再说明合作需求,于是回信率明显提升。”他表示。通过此,他不仅获得了所需要的帮助,也练出了更主动、更直接的沟通习惯。
另据悉,Benchmark 最初叫 Paper2Code,上线之前他发现领域内已经有同名项目。于是,整个团队商量着紧急“改名”,列出数十个候选之后逐一进行查重和讨论,最终他们采用了 ResearchCodeBench 这一命名,该命名不仅含义清晰、不撞名,而且缩写比较好记。
在后续计划上:首先,他将进行半自动生成测试,现在大模型的代码能力肉眼可见地提升,因为他将在下一版中尝试“模型 A 写单测、模型 B 审核、人类抽样”,把新增题目的人力成本压到数分钟以内。其次,他将进行跨学科扩容,计划在 2025 年之内再引入至少 40 篇生物、材料、量化金融等领域的新论文,让基准覆盖更广。再次,他将开展 Agent-style 评测,即从“一次性填空”升级到“多轮 run-debug-refine”,以便更加贴近真实的科研工作流。另外,他将设置人类基线,通过邀请博士后和高级工程师在子集上手写实现,记录耗时与正确率,给出“人类上限”对照。最后,他将致力于实时 Live-Bench,即在每个月度里进行新论文抓取,只要时间戳晚于主流模型的训练截止,就自动进“新手村”子集,确保始终测试新题目,防止模型背答案。
据介绍,华天羽本科学习于中国地质大学(北京)。毕业时正逢疫情爆发,随后在上海期智研究院工作了一年。之后,华天羽前往英属哥伦比亚大学攻读硕士。读博时,他更希望与“人好、氛围好”的导师长期合作。美国斯坦福大学 CS 系第一年需轮转,可以到不同实验室体验。最终,华天羽选择了现在的课题组,虽已不再专注于自己原先熟悉的计算机视觉方向,但导师的口碑和科研文化让华天羽决定留下。比如,课题组之前做过一些 human cognition inspired AI 的研究,再比如课题组在三年前就有同学在做推理机制(reasoning)研究,而华天羽对这些带有人文味道的科研项目很感兴趣。
据了解,他对于 AI 与人类认知的兴趣可以追溯到高中:当时填报志愿时,华天羽直接问“哪个专业以后能做 AI?”,于是选择了计算机。正好赶上深度学习崛起,虽然那时中文互联网每年都在讨论“算法岗秋招有多难”,但是华天羽仍然一路靠做 AI 研究“吃饭”走到今天。目前,他正在读博士二年级,预计还有很多“AI 之山”等着这名无锡男孩去攀登。
参考资料:
Benchmark: https://researchcodebench.github.io
Paper: https://arxiv.org/abs/2506.02314
Code: https://github.com/PatrickHua/ResearchCodeBench
运营/排版:何晨龙