> For AI agents: the site index is available at https://www.juniortree.com/llms.txt; this page is available as Markdown at https://www.juniortree.com/paper-reading/towards-end-to-end-automation-of-ai-research.md.
> Sakana AI 把想法生成、实验执行、论文写作和自动评审串成完整闭环，展示了 AI Scientist 首次让 AI 生成论文通过标准同行评审初轮。

## Page metadata

- **Read:** 2026-04-13
- **Source URL:** https://www.juniortree.com/paper-reading/towards-end-to-end-automation-of-ai-research

# towards-end-to-end-automation-of-ai-research

## 反思

首次完全由AI生成的论文通过标准同行评审流程的报告，标志着AI科研自动化的一个里程碑，初次实现端到端的生成

目前不知道 AI Scientists 生成的课题做的究竟有没有意义，有没有实际解决真实科研中的问题，还是仅仅只是为了发 Paper 说做出来的自动化 token 消耗机

生物学领域中的端到端测试做还是有点难度，因为存在湿实验，不过如果未来能把这个作为 AI Assistants 我觉得意义比全自动的 AI Scientists 更大，可以先做一个干实验的闭环

此外上下文管理的实践可以参考，确实做到了非常优秀的上下文管理，并且在长时程任务中取得了不错的效果，需要考虑到 token 的效率，比 OpenClaw 或者是 Hermes 这样所谓的 Self-Planing Agent 的工程化做的好得多，比如要求模型像写“实验日志（experimental journal）”一样记录结果以作为长程记忆 ；在查重和引文阶段，它会反复调用 Semantic Scholar API 进行多达 20 轮的核对和过滤 ，这种将大模型能力嵌入到严谨代码逻辑和外部工具链中的做法，极大地提高了长文本生成的收敛性和可靠性

另外在 Workflow 中做了一个树搜索节点的尝试，这个非常有意思，并且在文献中指出了随着树节点的增长，最终产出文章的 scores 得到了增长，需要关注的是这个增长是非线性的，也就是说明非常有可能存在着一个“智力的顶峰”，这个顶峰应该是由模型本身的能力来决定的，树搜索只是在模型能力范围内寻找最优解，但无法超越模型本身的能力边界

需要引入人类科学家的观测，比如说可以利用人类科学家的经验，如果出现了一些明知不好的解决（Tree Node），可以直接砍掉，减少了 Agent 的困惑和探索成本（**Human-in-the-Loop (HITL，人机回环)** ）

## 研究背景与动机

AI辅助科学发现有着悠久的历史，但过去的系统只能自动化科研流程中的单个环节（如发现化学结构、预测蛋白质结构、生成假设、辅助编程等），尽管大语言模型（LLM）的出现拓展了AI在科研中的应用范围，但一个能够自主完成从构思到发表全流程的系统此前尚未实现

本文的核心动机是：能否构建一个端到端的AI系统，自主完成科研的全部环节——从想法生成、实验执行、数据分析到论文撰写和同行评审

文章主要是针对深度学习相关的研究，因为其实验可以完全在计算机上完成，对于生物学领域的端到端还缺乏研究

## 系统架构

### 整体流程

主要按照四个阶段进行：

| 阶段 | 功能 | 关键技术 |
| --- | --- | --- |
| Phase 1: 想法生成（Ideation） | 迭代生成研究方向与假设，构建想法档案库 | LLM变异算子 + Semantic Scholar API 新颖性检查 |
| Phase 2: 实验执行（Experimentation） | 执行实验计划，记录实验日志 | 模板模式 / 无模板模式（含树搜索） |
| Phase 3: 论文撰写（Write-up） | 生成完整的LaTeX格式学术论文 | 分节填充 + 文献检索（20轮） + VLM图文对齐 |
| Phase 4: 自动评审（Review） | 对生成论文进行质量评估 | 5次独立评审 + 元评审（Area Chair角色） |

### 两种实验执行模式

#### 模板模式

- 基于人类提供的代码模板（如在Shakespeare数据集上训练小型Transformer）
- 使用开源编程助手 Aider 修改代码
- 线性顺序执行实验计划，具备自动调试能力（最多4次重试）

