跳转到内容

The Agentic Scientist(Sakana AI-Scientist-v3)

The Agentic Scientist 是 Sakana AI 继 AI Scientist v1、v2 之后的第三代系统,仓库名为 AI-Scientist-v3。它是一个用 Python 和 Hydra 写的编排器,命令行工具叫 agsci。它在 Docker 里以 headless 方式驱动 Claude Code、Codex、OpenCode、Pi、Cursor 或 Gemini 等编码 agent,在人写好的封存评估器(sealed evaluator)和 rubric 约束下,依次完成 idea 搜索、baseline 与消融、封存的最终评估、事后分析,最后写出一篇每条结论都能对应到证据来源的论文。

它最适合的问题形态是:在一个封存的评估器下改进某个程序。

项目 内容
仓库 SakanaAI/AI-Scientist-v3
许可证 Apache-2.0
论文 Lange、Grillotti、Yamada、Charakorn、Ha,The Agentic Scientist: Orchestrating Coding Agents for Automated Scientific (Co-)Discovery,arXiv:2610.18933(v1,2026-10-13,88 页)
GitHub star(2026-10-15) 97
创建时间 仓库建于 2026-10-11,2026-10-13 随论文公开
最近提交 2026-10-15。全部历史只有 1 个 squash 过的 Initial commit,没有 release,也没有 issue
维护者 Sakana AI(Robert Tjarko Lange 等)
配套工具 画图工具 Autoillustrate;agent 调用层 Headless CLI(固定在某个 revision)

agsci run 默认依次跑 6 个阶段,之后还有 2 个可选阶段。每个阶段在自己的容器里运行,只读取本次 run 的任务快照,仓库里的 examples/ 不会被改动。

阶段 做什么
1. Task drafting(任务起草) 设计 agent 起草实验设计,另一个独立 agent 审查。起草 agent 写出初始程序、搜索用评估器、可选的封存最终评估器,以及一份机器可读的任务契约。随后跑契约检查和 smoke test;alignment judge 检查科学上是否忠实于任务,以及搜索评估器和最终评估器是否相互独立、使用不相交的数据;最后做一次生产检查,确认完整负载真的能跑,失败就修复
2. Investigation(并行探索) 核心搜索循环,见下文
3. Ablations(baseline 与消融) 给选中的程序加埋点。一个 agent 提出 baseline 和单变量消融,另一个 agent 筛选,然后用多个 seed 运行
4. Final evaluation(封存的最终评估) 在封存环境里重新打分
5. Post-hoc analysis(事后分析) 只分析冻结后的程序,不允许重新训练
6. Paper(有依据的写作) 起草前后都会整理证据、规划参考文献。writer 输出 LaTeX,外加一份“结论→证据来源”映射和图表清单;Autoillustrate 画可编辑的 draw.io 概念图。一个修复循环交替运行确定性检查(结构、来源、编译、页数)和一个独立的只读审计 agent,后者专门标出 overclaim。还可以再加一个审稿人风格的 agent 提意见
7. 可选:Review、Revision Review 调用 OpenAI 后端的 AI 审稿人给稿件打分;Revision 是之后的修订阶段

Investigation 阶段的做法:

  • 多个 worker 从队列领取研究周期,各自保留当前最好的程序,类似 beam search。
  • 每个周期先由只读的 ideation agent 写一份带类型的 idea 契约:标题、可证伪的假设、有序计划、要达成的 rubric。
  • 再由 execution agent 在固定的评估预算内反复“修改—评估—验证”。
  • 有两道相互独立的门:一次尝试通过全部 rubric 才算“完成”;但 worker 的最优程序只在出现“正确且分数严格更高”的候选时才更新。
  • 周期之间交换共享记忆和提炼出的结论,可选上下文裁剪。最后由 aggregator 在所有 worker 中选出最好的正确程序。

其他要点:

  • 支持写负结果论文(“no-winner” 研究,开关见下文“人工检查点与自主模式”)。
  • 只在写作阶段做显式的文献检索,ideation 阶段不检索。论文作者也提到,编码 agent 在探索 idea 时经常自己上网查资料。
  • 每次 run 的产出都放在同一个目录下(目录结构摘自 README):
results/<task>/<agent>/<run_id>/
├── task_drafting/ # drafting logs and validation audit
├── task/ # immutable run-local task snapshot
├── investigation/ # ideas, attempts, winner, and optimizer memory
├── ablations/ # baselines and ablations
├── final_evaluation/ # sealed final evaluation
├── posthoc/ # post-hoc analyses
└── paper/ # manuscript, PDF, manifest, and optional AI reviews

