AI-Scientist-v2

GitHub
5.3k 733 较难 1 次阅读 2天前NOASSERTION语言模型Agent其他
AI 解读 由 AI 自动生成,仅供参考

AI-Scientist-v2 是一个旨在实现“研讨会级别”自动化科学发现的全自主智能体系统。它能够独立完成从提出科学假设、运行实验、分析数据到撰写完整学术论文的全过程。该系统最引人注目的成就,是生成了首篇由 AI 独立创作并顺利通过同行评审的研讨会论文。

相比前代版本,AI-Scientist-v2 不再依赖人类预设的模板,从而突破了特定领域的限制,能够适应更广泛的机器学习研究场景。其核心技术亮点在于引入了“代理树搜索”(Agentic Tree Search)机制,并由一个实验管理器智能体进行引导。这种设计让系统在面对开放性问题时,能像人类科学家一样进行多路径探索与试错,虽然单次成功率可能低于基于模板的方法,但极大地拓展了科学探索的边界。

需要注意的是,由于系统会自动执行大模型生成的代码,存在潜在的安全风险,因此必须在受控的沙箱环境(如 Docker 容器)中部署运行。AI-Scientist-v2 主要面向人工智能研究人员、计算机科学家以及对自动化科研流程感兴趣的开发者。对于希望探索未知领域、验证新颖想法或研究 AI 自主科研能力的专业团队而言,这是一个极具价值的实验性工具,但不适合缺乏技术背景的普通用户直接使用。

使用场景

某高校机器学习实验室的研究团队正试图在“小样本图像分类”这一开放领域寻找新的突破点,但缺乏明确的改进方向。

没有 AI-Scientist-v2 时

  • 创意枯竭:研究人员需花费数周阅读海量文献才能构思出一个可行的假设,且容易陷入既有思维定式。
  • 试错成本高:手动编写实验代码、调整超参数并运行测试极其耗时,验证一个想法往往需要数天甚至更久。
  • 探索范围窄:受限于人力,团队只能沿着少数几条确定的技术路线深入,难以进行大规模的并行探索。
  • 写作负担重:即便实验成功,将数据转化为符合学术规范的论文草稿也需要耗费大量精力进行整理和撰写。

使用 AI-Scientist-v2 后

  • 自动提出假设:AI-Scientist-v2 能自主分析现有知识库,瞬间生成数十个新颖且跨领域的研究假设,打破人类思维局限。
  • 闭环实验执行:系统自动编写并安全执行代码,在沙箱环境中并行运行大量实验,将原本数天的验证过程压缩至几小时。
  • 广域树状搜索:利用代理树搜索机制,AI-Scientist-v2 能同时探索多条未知的技术分支,快速定位潜在的高价值研究方向。
  • 一键生成论文:从数据分析到图表绘制,再到全文撰写,AI-Scientist-v2 直接输出结构完整、逻辑严密的学术论文初稿供同行评审。

AI-Scientist-v2 将科研人员从繁琐的重复劳动中解放出来,使其能专注于更高维度的科学决策,真正实现端到端的自动化科学发现。

运行环境要求

操作系统
  • Linux
GPU

必需 NVIDIA GPU,需支持 CUDA(安装示例使用 pytorch-cuda=12.4),具体显存大小未说明

内存

未说明

依赖
notes1. 必须在受控的沙箱环境(如 Docker 容器)中运行,因为系统会执行 LLM 生成的代码,存在安全风险。2. 需要配置大模型 API 密钥(如 OPENAI_API_KEY, GEMINI_API_KEY 或 AWS Bedrock 凭证)。3. 可选配置 Semantic Scholar API Key (S2_API_KEY) 以提高文献搜索效率。4. 默认实验配置推荐使用 Claude 3.5 Sonnet 模型。
python3.11
pytorch
torchvision
torchaudio
poppler
chktex
anthropic[bedrock]
AI-Scientist-v2 hero image

快速开始

AI Scientist v2 Logo

AI Scientist-v2:工作坊级别的自动化
基于智能体树搜索的科学发现

📚 [论文] | 📝 [博客文章] | 📂 [ICLR2025工作坊实验]

完全自主的科学研究系统正变得越来越强大,而人工智能在变革科学发现方式方面发挥着关键作用。 我们非常高兴地推出 AI Scientist-v2,这是一个通用的端到端智能体系统,它生成了第一篇完全由人工智能撰写并经过同行评审接受的工作坊论文。

该系统能够自主生成假设、开展实验、分析数据并撰写科学论文。与其前身(AI Scientist-v1)不同,AI Scientist-v2 不再依赖人工编写的模板,能够在机器学习(ML)领域中泛化,并采用由实验管理智能体引导的渐进式智能体树搜索。

注意: AI Scientist-v2 并不一定能产出比 v1 更好的论文,尤其是在已有强大起始模板的情况下。v1 遵循明确的模板,成功率较高;而 v2 则采取更广泛、更具探索性的方法,成功率相对较低。v1 最适合目标清晰且基础扎实的任务,而 v2 则专为开放式科学探索设计。

