把 AI Scientist 拆成两层:Alchemy 的交付接口与 AI-Scientist-v2 的 BFTS 配置
自动化 AI 科研的难点不只在「提出想法」,还在让想法在真实实验系统里稳定、规模化地跑起来。多数 AI Scientist 系统把科学发现和科研基础设施揉在同一条链路里:提出方法的那部分还要处理数据接线、任务配置、训练调度、并发执行、结果收集,这些工程细节会占掉上下文窗口和推理预算。这里记两个工程侧切面——THU-Agent 的 Alchemy 用显式分层把这些事接走,SakanaAI 的 AI-Scientist-v2 用 agentic tree search 换掉人工模板依赖。
Alchemy:Scientist 层与研究环境层的分工
Alchemy 的定位是标准化研究环境。分层写得比较直接:
- Scientist 层(
ai_scientist/):假设生成、算法实现、超参设计、多轮迭代。动作序列是提出假设 → 设计方法 → 按反馈迭代。 - 研究环境层(
research_environment/):任务配置、GPU 调度、容器执行、指标解析、结果收集。负责科研基础设施、异构设备、高并发实验。
核心接口只有两份文件:algorithm.py(模型架构实现)和 hyperparameter.yaml(各超参的搜索空间)。可选的 domain_knowledge.md 提供任务背景与经验知识,可以由用户维护,也可以由 AI Scientist 实验后自主总结。
目前已覆盖 3 个领域 15 个任务:推荐系统(通用/序列/上下文感知/知识驱动/多模态 MMRec)、图学习(通用/图结构/时序图/噪声图/图异常检测)、时间序列(异常检测/分类/插补/长期预测/短期预测)。GitHub 上先发布了 Recsys/MMRec 与 TimeSeries,其余在更新。
仓库:https://github.com/THU-Agent/Alchemy
跑起来:四步
Step 1,配置 LLM,编辑 ai_scientist/config.yaml:
model: "claude-opus-4-5-20251101"
base_url: "https://your-endpoint/v1"
tasks:
- domain: Recsys
task: MMRec
metric: "recall@20"
seeds: ["PGL_2025"]
max_rounds: 10
patience: 3
Step 2,配置执行环境,编辑 research_environment/config.yaml:选择 docker 或 singularity,配置 gpu_ids 和 max_per_gpu。
Step 3,准备数据与镜像(以 MMRec 为例):
docker build -t mmrec:latest research_environment/tasks/Recsys/MMRec/container
# 数据已在 research_environment/tasks/Recsys/MMRec/dataset/ 下
Step 4,启动:python -m ai_scientist
整体闭环是:加载 Seed Baseline → 生成假设 → 生成代码与超参 → 执行评测 → 反馈迭代。单机单卡也能跑,在 research_environment/config.yaml 里指定 GPU ID 和并发数即可。
新增任务的话,在 research_environment/tasks/{domain}/{task}/ 下加 config.yaml + plugin.py,实现 expand_hp() 和 parse_output() 两个方法,并在 pipeline 中实现任务管线。
Alchemy 不是「又一个 AI Scientist」,区别点就在两层显式分离,价值来自分工。
AI-Scientist-v2:agentic tree search 的配置面
The AI-Scientist-v2 走的是另一条路:端到端 agentic 系统,生成假设、跑实验、分析数据、写论文,采用 progressive agentic tree search,由 experiment manager agent 引导。相比 v1,它去掉了对人工模板的依赖,跨 ML 领域泛化。官方也说明了取舍:v2 不一定比 v1 产出更好的论文,尤其在已经有强起点模板时;v1 走明确模板成功率高,v2 更偏探索、成功率更低,适合开放式科研探索。
风险提示要先说:它会执行 LLM 写的代码,可能用到危险包、无控联网、spawn 进程,务必放在受控沙箱里跑(例如 Docker 容器)。
安装大致是新建 conda 环境(python=3.11)、装 PyTorch 与 pytorch-cuda=12.4、anaconda::poppler 与 conda-forge::chktex、再 pip install -r requirements.txt,约一小时。需要 OPENAI_API_KEY / GEMINI_API_KEY 或 Bedrock 的 AWS 凭证;可选的 S2_API_KEY(Semantic Scholar)用于 novelty 检查与引用,没有会限流或降低 novelty 检查质量。
先生成研究想法:写一个 Markdown 主题文件(含 Title/Keywords/TL;DR/Abstract),可参考 ai_scientist/ideas/i_cant_believe_its_not_better.md,然后:
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
输出同名 JSON。再跑主流程,BFTS 参数在 bfts_config.yaml:
- agent 配置:
num_workers是并行探索路径数;steps是探索节点上限,例如num_workers=3、steps=21表示最多 21 个节点、每步并发扩展 3 个;num_seeds在num_workers/logs/0-run/下看unified_tree_viz.html;写作阶段约 20–30 分钟,最终得到 PDF,全流程通常数小时。
成本上,ideation 低(几美元);主实验用 Claude 3.5 Sonnet 约 $15–20/次,写作阶段再加约 $5,model_citation 换 GPT-4o 可以降本。CUDA OOM 的处理办法是在 ideation 提示文件里建议用更小的模型。
tree search 组件基于 AIDE 项目:https://github.com/WecoAI/aideml 。许可为 The AI Scientist Source Code License(Responsible AI License 衍生),强制披露:论文须显著声明使用 AI。
仓库:https://github.com/SakanaAI/AI-Scientist-v2 ,v1:https://github.com/SakanaAI/AI-Scientist