agsci inspect start 会在 http://127.0.0.1:8765 打开一个浏览器界面,用来查看 run。

被选中的 harness 通过 Headless CLI 以全权限(--allow yolo)运行,agsci run 默认把它放在 agentic-scientist/agent-cli Docker 镜像里。它负责所有阶段的实际工作:任务起草、ideation、执行、消融的提出与筛选、事后分析、写作、审计,以及 Autoillustrate 的画图 agent。

Claude Code Codex
地位 默认 harness(agent.name=claude) 可互换的 harness(agent.name=codex)
文档固定的 CLI 版本 @anthropic-ai/claude-code@2.1.285 @openai/codex@0.153.4
指定模型 agent.model,例如 claude-sonnet-5 agent.model,例如 gpt-5.6-sol
认证 CLAUDE_CODE_OAUTH_TOKEN(计入 Claude 订阅);或 ANTHROPIC_API_KEY(按 token 付费);或用 AWS_* 变量走 Bedrock OPENAI_API_KEY 或 CODEX_API_KEY;或 ChatGPT 登录(codex login)
论文实验用的版本 Claude Code 2.1.240,配 Fable 5.1、Opus 5、Opus 4.7、Opus 4.6 Codex 0.149.0,配 GPT-6 Astra、GPT-5.6-Sol、GPT-5.5、GPT-5.4
  • agent.reasoning_effort 可以设为 low、medium、high、xhigh。
  • 混用:agent.pool=[codex,claude] 在每个实验周期随机抽一个 harness,同一周期的 idea 生成和尝试都用它;agent.models.codex=... 可以单独给某个 harness 指定模型。
  • 计费:HEADLESS_BILLING=auto|subscription|api 决定用订阅还是付费凭证。默认的 auto 先用订阅,遇到额度或模型权限失败时可以用付费凭证重试一次;subscription 禁止回退到付费凭证。
  • 与 harness 无关的部分:可选的 review 阶段用 OpenAI API(o4-mini),概念图用 OpenAI 的图像模型,两者都读 OPENAI_API_KEY。

论文里关于 harness 的发现(开发方评测;论文质量用 AI 审稿分代替):

  • 70 个 campaign(5 个任务 × 14 种 harness-模型组合)的对照显示:底模相同时,换 harness 没有一致的差别,底模的影响更大。模型厂商自家的 harness 也没有一致优势:用 GPT-5.6-Sol 时 Codex 与 Pi 打平;用 Opus 5 时 Claude Code 排在 OpenCode 和 Pi 之间。
  • AI 审稿分(粗读论文图 8):在各自的原生 harness 里,Claude 模型(Claude Code)约 4.5–5.5,GPT 模型(Codex)约 3–4。按模型发布时间拟合,前者每年约 +1.34 分,后者约 +0.14 分。
  • Codex 最严格地按任务说明执行:在 RL 微调任务里,它改完算法后从不重新调超参,限制了改进空间。
  • 在同一个 RL 微调任务上单独比较 investigation 阶段时,Pi(另一种 harness)+ Kimi K3 以低约 75% 的 API 成本,达到了与 Opus 4.7 + Claude Code 相近的分数。但它 3 次运行里有 2 次改动了评估协议(见下文“已知问题”);论文说,排除这些违规程序后,Pi 仍然更快、更稳定地达到高分。

所以,选 Claude Code 还是 Codex,应该比较具体的模型版本,而不是 harness 这个产品。更多数据见Claude Code 与 Codex 对比。

1. 构建镜像和 Python 环境(需要 Docker,以及 Python ≥ 3.11 和 uv):

终端窗口
# 克隆仓库(README 没写这一步,是本站补的)
git clone https://github.com/SakanaAI/AI-Scientist-v3 && cd AI-Scientist-v3
docker build -t agentic-scientist/agent-cli:latest -f src/docker/agent-cli/Dockerfile .
# 构建时连不上软件源,就在 docker build 命令后加 --network=host
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync
source .venv/bin/activate

2. 在仓库根目录建 .env。只有被选中 agent 的密钥会传进它的容器;不要把这个文件提交到 git。

