❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦
🔬 "科研民工集体失业?AI系统竟能独立完成顶会论文,评审专家直呼离谱!"
大家好,我是蚝油菜花。当科研人员还在为实验设计和论文修改熬夜爆肝时,这个由 Sakana AI 领衔开发的系统正在颠覆传统科研范式!
你是否经历过这些学术至暗时刻:
- 📊 实验数据反复异常,三个月心血付之东流
- 📑 论文评审意见要求补充实验,截稿日期迫在眉睫
- 🔬 跨学科研究需要同时掌握多个领域知识,分身乏术...
今天要拆解的 The AI Scientist-v2 ,用三大突破重塑科研生产力:
- ✅ 全流程自动化:从假设生成到论文撰写,无需人工干预
- ✅ 树状搜索算法:并行探索多实验路径,效率提升300%
- ✅ 视觉语言双反馈:图表质量与文本逻辑AI自检,成果直投顶会
已有团队用它生成ICLR 2025录用论文,接下来将解密这个「科研终结者」的技术原理与部署方法!
🚀 快速阅读
该系统实现了科学研究全流程的自动化闭环。
- 核心功能:自主生成假设、设计实验、分析数据、撰写论文
- 技术原理:基于代理的树搜索算法优化探索路径,视觉语言模型提供质量反馈
The AI Scientist-v2 是什么
该系统通过整合多模态AI技术,构建了完整的科研自动化工作流。其核心突破在于消除对人类预定义模板的依赖,采用自适应的探索策略完成复杂科研任务。
技术架构采用分阶段管理机制,将科研过程拆解为假设生成、实验设计、数据分析等模块。每个模块通过特定代理实现功能,系统通过树搜索算法动态优化执行路径。
The AI Scientist-v2 的主要功能
- 假设智能生成:基于现有文献自动推导创新研究方向
- 实验动态规划:根据实时数据调整实验参数与流程
- 可视化自检:通过VLM评估图表质量并优化呈现方式
- 论文结构化输出:自动生成符合学术规范的完整论文
The AI Scientist-v2 的技术原理
- 树状搜索算法:采用广度优先策略并行探索多实验路径
- 模块化代理系统:实验管理代理协调各阶段任务执行
- 代码自愈机制:自动调试执行异常代码并记录错误日志
- 多源数据处理:集成Hugging Face数据集实现快速加载
如何运行 The AI Scientist-v2
1. 安装
conda create -n ai_scientist python=3.11
conda activate ai_scientist
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia
conda install anaconda::poppler # 用于 pdftotext
conda install conda-forge::chktex # 用于写入
pip install -r requirements.txt
2. 支持的模型和 API 密钥
OpenAI 模型
默认情况下,使用 OPENAI_API_KEY
环境变量。
Claude 模型(通过 Bedrock)
对于由 Amazon Bedrock 提供的 Claude 模型,请安装以下额外包:
pip install anthropic[bedrock]
接下来,设置一组有效的 AWS 凭证 和目标 AWS 区域,通过设置环境变量 AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
和 AWS_REGION_NAME
。
Semantic Scholar API(文献搜索)
我们的代码还可以选择使用 Semantic Scholar API 密钥(S2_API_KEY
)以提高吞吐量(如果你有密钥的话)。如果没有密钥,也可以运行,但可能会影响性能。如果你在使用 Semantic Scholar 时遇到问题,可以跳过文献搜索和引用阶段。
确保为使用的模型提供密钥,例如:
export OPENAI_API_KEY="你的密钥"
export S2_API_KEY="你的密钥"
3. 运行 AI Scientist-v2 论文生成实验
你可以使用命令行参数指定写入和评审阶段的模型。最佳优先树搜索配置可以在 bfts_config.yaml
文件中找到。根据需要进行修改。
相关的树搜索配置参数包括:
agent
配置:- 设置
num_workers
和steps
。steps
是要探索的最大节点数。例如,如果你设置num_workers=3
,steps=21
,树将增长到 21 个节点,每次 3 个节点。其他代理参数如k_fold_validation
、expose_prediction
和data_preview
在当前版本中不使用。 num_seeds
:如果num_workers < 3
,则应与num_workers
相同。否则,设置为 3。
- 设置
search
配置:max_debug_depth
:代理尝试调试节点的次数,直到放弃整个链。debug_prob
:调试节点的概率。num_drafts
:在阶段 1 开始时的根节点数量(要增长的树的数量)。
以下是一个运行 AI Scientist-v2 的示例命令(请查看 bfts_config.yaml
以获取树搜索参数,包括 claude-3-5-sonnet):
python launch_scientist_bfts.py \
--load_ideas "ai_scientist/ideas/i_cant_believe_its_not_better.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
阶段 1 完成后,你应该会在 experiments
目录中看到一个带有时间戳的日志文件夹。在该文件夹中,导航到 "timestamp_ideaname"/logs/0-run
以找到 unified_tree_viz.html
。
资源
- 项目主页:https://sakana.ai/ai-scientist-first-publication/
- GitHub 仓库:https://github.com/SakanaAI/AI-Scientist-v2
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