警告! 此代码库将执行由大型语言模型(LLM)编写的代码。这种自主性伴随着多种风险和挑战,包括可能使用危险的软件包、不受控制的网络访问以及产生意外进程的可能性。请务必在受控的沙盒环境中运行此代码(例如 Docker 容器)。请根据自身判断谨慎使用。

目录

  1. 要求
  2. 生成研究想法
  3. 运行 AI Scientist-v2 论文生成实验
  4. 引用 AI Scientist-v2
  5. 常见问题
  6. 致谢

要求

此代码设计用于在配备 NVIDIA GPU 并支持 CUDA 和 PyTorch 的 Linux 系统上运行。

安装

# 创建一个新的 conda 环境
conda create -n ai_scientist python=3.11
conda activate ai_scientist

# 安装支持 CUDA 的 PyTorch(请根据您的配置调整 pytorch-cuda 版本)
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia

# 安装 PDF 和 LaTeX 工具
conda install anaconda::poppler
conda install conda-forge::chktex

# 安装 Python 包依赖
pip install -r requirements.txt

安装通常不超过一小时。

支持的模型和 API 密钥

OpenAI 模型

默认情况下,系统会使用 OPENAI_API_KEY 环境变量来调用 OpenAI 模型。

Gemini 模型

默认情况下,系统会使用 GEMINI_API_KEY 环境变量通过 OpenAI API 调用 Gemini 模型。

通过 AWS Bedrock 使用 Claude 模型

要使用亚马逊 Bedrock 提供的 Claude 模型,请安装必要的附加包:

pip install anthropic[bedrock]

接下来,配置有效的 AWS 凭证以及目标 AWS 区域,设置以下环境变量:AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_REGION_NAME

Semantic Scholar API(文献检索)