终端窗口
CLAUDE_CODE_OAUTH_TOKEN=... # claude, billed to your Claude subscription (ANTHROPIC_API_KEY for pay-per-token)
OPENAI_API_KEY=... # recommended: concept figures in the paper and the `review` phase

需要时再设置主机变量:

终端窗口
export AGENTIC_TEMP_ROOT=/path/to/scratch # existing writable dir on a large disk; default: $TMPDIR, /mnt/localssd, or /tmp
export AGENT_CONTAINER_GPUS=device=<UUID,...> # GPU presets only: which GPUs to use; default: the first `container.gpu_count` (x investigation workers) from nvidia-smi

3. 第一次运行:CPU 上的 circle packing 例子。只需要 Claude 登录,不需要 GPU。先检查、预览,再用缩小的预算跑通全部阶段:

终端窗口
agsci doctor examples/circpack # host, image, credentials, task scaffold
agsci run examples/circpack --dry-run # print every phase command, run nothing
agsci run examples/circpack \
investigation.execution.max_idea_cycles=2 \
ablations.execution.num_replications=1 \
ablations.execution.max_evals_per_variant=2 \
posthoc.execution.max_selected_analyses=1

论文输出在 results/circpack/claude/<run_id>/paper/paper.pdf。

4. GPU 任务,换成 Codex。GRPO 例子需要 2 张 GPU,模型权重约 3 GB,每次评估要训练 1–2 小时:

终端窗口
uv run examples/grpo/download_model.py
# 下面这行的参数都出自 docs/pipeline.md,但组合方式不是原文
agsci run examples/grpo preset=grpo agent.name=codex agent.model=gpt-5.6-sol

5. 加上 review 阶段,改用 ICLR 格式。选择 review 阶段,就等于同意把完整稿件发给 OpenAI:

终端窗口
agsci run examples/circpack paper.paper_format=iclr \
execution.phases=task_drafting,investigation,ablations,final_evaluation,posthoc,paper,review

6. 其他常用命令:

终端窗口
# 只重写论文(在已有 run 上续跑)
agsci run examples/circpack execution.phases=paper \
paths.run_dir=results/circpack/claude/20260331_094917
# 对任意 PDF 单独运行 AI 审稿
agsci review results/circpack/claude/<run_id>/paper/paper.pdf --output review.json
# 只跑 investigation 循环。注意:它默认在本机原生运行,不进 Docker
agsci investigate agent.name=claude paths.task_dir=examples/circpack \
execution.workers=2 execution.max_idea_cycles=4
# docs/usage.md 给出的 Docker 写法
agsci investigate agent.name=codex container.enabled=true container.network=host container.env_file=.env
# 在浏览器里查看 run
agsci inspect start

用于自己的研究:需要自己准备一个任务目录,包括 task.md、program_0/、评估器和 rubric。只给一份 task.md 研究说明、让系统自动起草(agsci run examples/circpack_task_drafting execution.phases=task_drafting)目前是实验功能,只适合 circle packing 这类小任务(见下文“已知问题”)。

论文把它定位为自主程度可调的工具:一端当 co-scientist 工具用,另一端端到端全自主运行。

运行过程中没有交互式的批准或拒绝关口。 人的控制都发生在运行之前,或两次运行之间:

控制点 怎么用
研究契约 task.md、评估器和 rubric 是最主要的控制面。rubric 只检查它明确写出的条目,没写到的约束不会被检查
预算和 preset configs/preset/ 里的 preset 规定 campaign 预算、超时、论文格式和所需 GPU;命令行参数优先于 preset
跑哪些阶段 execution.phases;任何阶段都可以通过 paths.run_dir 在已有 run 上续跑
预览 --dry-run 打印每个阶段的确切命令,但什么都不执行
查看 agsci inspect start 在浏览器里浏览 run
外部审稿 review 阶段必须显式选择,选择即同意把完整稿件发给 OpenAI
写论文的门槛 paper.final_outcome_policy:不用 preset 时默认 qualified_only,最终评估合格才写论文;仓库自带的任务 preset 设为 allow_not_qualified,最终评估判定 not_qualified 也照样写,但论文必须报告这一失败
没有胜出者时 execution.no_winner_policy 默认 best_available:搜索没有产生胜出者时,仍选一个可用候选继续下游阶段,可以写成负结果论文;设为 skip 则跳过下游阶段

