跳到正文

目录

AI Scientist-v2:智能体树搜索驱动的自动化科研论文生成

AI Scientist-v2:把实验设计从模板改成树搜索

AI Scientist-v2 的贡献不在"更会写论文",而在把实验设计这一步从 v1 的人类模板手里交还给模型。代价是成功率下降、成本上升,换来的是更开放的探索空间——以及一篇完全由 AI 生成、在同行评审中拿到高于接收线分数的论文。本文拆解树搜索机制、那条评审结果该怎么读,以及现在该在什么场景用它。

一、v1 和 v2 差的不是写作,是实验设计从哪来

v1(SakanaAI/AI-Scientist)里,模型能产出的东西被人类模板框住。系统只能在 NanoGPT、2D Diffusion、Grokking 这类模板里选一个,把 idea 填进模板预留的插槽,实验怎么跑基本是定死的。这一步可靠,因为变异范围小,但也就限制了系统能探索的假设。

v2 把这一步也交给模型。给定一个宽泛的研究主题,系统自己提出假设、自己决定实验怎么做、失败了自己换个方向。这从"在一条固定路径上填参数"变成了"在一棵实验树上搜索"。README 里说得很直白:v2 不必定比 v1 好,有强起始模板时 v1 成功率更高、产出更稳,v2 是给开放式探索用的。

维度v1v2
代码来源人类写好的领域模板模型自主生成、自主修改
实验推进线性流水线,走完即止最优优先树搜索,并行生长多分支
适用范围特定领域(NanoGPT、2D Diffusion、Grokking)领域通用,不受模板限制
失败分支没有退路,只能硬走放弃失败路径,收缩到最有希望的方向
评审与图表标准自动评审引入 VLM 反馈循环,优化图表与正文一致性
定位目标明确时成功率更高开放式探索,成功率为代价换取广度

二、系统总览

三段流水线,中间那段是 v2 的命门。

阶段二里,实验管理器(ai_scientist/treesearch/agent_manager.py)在几棵树之间调度资源。每个 Worker 独立探索一条分支,实验失败就触发自适应调试重试,管理器按 best-first 把预算分给更有希望的分支。这套树搜索没有沿用 v1 的线性流水线,而是引入了 Forster 团队在 AIDE 里验证过的"结合贪心爬山与宽度优先搜索"思路,据此实现自己的最优优先树搜索。

阶段三里还有一处 v1 没有的增强:论文的自动评审(reviewer)接入了视觉语言模型(VLM)反馈循环。它不只读文字,还会看图表,针对图的质量、标题和正文叙述之间的对应关系反复提修改意见,让最后写出来的论文图文一致。

三、树搜索:把"下一步做什么"变成可搜索的状态

v1 是线性推进:假设 → 实验 → 结论,走完拉倒。v2 把实验切开成节点,多个可行方向并行生长,失败的分支被放弃而不是硬走下去。这样系统能同时试几条路,再根据中间结果收缩到最有希望的那条。

第一段是 ideation(ai_scientist/perform_ideation_temp_free.py)。你给一个 Markdown 主题文件(含 Title、Keywords、TL;DR、Abstract),它用 LLM 生成一批候选想法,调用 Semantic Scholar 检查新颖性,最后产出结构化的研究想法 JSON。

第二段的搜索参数都写在 bfts_config.yaml

参数作用
num_workers并行探索的分支数
steps整棵树最多探索的节点数
num_seeds初始根节点数量,一般跟随 num_workers
max_debug_depth一个失败节点最多调试几次才放弃
debug_prob失败时触发调试的概率
num_drafts阶段一里独立生长的树的数量

四、一次任务怎么流过系统

以"探索新的深度学习优化器"这类主题为例。第一步,把主题写成 Markdown 放进 ai_scientist/ideas/,跑 ideation:

python ai_scientist/perform_ideation_temp_free.py \
  --workshop-file "ai_scientist/ideas/my_research_topic.md" \
  --model gpt-4o-2024-05-13 \
  --max-num-generations 20 \
  --num-reflections 5

它生成 my_research_topic.json,里面是一批带假设、实验方案和相关工作分析的 idea。第二步,用这个 JSON 启动主流水线:

python launch_scientist_bfts.py \
  --load_ideas "ai_scientist/ideas/my_research_topic.json" \
  --load_code \
  --add_dataset_ref \
  --model_writeup o1-preview-2024-09-12 \
  --model_citation gpt-4o-2024-11-20 \
  --model_review gpt-4o-2024-11-20 \
  --model_agg_plots o3-mini-2025-01-31 \
  --num_cite_rounds 20

