AI Scientist v2:workshop 级自主研究 本节摘要:Sakana 的 AI Scientist v2(Yamada 等,2025)跑完整研究循环:假说、代码、实验、画图、写作、投稿。它是首个有生成论文通过 ICLR 2025 workshop 同行评审的系统。但独立评估(Beel 等)发现 42% 的实验因编码错误失败,文献综述经常把已有概念误判为「新颖」;Sakana 自己的文档也警告代码库会执行 LLM 写的代码、建议 Docker 隔离。这两半画面合起来才是要点:一个能产出有说服力输出、却没做有说服力研究的系统,比一个明显失败的系统更危险。
本节摘要:Sakana 的 AI Scientist v2(Yamada 等,2025)跑完整研究循环:假说、代码、实验、画图、写作、投稿。它是首个有生成论文通过 ICLR 2025 workshop 同行评审的系统。但独立评估(Beel 等)发现 42% 的实验因编码错误失败,文献综述经常把已有概念误判为「新颖」;Sakana 自己的文档也警告代码库会执行 LLM 写的代码、建议 Docker 隔离。这两半画面合起来才是要点:一个能产出有说服力输出、却没做有说服力研究的系统,比一个明显失败的系统更危险。本节讲透 v2 的架构(用 Agent 式树搜索加视觉语言模型批判循环去掉模板)、workshop 接收这个数据点到底意味着什么、独立评估揭出的三类失败,以及为什么「评估器最弱、输出面最宽、通往公开产物路径最短」让运营控制(沙箱、人工审查、披露)承担了大部分安全工作。
对应原课程:Phase 15 · Lesson 05 ·
ai-scientist-v2(原英文phases/15-autonomous-systems/05-ai-scientist-v2/docs/en.md)。
阅读完本节,你应当能够:
研究是开放任务。与 AlphaEvolve 的算法搜索、DGM 的基准有界自我修改不同,研究结果没有机器可验证的正确性判据——论文由评审人判,不是单元测试。这让循环更难闭合;而一旦闭合也更值钱,因为研究是复利进步的所在。
AI Scientist v1(2024)靠人工写的模板闭合循环:LLM 在固定脚手架里填实验。v2(2025)用 Agent 式树搜索加视觉语言模型批判循环,去掉模板要求:生成想法、实现实验、画图、写论文、按评审反馈迭代。
同行评审的裁定:一篇 v2 生成的论文被 ICLR 2025 workshop 接收(已披露来源)。独立评估的裁定:系统离可靠相去甚远。两者都成立。
⚠️ 本节核心张力:研究域没有机器可验证评估器。这意味着 AlphaEvolve 式的「评估器抓住臆构」在此失效,安全压力全部转移到运营控制(沙箱+人工审查)。
原课程 code/main.py 把 v2 循环模拟成一个状态机:创意→新颖性检查→实验→画图→写作→评审→接收或迭代。每个状态有一个可配置的失败概率,取自 Beel 等的发现。跑 N 个循环,数:多少创意走到投稿;多少投稿藏着打磨过的关键实验缺陷;重试预算如何在质量与产量间权衡。
def research_loop(rng, p_fail_exp=0.42, p_mislabel=0.25, retries=3): idea = generate_idea() if not novelty_check(idea): # 文献检索,可能把已有判成新颖 return None for attempt in range(retries): code = plan_and_code(idea) result = run_in_sandbox(code) # 沙箱执行 if result.ok: figures = vlm_polish(result) # VLM 读图重写:呈现质量↑ paper = writeup(figures) return {"paper": paper, "flaw_hidden": result.weakness} # 失败(导入错/形状不匹配/未定义变量)→ 重试 return None # 重试耗尽
一篇 v2 生成的论文通过了 ICLR 2025 workshop 的同行评审,作者已向程序委员会披露来源。这个接收是一个数据点,不是「系统能做研究」的许可。
重要背景:workshop 论文的门槛低于主会论文;同行评审有噪声,任何一天都有一小部分投稿会被接收;一次成功是概念验证,不是可靠度声明。2026 年 Nature 论文记录了端到端循环,且本身由人类研究者合著——它不是「系统写了一篇 Nature」。
Beel 等(arXiv:2502.14297)做了外部评估,核心发现:
最后一条是本节的重点。一个能产出有说服力输出、却没做有说服力研究的系统,比一个明显失败的系统更危险,而非更安全。评估必须触达底层声明,而不是止步于图表。
Sakana 自己的仓库 README 警告:
鉴于本软件会执行 LLM 生成的代码,我们无法保证安全。存在危险包、不受控网络访问、意外进程派生的风险。风险自负,并考虑 Docker 隔离。
这是无验证域里自主性的运营形状:LLM 写代码、代码运行、代码能做进程权限内的一切。没有硬限制文件系统、网络、进程动作的沙箱,任何自我主导的研究 Agent 都能外泄数据、烧算力、或重写自己。
AlphaEvolve 的沙箱故事好讲,因为它的评估器很紧。AI Scientist v2 的循环跑开放目标的开放代码——这就是它需要更强隔离(Docker 起步、seccomp/gVisor 优先)和每一份投稿在离开系统前的人工审查的原因。
| 系统 | 目标 | 输出类型 | 评估器 | 已知失败 |
|---|---|---|---|---|
| AlphaEvolve | 算法 | 代码 | 单元测试 + 基准 | 受评估器严格度约束 |
| DGM | Agent 脚手架 | 代码 | SWE-bench | reward hacking |
| AI Scientist v2 | 研究论文 | 文本 + 代码 + 图 | 同行评审(弱) | 实验失败、误判、打磨掩盖弱点 |
v2 在三者中自动评估器最弱、输出面最宽、通往公开产物的路径最短。运营控制(沙箱、审查、披露)承担了大部分安全工作——这与 AlphaEvolve「评估器承担安全」形成对照,正是评估器严格度下降时的必然结果。
outputs/skill-ai-scientist-sandbox-review.md 是一份两道闸门的审查清单,用于任何由研究循环 Agent 产出的东西在离开沙箱前的检查:第一道闸门验实验可复现性(代码能否在干净环境跑通、关键数字能否对上);第二道闸门验声明与证据匹配(论文结论是否被实验实际支撑、图表是否掩盖了实验弱点)。
code/main.py 把失败概率做成可调参数(--experiment-failure、--novelty-mislabel),适合在评审里演示「打磨过的次品比例」如何随底层失败率漂移。
用默认参数跑 code/main.py:多大比例的循环产出「干净」论文?多大比例产出被图批判打磨过的、带实验失败缺陷的论文?
默认已用 Beel 的 42% / 25%:先用 --experiment-failure 0.20 --novelty-mislabel 0.10 再用 0.60 / 0.40 各跑一次,「打磨过但有缺陷」的占比如何在两次间漂移?
读 Sakana AI Scientist v2 仓库 README 关于沙箱要求,说出你会为多日自主运行额外加的两条限制(在 Docker 之外)。
读 Beel 等第 4 节关于呈现质量差距,设计一条额外评估器,能抓住「看起来打磨过但实验有缺陷」的论文。
提出一个比「PhD 读每篇论文」更可扩展的人工审查协议,指出瓶颈并围绕它设计。
下一节,把自我改进的对象再升一级——自动化对齐研究(Anthropic AAR),让 Agent 修改研究管线本身,看自主性推到「研究自己的对齐」时会出现什么新风险。