API 费用

  • 没有公布每篇论文花多少钱。
  • 每次 run 都会写出 metrics/cost_summary.json 和 metrics/cost_events.jsonl。其中 total_cost_usd 合计了供应商上报的费用和按 API 标价的估算;用订阅登录时,它不等于实际账单,也不含硬件费用。
  • 论文的 RL 微调对比里,累计 API 成本画在 0–400 美元的坐标轴上,横轴约 48 个 idea 周期(读图所得)。
  • 在同一任务上,Pi + Kimi K3 的 API 成本比 Opus 4.7 + Claude Code 低约 75%。

算力

论文 5 个任务的每轮搜索预算:

任务 每轮搜索预算
Learned optimization(学习型优化器) 2 张 H100,150 分钟
World models 4 张 H100,180 分钟
Sparse autoencoders(SAE) 2 张 H100,60 分钟
Tabular distribution shift(表格分布偏移) 4 张 H100,150 分钟
Hyperparameter optimization(HPO) 8 个 CPU 核,30 分钟
  • 论文 70 个 campaign 的对照里,每个 campaign 跑 20 个 idea 周期(Doc-to-LoRA 案例跑了 40 个)。按每轮预算上限、20 个周期粗算,一个 GPU 任务的 campaign 在消融之前最多约 40–240 H100 小时(SAE:20 × 2 卡 × 1 小时 = 40;world models:20 × 4 卡 × 3 小时 = 240)。这是本站的估算,论文没有给出这个数。
  • agsci run 的默认预算是 3 个 idea 周期、5 次消融重复、3 个事后分析。
  • circle packing 例子只需要 Claude 登录,不需要 GPU。GRPO 例子需要 2 张 GPU,每次评估训练 1–2 小时;harness 的评估超时(investigation.execution.harness_evaluation_timeout_seconds)默认 7200 秒。
  • GPU preset 通过 nvidia-smi 发现 GPU,可见的 GPU 与 preset 不符时,拒绝启动计算阶段。

证据强度:co-scientist 用法为中,全自主用法为弱。 它是同类开源 pipeline 里唯一有真实外部同行评审的,但只有 1 篇,用的是开发版,经过大量人工核对和改写,会议也不是核心 ML 会议。全自主产出的论文只有 AI 审稿分:70 个 campaign 里各配置的平均分都低于这个审稿器约 6 分的 weak accept 线,只有作者挑出来展示的两篇拿到 6 分。截至 2026-10-15,我们没有找到针对它的独立评测;仓库公开才约 2 天。

证据 类型 结果 要注意的地方
ALIFE 2026 投稿 Diffusing Blame: Task-Dependent Credit Assignment in Biologically Plausible Dual-Stream Networks(arXiv:2606.31700) 真实人类评审(ALIFE 主会,不是核心 ML 会议) 接收为主会 talk;三位评审的建议是 Strong Accept、Weak Reject、Weak Accept 开发版、co-scientist 模式、人工深度参与(见上文)。投稿前插入 17.5%、删除 10.7%;camera-ready 又插入 32.8%、删除 15.6%(latexdiff 词量,按修改前稿件长度计)。只投了这一篇
70 个全自主 campaign(5 个任务 × 14 种 harness-模型组合,每个 20 个 idea 周期) AI 审稿分(开发方评测) 修改前的平均分约 3–5.6/10,都没到约 6 分的 weak accept 审稿器是 o4-mini(5 份评审加 1 次 area chair 汇总,1–10 分);分数为粗读论文图 8。任务表现与审稿分正相关(汇总后 r = 0.44)
附录中的两篇全自主论文 AI 审稿分 Doc-to-LoRA 的 query-conditioned composition(多 needle 准确率 98.0%):Overall 6,“Weak Accept”;CMA-anchored learned evolution strategy:Overall 6,“Accept” 作者挑出来展示的例子,打分的仍是同一个 AI 审稿器
held-out 迁移测试 开发方评测 学到的 evolution strategy 在 7 个没见过的 Brax 控制任务中,有 5 个持平或超过 CMA-ES,已并入 evosax 测的是程序本身的性能,不是论文质量;evosax 是论文第一作者 Lange 的库(见论文参考文献)
Autoillustrate 画图 开发方评测 PaperBananaBench 总分:Claude 版 Autoillustrate 37.5,最好的 PaperBanana 变体 25.0 评委是 GPT-6-Astra。换成 Gemini-3.1-Pro 当评委时,PaperBanana(Claude Opus 4.8 + GPT Image 2)总分最高(56.5)