#### 无模板模式

- 系统自行从零生成代码
- 引入并行化智能体树搜索（Parallelized Agentic Tree Search），大幅增加测试时计算量
- 使用多种模型分工协作：
    - o3：想法生成与代码批评
    - Claude Sonnet 4：代码生成
    - GPT-4o：视觉语言任务
    - o4-mini：评审阶段推理

### 树搜索实验机制

无模板模式的实验阶段采用四阶段树搜索（对应 Fig. 3a）：

```
Stage 1 — 初步调查：测试基本可行性
Stage 2 — 超参数调优：优化实验配置
Stage 3 — 研究议程执行：执行主要实验
Stage 4 — 消融实验：评估各组件贡献
```

每个阶段内部进行独立的树搜索，阶段结束时由LLM评估器选择最优叶节点作为下一阶段的根节点。树中的节点类型包括：

```
常规节点（buggy / non-buggy）
超参数节点（Hyperparameter nodes）
消融节点（Ablation nodes）
复制节点（Replication nodes）—— 不同随机种子
聚合节点（Aggregation nodes）—— 汇总可视化
```

Fig. 3b 展示了一个真实的树搜索案例（主题：抑制快速学习特征以避免捷径依赖），清晰呈现了从构建color-biased MNIST数据集、调优、引入Waterbirds/CelebA数据集到消融实验的完整探索过程

