AI-Scientist 自动化论文生成实战:从环境搭建到出稿的完整指南
【免费下载链接】AI-ScientistThe AI Scientist: Towards Fully Automated Open-Ended Scientific Discovery 🧑🔬项目地址: https://gitcode.com/GitHub_Trending/ai/AI-Scientist
AI-Scientist 是一个开源的自动化科研系统:你指定一个研究模板和一台 GPU,它就能独立完成"生成想法 → 跑实验 → 写论文 → 同行评审"四个环节,最终产出一份 ICLR 风格的 PDF 论文。本文不讲概念,直接用三个官方模板中最轻量的 grokking 模板,带你走一遍完整上手路径:装环境、跑基线、一条命令生成论文,再到怎么读结果文件夹。
先说最终产出:AI 自动写出的论文长什么样
仓库的 example_papers/ 目录下放着 10 份系统产出的完整样例,建议先翻两到三份,再决定自己跑什么。以gan_diffusion这份为例:AI 自己提出"GAN 增强扩散模型"的想法,写训练代码,在 circle、dino、line、moons 四个二维数据集上跑实验,自动画出损失曲线和样本对比图,最后编译成论文。
这张图就是系统为那篇论文自动生成的训练损失曲线:基线之外的梯度惩罚、微调超参、二次 beta 调度等改进方案,全部由 AI 设计并以同一张图对比呈现。
上面这张来自另一份样例:对比不同数据增广方式在各数学运算数据集上达到 99% 验证精度所需的训练步数。从想法、代码、训练到画图和写 caption,全程没有人手写过代码。
提前打声招呼:这些样例同时展示了系统的强弱项——部分 run 的实验会发散,个别论文写得偏浅。它帮你压缩的是科研周期,不是自动产出高质量论文的机器。
AI-Scientist 工作原理:从想法到评审的四段流水线
入口是 launch_scientist.py,内部流程非常线性。对每一个通过新颖性检查的想法,它会先复制一份模板到独立的结果目录,然后按顺序执行四个阶段:
- 想法生成:ai_scientist/generate_ideas.py 让 LLM 依据模板里的
prompt.json提出实验想法,再用 Semantic Scholar 或 OpenAlex 检索相关文献逐一做新颖性检查,标记已被做过的方向。 - 实验执行:ai_scientist/perform_experiments.py 通过 aider 让模型直接修改
experiment.py和plot.py,执行训练、采集run_1到run_5的结果并自动出图。 - 论文撰写:ai_scientist/perform_writeup.py 把实验数据填入 LaTeX 模板、插入引用,用
pdflatex编译成 PDF。 - 自动评审:ai_scientist/perform_review.py 换用另一个模型当审稿人,给出 1–10 分评分、接受/拒稿决定和弱点列表,写入
review.txt。
这套设计的好处是"每个想法独立可复现":代码、数据、图、论文全在同一个文件夹里,任何一步出问题都能回溯。
环境搭建:三处配置加一次基线运行
官方模板面向 Linux + NVIDIA GPU(CUDA + PyTorch)开发,纯 CPU 机器跑现有模板耗时不可行,先确认硬件。🧑🔬
1. 基础依赖
conda create -n ai_scientist python=3.11 conda activate ai_scientist sudo apt-get install texlive-full pip install -r requirements.txttexlive-full安装很慢,耐心等。系统启动前会检查pdflatex和chktex是否可用,缺了会直接报错退出。
2. API Key:按你选用的模型设置环境变量。OpenAI 用OPENAI_API_KEY,Anthropic 用ANTHROPIC_API_KEY,DeepSeek 用DEEPSEEK_API_KEY,Gemini 用GEMINI_API_KEY。完整支持列表在 ai_scientist/llm.py 里。文献检索默认走 Semantic Scholar;没有S2_API_KEY的话,装一下pyalex,启动时加--engine openalex即可改用免 Key 的 OpenAlex。
3. 模板基线运行:启动前必须先用所选模板跑出run_0基线,论文里的对比才有参照。以最轻量的 grokking 模板为例:
pip install einops cd templates/grokking python experiment.py --out_dir run_0 python plot.pyNanoGPT 模板还需要先跑 data/ 下 enwik8、text8、shakespeare_char 三个数据准备脚本;2D 扩散模板需要先安装 NPEET 包。
用 grokking 模板跑通一次完整论文生成流程
环境就绪后,启动命令只有一行:
python launch_scientist.py --model "gpt-4o-2024-05-13" \ --experiment grokking --num-ideas 2几个值得说明的参数:
--num-ideas:生成多少条想法,默认 50。每条想法都会走完整"实验 + 写作 + 评审"循环,第一次试跑设 2 足够;--parallel N:起 N 个进程并行,每个绑定一张 GPU,超出可见卡数会自动截断;--gpus 0,1:指定用哪几张卡,不填则用全部;--improvement:评审完成后根据审稿意见自动修改论文,生成改进版并再次评审;--skip-idea-generation:跳过想法生成,直接复用模板里已有的ideas.json,方便单独调试实验阶段。
单次试跑大约需要数小时到一天,取决于想法数量和实验规模。结果统一输出到results/grokking/<时间戳>_<想法名>/,每个想法一个文件夹。
结果文件夹怎么读:核对流水线每一步的产出
跑完后打开任一结果文件夹,可以按阶段核对整条流水线:
ideas.json:本次生成的想法列表和新颖性检查结论;experiment.py/plot.py:AI 修改后的实验代码,和模板基线的差异一目了然;run_1/到run_5/:每组实验的 JSON 数据,目录数量取决于 AI 设计了几组实验;log.txt与*_aider.txt:完整标准输出日志和与模型的对话记录,run 失败时从这里查原因;latex/与最终 PDF:按 ICLR 模板编译出的论文;review.txt:自动评审的评分、决定和弱点列表。
论文里的图同样由系统自动生成,上图是"自适应双尺度去噪"样例的权重演化分析,展示四个数据集上各时间步的参数变化。
如果你只想要评审能力,也可以直接调用 ai_scientist/perform_review.py 里的load_paper和perform_review,对任意一份 PDF 拿到评分和弱点列表,不必走完整流程。
自制实验模板:把 AI-Scientist 扩展到自定义课题
想让 AI-Scientist 研究你自己的课题,照官方模板建一个新目录即可。必须齐备五个文件:
experiment.py:主实验脚本,接收--out_dir参数,把结果 JSON 写到指定目录;plot.py:读取 run 目录生成图表,代码尽量清晰易改,模型会频繁修改它;prompt.json:给 LLM 的任务说明,包含模板背景和相关论文摘要;seed_ideas.json:一两条高质量种子想法,也可以先跑一次生成、挑最好的留下;latex/template.tex:论文模板,建议直接复用官方的,把预置引用换成你课题相关的文献。
关键约束是:文件名和输出 JSON 的格式要和官方模板保持一致,其余内容都可以自由发挥。仓库里已有多个社区贡献模板可参考,包括 seir(传染病建模)、mobilenetV3(图像分类)、sketch_rnn、MACE(量子化学)、earthquake-prediction、tensorf,都在 templates/ 下。
上图中去噪器在不同权重下对 dino 数据集的生成样本,颜色代表门控权重。这种多组对比图正是撰写阶段会自动引用进论文的典型素材。
资源附录与下一步
本文涉及的路径都列在这里,方便回溯:
- templates/:全部实验模板,grokking 最轻量,适合第一次试跑;
- example_papers/:10 份含代码、数据和 PDF 的完整样例,开跑前值得通读;
- data/:NanoGPT 模板的数据准备脚本;
- review_iclr_bench/:对 ICLR 论文的批量评审分析,用于评估评审模块的可靠性;
- docs/:项目资料;
- experimental/:提供 Dockerfile 和开放式科研入口。注意该系统会执行 LLM 写的代码,官方建议容器化运行并限制网络访问。
下一步你可以这样做:先克隆仓库git clone https://gitcode.com/GitHub_Trending/ai/AI-Scientist,用 grokking 模板跑一次--num-ideas 2的试跑;等你能读懂结果文件夹里的全部产出,再把自己的课题做成模板接入。多卡环境加上--parallel提升吞吐,跑完一轮后重点检查review.txt的评分趋势,判断这个课题值不值得继续投入。
【免费下载链接】AI-ScientistThe AI Scientist: Towards Fully Automated Open-Ended Scientific Discovery 🧑🔬项目地址: https://gitcode.com/GitHub_Trending/ai/AI-Scientist
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考