若干 Worker 并行跑实验,遇到 CUDA 内存不足这类失败,自适应调试会尝试修复(比如换小模型)再重试,调试次数受 max_debug_depth 限制。实验结束后,experiments/"timestamp_ideaname"/logs/0-run/ 目录下会生成树搜索的可视化 unified_tree_viz.html。最后进入 writeup 阶段,聚合实验数据、生成图表、写 LaTeX 论文,这一步通常要 20 到 30 分钟,产出 timestamp_ideaname.pdf

五、那篇"通过评审"的论文,该怎么读

2025 年 3 月,SakanaAI 宣布一篇完全由 AI Scientist-v2 生成的论文在 ICLR 的 workshop 上走完了同行评审。论文题为《Compositional Regularization: Unexpected Obstacles in Enhancing Neural Network Generalization》,三位评审给了 6、7、6,均分 6.33,高于该 workshop 的接收阈值。据 SakanaAI 所知,这是第一篇完全由 AI 生成、通过标准同行评审流程的论文。

读这个结果时,有几个背景要放进去:

  • 那是个 workshop,不是主会议。ICLR 之类顶会主会议的接收率通常在 20% 到 30%,而像这次投稿的 ICBINB workshop 接收率在 60% 到 70%。过了 workshop 的线,不等于过了主会议的线。
  • 作者自己按主会议标准内部评审了全部 3 篇 AI 论文,结论是都不够主会议门槛。那篇过线的论文,主题是个负结果(negative result)——它报告的是"新正则化方法没能提升组合泛化"——而这恰恰是 ICBINB 鼓励的方向。
  • 这次评审是 SakanaAI 与 ICLR 及 workshop 组织方协作的实验。按事前约定,即使论文过线,也会在发表于 OpenReview 前撤稿;也就是说,它达到了接收线,但没有真的被发表。
  • 评审中暴露了 AI 系统的毛病:它把"基于 LSTM 的网络"错误引用到了 Goodfellow 2016,而正确出处是 Hochreiter 与 Schmidhuber 1997。

所以正确的读法是:这证明了"AI 能生成达到 workshop 接收标准的论文"这件事发生了,但离"达到顶会主会议标准"还有距离。数字本身(6.33、60%-70%)是评估的语境,不是能力的上限。

这套验证的原始材料都公开了:系统论文见 arXiv:2504.08066(Yamada, Lange, Lu, Hu, Lu, Foerster, Clune, Ha;Sakana AI 与 UBC、Vector Institute、Oxford 合作),官方博客《The AI Scientist: First AI-Generated Peer-Reviewed Publication》,三篇投稿论文及评审细节放在 SakanaAI/AI-Scientist-ICLR2025-Workshop-Experiment 仓库,主代码在 SakanaAI/AI-Scientist-v2(Apache 2.0)。想核实任何数字,直接看这三处原始出处。

六、适用边界与采用建议

该在什么场景用它:

  • 当你是研究者、想要新的实验方向时:v2 可以作为 idea 生成器,给定一个宽泛主题,让它产出候选假设和实验方案,你从中挑有潜力的。这一步成本很低,ideation 一般只要几美元。
  • 当你有强起始模板、目标明确时:继续用 v1 更划算。README 明确说 v2 在这种场景不一定更好,反而成功率更低。v2 的"更广探索"是以成功率为代价换来的。
  • 当你只想验证流程、不想烧太多钱时:一次完整运行,实验阶段用 Claude 3.5 Sonnet 大约 $15-20,写作用默认模型约 $5,加上 ideation 几美元,总成本在一个量级。预算和 num_workerssteps 直接相关,可以先调小跑通再放大。

三条边界必须记住:

  1. 成本与成功率挂钩。成功率取决于实验阶段用的模型和 idea 的复杂度,用 Claude 3.5 Sonnet 一般更高。跑不出 PDF 或 review 是常见结果,不是 bug。
  2. 必须在沙箱里跑。系统会执行 LLM 生成的代码,可能装危险包、访问网络、拉起进程。README 要求用 Docker 容器隔离。
  3. 发表要披露。许可证要求在任何由此产生的论文里清楚披露 AI 的使用,Abstract 或 Methods 里加归属声明。

树搜索的实现基于 AIDE,作者也在 README 里致谢了。这意味着这一层的改进可以顺着 AIDE 的迭代继续走。

结语

AI Scientist-v2 的价值要分开看。作为"自动生成论文"的系统,它目前的产出离顶会主会议还有距离,成本也不低。作为"把实验设计交给模型"的工程实验,它把开放式科研探索往前推了一步——第一篇 AI 生成的论文拿到高于接收线的评审分这件事,本身就是测量尺上的一次移动。用的时候别把它当成稳定的论文生产线,当成一个能帮你提出假设、跑通完整科研流程的探索工具更恰当。

参与讨论

使用 GitHub 登录。欢迎补充事实、异议与实践。