我们的代码可以选择性地使用 Semantic Scholar API 密钥 (S2_API_KEY) 来提高文献检索时的吞吐量 [如果您拥有该密钥](https://www.semanticscholar.org/product/api)。此密钥在构思阶段和论文写作阶段都会被使用。即使没有该密钥,系统也能正常运行,不过在构思阶段可能会遇到速率限制或新颖性检查功能受限的情况。如果遇到 Semantic Scholar 方面的问题,您可以在论文生成过程中跳过引用环节。

设置 API 密钥

请确保为您打算使用的模型提供必要的 API 密钥作为环境变量。例如:

export OPENAI_API_KEY="YOUR_OPENAI_KEY_HERE"
export S2_API_KEY="YOUR_S2_KEY_HERE"
# 如果使用 Bedrock,请设置 AWS 凭证
# export AWS_ACCESS_KEY_ID="YOUR_AWS_ACCESS_KEY_ID"
# export AWS_SECRET_ACCESS_KEY="YOUR_AWS_SECRET_KEY"
# export AWS_REGION_NAME="your-aws-region"

生成研究思路

在运行完整的 AI Scientist-v2 实验流程之前,您需要先使用 ai_scientist/perform_ideation_temp_free.py 脚本生成潜在的研究思路。该脚本会基于您提供的高层次主题描述,利用大语言模型进行头脑风暴并优化思路,并通过与 Semantic Scholar 等工具交互来检验其新颖性。

  1. 准备主题描述: 创建一个 Markdown 文件(例如 my_research_topic.md),用于描述您希望 AI 探索的研究领域或主题。该文件应包含 标题关键词简述摘要 等部分,以界定研究的范围。请参考示例文件 ai_scientist/ideas/i_cant_believe_its_not_better.md 中的结构和内容格式。将您的文件放置在脚本可访问的位置(例如 ai_scientist/ideas/ 目录)。

  2. 运行构思脚本: 从主项目目录执行该脚本,指向您的主题描述文件,并指定所需的 LLM。

    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
    
    • --workshop-file: 您的主题描述 Markdown 文件的路径。
    • --model: 用于生成思路的大语言模型(请确保已设置相应的 API 密钥)。
    • --max-num-generations: 尝试生成的不同研究思路数量。
    • --num-reflections: 大语言模型对每条思路应执行的优化步骤次数。
  3. 输出: 脚本将生成一个以输入 Markdown 文件命名的 JSON 文件(例如 ai_scientist/ideas/my_research_topic.json)。该文件将包含一系列结构化的研究思路,包括假设、拟议实验以及相关工作分析。

  4. 进入实验阶段: 一旦获得包含研究思路的 JSON 文件,即可进入下一节,开始运行实验。

这一构思步骤能够引导 AI Scientist 聚焦于特定兴趣领域,并产出可在主实验流程中验证的具体研究方向。

运行 AI Scientist-v2 论文生成实验

借助上一步构思阶段生成的 JSON 文件,现在可以启动 AI Scientist-v2 的主流程。该流程包括通过智能体树搜索执行实验、分析结果并生成论文草稿。

通过命令行参数指定撰写和评审阶段所使用的模型。 最佳优先树搜索(BFTS)的配置位于 bfts_config.yaml 文件中。请根据需要调整该文件中的参数。

bfts_config.yaml 中的关键树搜索配置参数:

  • agent 配置:
    • 设置 num_workers(并行探索路径的数量)和 steps(最大探索节点数)。例如,若 num_workers=3steps=21,则树搜索将最多探索 21 个节点,每一步同时扩展 3 个节点。
    • num_seeds:通常应与 num_workers 相同,前提是 num_workers 不超过 3。否则,应将 num_seeds 设为 3。
    • 注意:当前版本未使用其他代理参数,如 k-fold_validationexpose_predictiondata_preview
  • search 配置:
    • max_debug_depth: 代理尝试调试失败节点的最大次数,超过此值将放弃该搜索路径。
    • debug_prob: 尝试调试失败节点的概率。
    • num_drafts: 第一阶段初始根节点的数量(即要生长的独立树的数量)。

以下是一个使用生成的想法文件(例如 my_research_topic.json)运行 AI Scientist-v2 的示例命令。请参阅 bfts_config.yaml 查看详细的树搜索参数(默认配置使用 claude-3-5-sonnet 进行实验)。如果您不希望用代码片段初始化实验,请勿设置 load_code

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

初始实验阶段完成后,您将在 experiments/ 目录内找到一个带有时间戳的日志文件夹。进入该文件夹中的 experiments/"timestamp_ideaname"/logs/0-run/,即可找到树状可视化文件 unified_tree_viz.html。 所有实验阶段结束后,将进入论文撰写阶段。撰写阶段通常总共耗时约 20 至 30 分钟。完成后,您应在 timestamp_ideaname 文件夹中看到 timestamp_ideaname.pdf。 对于本次示例运行,所有阶段通常可在数小时内完成。

引用 AI Scientist-v2

如果您在研究中使用了 AI Scientist-v2,请按如下方式引用我们的工作:

@article{aiscientist_v2,
  title={The AI Scientist-v2: Workshop-Level Automated Scientific Discovery via Agentic Tree Search},
  author={Yamada, Yutaro and Lange, Robert Tjarko and Lu, Cong and Hu, Shengran and Lu, Chris and Foerster, Jakob and Clune, Jeff and Ha, David},
  journal={arXiv preprint arXiv:2504.08066},
  year={2025}
}

常见问题解答

为什么我的实验没有生成 PDF 或评审报告?

AI Scientist-v2 完成实验的成功率取决于所选的基础模型以及研究想法的复杂程度。通常,使用 Claude 3.5 Sonnet 等强大模型进行实验阶段时,成功率会更高。

每个实验的预计成本是多少?

构思阶段的成本取决于所使用的大型语言模型及生成或反思的次数,但通常较低(几美元)。对于主要的实验流程,若在实验阶段使用 Claude 3.5 Sonnet,每次运行的成本大约为 15–20 美元。随后的写作阶段,若使用示例命令中指定的默认模型,则会额外增加约 5 美元。建议将 model_citation 设置为 GPT-4o,这有助于降低写作成本。

如何针对不同学科领域运行 AI Scientist-v2?

首先,执行【生成研究想法】步骤。按照示例文件 ai_scientist/ideas/i_cant_believe_its_not_better.md 的结构,创建一个新的 Markdown 文件,描述您希望研究的学科领域或主题。然后使用该文件运行 perform_ideation_temp_free.py 脚本,以生成对应的想法 JSON 文件。接下来,进入【运行 AI Scientist-v2 论文生成实验】步骤,通过 --load_ideas 参数将此 JSON 文件与 launch_scientist_bfts.py 脚本结合使用。

如果无法访问 Semantic Scholar API,我该怎么办?

Semantic Scholar API 用于评估生成想法的新颖性,并在论文撰写阶段收集引用文献。如果您没有 API 密钥或遇到速率限制,可以跳过这些步骤。

我遇到了“CUDA 内存不足”的错误,该怎么办?

此错误通常发生在 AI Scientist-v2 尝试加载或运行需要超过当前系统 GPU 可用内存的模型时。要解决这个问题,您可以尝试更新您的构思提示文件(ai_scientist/ideas/my_research_topic.md),建议在实验中使用较小的模型。

致谢

ai_scientist 目录中实现的树搜索组件基于 AIDE 项目构建。我们感谢 AIDE 开发者们的宝贵贡献,以及他们将其工作公开分享。

星标历史

星标历史图表

⚖️ 许可与负责任使用

本项目采用 The AI Scientist 源代码许可协议(一种基于负责任 AI 许可协议的衍生版本)进行授权。

强制性披露: 使用本代码即表示您在法律上必须明确且显著地披露任何由此产生的科学手稿或论文中对 AI 的使用情况。

我们建议在论文的摘要或方法部分注明以下致谢:

“本论文由 The AI Scientist 自主生成。”

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|5天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|6天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

150k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|昨天
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|昨天
插件Agent图像

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|5天前
语言模型图像Agent