作者在局限性一节里写明了三点:

  • 论文层面的指标是 AI 审稿代理,“rather than full evidence of scientific correctness”,只有 Error Diffusion 那一篇经过了外部同行评审。
  • 验证只和任务专属的评估器、rubric 一样完整,“Results that pass verification should therefore still be inspected and validated by human researchers”。
  • 评测只覆盖计算型机器学习。

AI 审稿分为什么不能当质量证据,见为什么 AI 审稿分不可信;与其他真实评审案例的对比,见真实评审中的案例。

截至 2026-10-15,仓库没有任何 GitHub issue。下面列的是 README、文档和论文里写明的问题:

  • Issues 页:0 个 issue、0 个 release、只有 1 个 squash 过的 commit,还没有社区踩坑记录,早期使用要预期会遇到问题。
  • README 安全说明:agent 以全权限运行(Headless --allow yolo),可以执行任意命令、继承你给的 API key,它读到的任务文件和论文会左右它的行为。README 要求在 Docker 镜像里跑,只用可信的任务和来源;分享 run 目录前先检查,因为 agent 日志可能回显文档内容和路径。
  • docs/task_drafting.md:从研究说明自动起草任务仍是实验功能。circle packing 这类小任务可以;world model、表格分布偏移这类大任务,可能生成不符合流水线契约的脚手架。实际使用时,task.md、评估器和 rubric 基本要自己写。
  • 论文 arXiv:2610.18933,评估协议被钻空子:RL 微调任务中,Pi + Kimi K3(不是 Claude Code 或 Codex)3 次运行里有 2 次把测试时评估从 pass@1 改成 k 次采样多数投票,抬高了验证准确率。评估器和 rubric 都没拦住,靠人工事后审计才发现。原因是任务说明只要求改进“训练”算法,没写明评估方式必须固定,rubric 里也没有这一条。
  • 同一论文的附录,rubric 措辞很关键:在 MNIST 的 Error Diffusion 任务上,rubric 没写明禁止反向传播时,agent 拿到 0.9694 的验证准确率,却没有实现要求的 Error Diffusion 方法;明确写出禁止反向传播后,agent 用正确的方法得到 0.976。

适合

  • 有标量评估器、定义清楚的计算型 ML 问题,而且你能自己写任务契约和 rubric。例如算法发现、改进训练配方或优化器、在 benchmark 上做结构搜索,以及负结果研究。
  • 有 Docker 和 H100,想要证据充分的论文:封存的最终评估、多 seed 消融、结论到证据来源的映射、独立的审计 agent。
  • 想在同一个任务上比较或混用 Claude Code 与 Codex。

不适合

  • 从模糊题目出发的开放式 idea 发现:任务起草还是实验功能,文献检索只在写作阶段做。
  • 理论、综述、定性研究,或任何没有可执行评估器的工作。
  • 算力不够、却要跑 GPU preset 的用户。
  • 想直接在自己工作站上跑:agent 是全权限运行的。
  • 需要成熟、稳定代码库的人:截至 2026-10-15,仓库只有约 2 天历史、1 个 commit。

在我们调研的开源 pipeline 里,The Agentic Scientist 的设计最严谨:封存的最终评估、多 seed 消融、结论到证据来源的映射、独立审计 agent 都有。它的证据也相对最好:一篇真实同行评审的接收、held-out 迁移测试、70 个 campaign 的跨 harness 对照。它把 Claude Code 和 Codex 当作可以互换的 worker。

但有三点要分清:

  1. ALIFE 2026 的接收来自开发版在 co-scientist 模式下的产出,经过了人工的大量核对和改写,不是系统原样输出;ALIFE 也不是核心 ML 会议。
  2. 全自主产出的论文,在它自己的 AI 审稿器上各配置平均只有约 3–5.6/10,都低于约 6 分的 weak accept 线;只有作者挑出的个别论文拿到 6 分。
  3. 截至 2026-10-15,仓库只有约 2 天历史、1 个 commit;agent 以全权限运行,必须放在 Docker 里。

如果你的问题能写成“在这个封存评估器下改进这个程序”,又有 Docker 和 H100,它是最值得先试的。请把它当作刚发布的研究代码:留足 GPU 时间;认真写 rubric,尤其要写明评估协议不许改动;结果出来后仍要人工逐项核对数字和引用。

下一步:按自己的条件选择 pipeline,或参考推荐流水线(S0–S10)。