AI Scientist v2 —— workshop 级别的自主研究
Sakana 的 AI Scientist v2(Yamada 等人,arXiv:2504.08066)跑完整个研究循环:假设、代码、实验、图表、撰写、投稿。它是第一个让生成的论文通过 ICLR 2025 一个 workshop 同行评审的系统。独立评估(Beel 等人)发现 42% 的实验因编码错误而失败,而文献综述常把已确立的概念误标为新颖。Sakana 自己的文档警告说,这套代码会执行 LLM 写的代码,并建议用 Docker 隔离。这幅图景的两半都是要点所在。
类型: Learn 语言: Python(标准库,研究循环状态机玩具) 前置要求: 阶段 15 · 03(AlphaEvolve),阶段 15 · 04(DGM) 预计时间: ~60 分钟
问题背景
研究是一项开放式任务。不像 AlphaEvolve 的算法搜索或 DGM 受基准约束的自我修改,一个研究结果没有机器可校验的正确性判据。一篇论文由评审而非单元测试来评判。这让循环更难闭合——而一旦闭合就更有价值,因为研究正是复利式进步的所在。
AI Scientist v1(Sakana,2024)靠从人类撰写的模板出发来闭合循环。LLM 在固定的脚手架内填补实验。AI Scientist v2(Yamada 等人,2025)用带视觉语言模型批判循环的 agent 化树搜索去掉了对模板的要求。系统生成想法、实现实验、产出图表、写论文,并根据评审反馈迭代。
同行评审的裁定:一篇 v2 生成的论文在 ICLR 2025 的一个 workshop 被接收(已披露)。独立评估的裁定:这个系统离可靠还差得远。两者都是真的。
核心概念
架构
- 想法生成。 LLM 以主题和先前文献为条件提出研究想法。v1 用模板;v2 在假设空间上做 agent 化搜索。
- 新颖性检查。 一个文献检索步骤检查这个想法是否已被发表。正是这一步,Beel 等人的评估发现了误标——已确立的方法常被归类为新颖。
- 实验计划。 agent 起草一份实验协议并写代码。
- 执行。 代码在沙箱里运行。失败被喂回一个重试循环。在 Beel 等人的测量中,这一阶段有 42% 的实验因编码错误而失败。
- 图表生成。 一个视觉语言模型读取生成的图表,并为清晰起见重写它们。这是 v2 关键的技术新增。
- 撰写。 LLM 起草论文,与一个内部评审迭代。
- 可选:投稿。 论文被投到某个会场。
workshop 接收这个结果意味着什么
一篇 v2 生成的论文通过了 ICLR 2025 一个 workshop 的同行评审。作者向程序委员会披露了论文的来源。这次接收是一个数据点;它不是宣称该系统"会做研究"的许可证。
重要背景:workshop 论文的门槛比主会议论文低。同行评审有噪声;任何一天都只有一小部分投稿被接收。一次成功是概念验证,不是可靠性声称。Nature 2026 那篇论文记录了端到端的循环,其本身由人类研究者共同署名;这不是"系统写了一篇 Nature 论文"。
独立评估发现了什么
Beel 等人(arXiv:2502.14297)做了一次外部评估。头条发现:
- 实验失败。 42% 的实验因编码错误而失败(错误的 import、shape 不匹配、未定义变量)。重试循环抓住了一些,但不是全部。
- 新颖性误标。 文献检索步骤常把已确立的概念标记为新颖。这是研究界的幻觉。
- 呈现质量的落差。 视觉语言图表批判产出了出版级别的视觉效果,掩盖了底层实验的薄弱。
最后这条发现对本阶段是重要的那一条。一个不做令人信服的研究、却产出令人信服的输出的系统,比一个明显失败的系统更危险,而非更安全。评估必须触及底层的声称,不能停在图表上。
沙箱逃逸的隐患
Sakana 自己的仓库 README 警告:
由于本软件会执行 LLM 生成的代码,其性质决定了我们无法保证安全。存在危险包、不受控的网络访问,以及生成意料之外进程的风险。使用风险自负,并考虑 Docker 隔离。
这就是未经验证领域里自主性的运作形态。LLM 写代码;代码运行;代码能干进程被允许干的任何事。没有一个对文件系统、网络和进程动作做硬性限制的沙箱,任何自主研究 agent 都能外泄数据、烧算力,或者改写自己。
AlphaEvolve 的沙箱说法更容易,因为它的评估器很紧。AI Scientist v2 的循环跑的是带开放式目标的开放式代码。这就是为什么它需要更强的隔离(Docker 起步;seccomp / gVisor 更佳),以及在每一次投稿离开系统之前的人工审查。
v2 在前沿技术栈里的位置
| 系统 | 对象 | 输出种类 | 评估器 | 已知失败 |
|---|---|---|---|---|
| AlphaEvolve | 算法 | 代码 | 单元 + 基准 | 受评估器严谨度约束 |
| DGM | agent 脚手架 | 代码 | SWE-bench | 奖励黑客 |
| AI Scientist v2 | 研究论文 | 文本 + 代码 + 图表 | 同行评审(弱) | 实验失败、误标、精修掩盖薄弱 |
三者中 v2 的自动评估器最弱,输出面最宽,通往公开产物的路径最短。运营层面的控制(沙箱、审查、披露)承担了大部分的安全工作。
mx-research-loop实际使用
code/main.py 把 v2 循环模拟成一个状态机:想法 → 新颖性检查 → 实验 → 图表 → 撰写 → 评审 → 接收或迭代。每个状态都有一个可配置的失败概率,取自 Beel 等人的发现。把模拟器跑 N 个循环,统计:
- 有多少想法走到投稿。
- 有多少投稿带有一处被精修过的论文藏起来的关键实验缺陷。
- 重试预算如何在质量和产出之间做取舍。
拿去用
outputs/skill-ai-scientist-sandbox-review.md 是一份两道关的审查清单,用于任何由研究循环 agent 产出、即将离开沙箱的东西。
练习
用默认参数运行
code/main.py。多大比例的循环运行产出一篇"干净"的论文?多大比例产出一篇带有被图表批判精修掩盖的实验失败缺陷的论文?默认值已经用了 Beel 等人的 42% / 25%。用
--experiment-failure 0.20 --novelty-mislabel 0.10再跑一次,然后用--experiment-failure 0.60 --novelty-mislabel 0.40跑一次。被精修但有缺陷的占比在两次运行间如何变化?读 Sakana AI Scientist v2 仓库 README 关于沙箱要求的部分。说出你会为一次多日自主运行额外施加的两条限制(Docker 之外)。
读 Beel 等人第 4 节关于呈现质量落差的部分。设计一个额外的评估器,能抓出看起来精修、但实验有缺陷的论文。
为研究 agent 的输出提出一套比"一个博士读每篇论文"扩展性更好的人工审查协议。指出瓶颈并围绕它来设计。
关键术语
| 术语 | 大家嘴上怎么说 | 实际指什么 |
|---|---|---|
| AI Scientist v1 | "Sakana 的模板化研究 agent" | 把实验填进固定脚手架 |
| AI Scientist v2 | "无模板研究 agent" | 带 VLM 图表批判的 agent 化树搜索 |
| Agentic tree search(agent 化树搜索) | "分支式研究 agent" | 并行展开多个实验计划;靠内部批判者剪枝 |
| Vision-language critique(视觉语言批判) | "VLM 对图表的精修" | 多模态模型读图并为清晰起见重写它们 |
| Literature retrieval(文献检索) | "新颖性检查" | 搜索先前工作以确认想法新颖性——有记录会误标 |
| Polish masking(精修掩盖) | "论文漂亮,研究坏掉" | 呈现质量超过实验质量;掩盖薄弱 |
| Sandbox escape(沙箱逃逸) | "LLM 代码跑出去了" | agent 执行的代码做了循环设计者没打算让它做的事 |
延伸阅读
- Yamada et al. (2025). The AI Scientist-v2 —— 论文。
- Sakana blog on the Nature 2026 publication —— 带同行评审背景的厂商摘要。
- Beel et al. (2025). Independent evaluation of The AI Scientist —— 外部评估数字。
- Sakana AI Scientist v1 paper —— 模板化的前身。
- Anthropic — Measuring AI agent autonomy —— 对开放式研究 agent 更宽的框架。