# 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 被接收（已披露）。独立评估的裁定：这个系统离可靠还差得远。两者都是真的。

## 核心概念

### 架构

1. **想法生成。** LLM 以主题和先前文献为条件提出研究想法。v1 用模板；v2 在假设空间上做 agent 化搜索。
2. **新颖性检查。** 一个文献检索步骤检查这个想法是否已被发表。正是这一步，Beel 等人的评估发现了误标——已确立的方法常被归类为新颖。
3. **实验计划。** agent 起草一份实验协议并写代码。
4. **执行。** 代码在沙箱里运行。失败被喂回一个重试循环。在 Beel 等人的测量中，这一阶段有 42% 的实验因编码错误而失败。
5. **图表生成。** 一个视觉语言模型读取生成的图表，并为清晰起见重写它们。这是 v2 关键的技术新增。
6. **撰写。** LLM 起草论文，与一个内部评审迭代。
7. **可选：投稿。** 论文被投到某个会场。

### 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 的自动评估器最弱，输出面最宽，通往公开产物的路径最短。运营层面的控制（沙箱、审查、披露）承担了大部分的安全工作。

## 实际使用

`code/main.py` 把 v2 循环模拟成一个状态机：想法 → 新颖性检查 → 实验 → 图表 → 撰写 → 评审 → 接收或迭代。每个状态都有一个可配置的失败概率，取自 Beel 等人的发现。把模拟器跑 N 个循环，统计：

- 有多少想法走到投稿。
- 有多少投稿带有一处被精修过的论文藏起来的关键实验缺陷。
- 重试预算如何在质量和产出之间做取舍。

## 拿去用

`outputs/skill-ai-scientist-sandbox-review.md` 是一份两道关的审查清单，用于任何由研究循环 agent 产出、即将离开沙箱的东西。

## 练习

1. 用默认参数运行 `code/main.py`。多大比例的循环运行产出一篇"干净"的论文？多大比例产出一篇带有被图表批判精修掩盖的实验失败缺陷的论文？

2. 默认值已经用了 Beel 等人的 42% / 25%。用 `--experiment-failure 0.20 --novelty-mislabel 0.10` 再跑一次，然后用 `--experiment-failure 0.60 --novelty-mislabel 0.40` 跑一次。被精修但有缺陷的占比在两次运行间如何变化？

3. 读 Sakana AI Scientist v2 仓库 README 关于沙箱要求的部分。说出你会为一次多日自主运行额外施加的两条限制（Docker 之外）。

4. 读 Beel 等人第 4 节关于呈现质量落差的部分。设计一个额外的评估器，能抓出看起来精修、但实验有缺陷的论文。

5. 为研究 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](https://arxiv.org/abs/2504.08066) —— 论文。
- [Sakana blog on the Nature 2026 publication](https://sakana.ai/ai-scientist-nature/) —— 带同行评审背景的厂商摘要。
- [Beel et al. (2025). Independent evaluation of The AI Scientist](https://arxiv.org/abs/2502.14297) —— 外部评估数字。
- [Sakana AI Scientist v1 paper](https://arxiv.org/abs/2408.06292) —— 模板化的前身。
- [Anthropic — Measuring AI agent autonomy](https://www.anthropic.com/research/measuring-agent-autonomy) —— 对开放式研究 agent 更宽的框架。