![](https://s3.juniortree.com/pic/2026/04/395e246f615c49719b6ead598c4913a3.webp)

### VLM集成

系统在实验和写作阶段均集成了视觉语言模型（GPT-4o）：

- 实验阶段：批评生成的图表（如标签不清、图例缺失等），反馈用于生成新的调试节点
- 写作阶段：检查图文一致性，确保caption准确描述图表内容

## 自动评审系统：The Automated Reviewer

### 设计

- 基于 o4-mini 构建
- 遵循 NeurIPS 官方评审指南
- 输出结构化评审：数值评分（soundness、presentation、contribution、overall、confidence）+ 优缺点列表 + 接受/拒绝决策
- 5次独立评审 + 元评审（Area Chair角色） 的集成机制

### 验证结果

![](https://s3.juniortree.com/pic/2026/04/19bdd8257dc813782644debe99e8778c.webp)

### 数据污染的问题

测试的评审的语料有可能在模型的预训练时期就包含进去了，因为均衡决策准确率从截断前的69%下降至截断后一年的66%，然而，截断后一年的结果仍与人类审稿人相当（例如66%的均衡准确率），表明潜在污染的影响至多微乎其微

## 实验的一些发现

### 模型的能力与论文质量成正相关

Fig. 1b 显示，随着底层基础模型的发布时间推移（从GPT-4到Sonnet-4/Gemini-2.5），AI Scientist生成论文的质量持续提升

意味着未来模型的进化趋势将演变成系统输出的质量（搞大模型的是码奸）

![](https://s3.juniortree.com/pic/2026/04/0a94b68d42f725e0608bf1b3f3d331ab.webp)

### 计算量与论文质量的正相关

Fig. 3c 表明，增加树搜索中的实验节点数量（从~4个到~32个），论文评分从约3.3提升至约3.9，呈现明显的测试时计算量缩放效应

![](https://s3.juniortree.com/pic/2026/04/0209ad5bdaa4bf3224a9019575a5a300.webp)

#### 更多节点 = 更充分的实验探索

树搜索的核心设计理念是将科研实验建模为一个搜索问题，更多的节点意味着系统能够探索更多的实验路径，从而更有可能找到高质量的方案

每个阶段都进行独立的树搜索，更多的节点使得每个阶段都有更充分的探索空间

#### 选择性剪枝机制放大了节点数量的收益

系统并非盲目扩展节点，而是在每个阶段结束时通过LLM评估器选择最优叶节点作为下一阶段的起点，从而剪掉低质量的分支，这意味着：节点越多 → 候选方案越多 → 被选中的最优方案质量越高，从更大的样本池中选择最优解，期望值自然更高

#### 与测试时计算缩放（Test-time Compute Scaling）的类比

论文将这一现象与更广泛的测试时计算缩放趋势联系起来，无模板系统的设计初衷就是通过增加推理阶段的计算量来提升输出质量，在推理阶段投入更多计算资源（这里体现为更多搜索节点），输出质量会相应提升

### 人类评审实验

- 提交场景：ICLR 2025 的 ICBINB（I Can't Believe It's Not Better）Workshop
- 流程：经IRB批准，与ICLR领导层和workshop组织者合作；评审者知晓部分论文为AI生成但不知具体是哪些
- 结果：3篇提交中，1篇获得平均分6.33（个别分数6/7/6），超过workshop平均接受阈值

被接受的论文（Fig. 2）题为 *"Compositional Regularization: Unexpected Obstacles in Enhancing Neural Network Generalization"*，报告了一个负面结果——组合正则化并未显著提升泛化能力，恰好契合workshop关注"有趣的负面结果"的主题

#### 重要限制：

- Workshop接受率约70%，远高于主会议的32%
- 内部评估认为没有论文达到ICLR主会议的标准
- 常见失败模式包括：想法幼稚、实现错误、方法论不够深入、引用幻觉等

## 源码阅读

- 仓库地址：https://github.com/SakanaAI/AI-Scientist-v2

### Idea的产生

#### **输入**

- `workshop_description`：从 `-workshop-file` 指定的 `.md` 读入（领域背景/任务要求）
- `idea_fname`：输出 JSON 文件（通常是把 `.md` 替换成 `.json`）
- 可选历史 ideas：如果 `reload_ideas=True` 且 JSON 已存在，会先加载旧 idea，避免重复

#### **生成循环（外层）**

`generate_temp_free_idea(...)` 里有 `for gen_idx in range(max_num_generations)`，每一轮生成一个 proposal 候选。

#### **反思循环（内层）**

每个 proposal 又会跑 `num_reflections` 轮：

- 第 1 轮：用初始生成 prompt（让模型先提出一个新方向）
- 第 2~N 轮：用 reflection prompt（让模型自我改进，并结合工具返回结果）

模型每轮必须输出：

- `ACTION:` 选择动作（比如文献搜索或最终定稿）
- `ARGUMENTS:` 对应动作参数（JSON）

#### **工具调用与定稿**

- 若 `ACTION=SearchSemanticScholar`：调用语义学术搜索工具，拿到文献结果
- 若 `ACTION=FinalizeIdea`：提交最终 `idea` JSON，加入 archive
- 最后把所有 ideas 写回 `idea_fname`

#### 特点

- 不是“一次性生成”，而是“**生成 -> 查文献 -> 反思 -> 定稿**”
- 有历史 idea 去重（通过 `prev_ideas_string` 注入 prompt）
- 用严格 ACTION/ARGUMENTS 格式，方便程序自动解析和执行

### 上下文管理

1. **任务级上下文（静态）**

    来自 `idea.json` 的 `Title/Abstract/Short Hypothesis/Experiments/Risk...`，在每个 stage 会被 `_curate_task_desc()` 注入不同字段。

2. **阶段级上下文（策略）**

    `main_stage_goals` + sub-stage goals。

    stage2 限制“只调参不改架构”、stage3 强调创新、stage4 强调消融

3. **树节点上下文（局部因果）**

    每个 `Node` 保存：

    - code / plan
    - execution output / error
    - metrics
    - plot & VLM feedback
    - parent/children 关系debug/improve 都直接拿 parent node 作为前文
4. **历史摘要上下文（压缩记忆）**

    每轮 step 前，用 `journal.generate_summary()`把历史成功/失败模式压缩成 `memory_summary`，注入 `_draft/_improve` prompt 里的 `Memory` 字段，避免上下文无限膨胀

5. **跨阶段继承上下文（best transfer）**

    `AgentManager._get_best_implementation()` 会把上一阶段最佳 node 深拷贝（去掉 parent/children）作为下一阶段起点，保证“继承最优实现”而不是重开
