Agent Laboratory 实战指南:基于 LLM 多智能体的端到端自动化科研工作流

发布时间:2026/10/15 7:50:32
Agent Laboratory 实战指南:基于 LLM 多智能体的端到端自动化科研工作流
AI Agent人工智能大模型科研【免费下载链接】AgentLaboratoryAgent Laboratory is an end-to-end autonomous research workflow meant to assist you as the human researcher toward implementing your research ideas项目地址https://gitcode.com/gh_mirrors/ag/AgentLaboratory点击查看免费下载Agent Laboratory 是一个端到端的自主科研工作流它将文献综述、实验执行与论文写作交由多类大语言模型LLM驱动的专职 Agent 协作完成从而把人类研究者从重复性的编程和文档工作中解放出来。本文以项目官方法语版 READMEreadme/README-french.md为主线结合 ai_lab_repo.py、agents.py、mlesolver.py、papersolver.py 等源码与真实配置文件系统讲解它的架构、安装、启动方式与五个核心实战技巧。读完本文你将掌握如何配置task_notes_LLM任务笔记、选择合适的 LLM 后端、从检查点恢复进度以及以中文等非英语语言运行整套流水线。一、Agent Laboratory 是什么Agent Laboratory 是一个端到端end-to-end的自主科研工作流设计目标是作为人类研究者的研究助理帮助你把研究想法真正落地实现。它由多个由大语言模型驱动的专职 Agent 组成覆盖完整的科研流程从检索文献、撰写综述、制定实验计划到执行实验、解读结果再到撰写并精修完整的研究报告。这个系统不是要取代你的创造力而是补足它你专注于构思ideation与批判性思考critical thinking而那些重复、耗时的工作——比如写代码、写文档——交给 Agent 自动化完成。项目同时考虑了不同级别的计算资源与人工参与程度既能全自动运行也支持人机协同的 Co-Pilot 模式目标是加速科学发现、提升研究产出效率。1.1 目前支持的模型后端根据仓库 README.md 的说明当前支持以下模型后端OpenAIo1、o1-preview、o1-mini、gpt-4o、o3-miniDeepSeekdeepseek-chatdeepseek-v3通过设置--llm-backendllm_model即可选择具体模型例如--llm-backendgpt-4o或--llm-backenddeepseek-chat。在 inference.py 中还可以看到claude-3-5-sonnet、gemini-2.0-pro、gemini-1.5-pro等调用分支以及对应的 token 成本估算表curr_cost_est说明推理层为多种服务商预留了扩展能力。1.2 支持 AgentRxiv 协作科研除标准科研流水线外Agent Laboratory 还支持AgentRxiv一个让自主科研 Agent 相互上传、检索并基于彼此研究成果继续推进的框架使 Agent 能够在已有成果之上形成累积式科研进展。相关配置agentRxiv、agentrxiv-papers、construct-agentRxiv等与本地论文检索服务app.py 中的/api/search接口均在 ai_lab_repo.py 中解析。二、系统如何工作三大阶段流水线Agent Laboratory 由三个主要阶段系统性地引导科研过程文献综述Literature ReviewAgent 独立地收集、分析相关研究论文实验Experimentation协作完成计划制定与数据准备随后自动化执行实验报告写作Report Writing生成并精修完整的研究报告。在每一阶段中LLM 驱动的专职 Agent 协同达成不同目标并集成外部工具来优化产出包括arXiv论文检索、Hugging Face数据集、Python代码执行和LaTeX论文排版。从源码看ai_lab_repo.py 中的LaboratoryWorkflow.phases将流程细分为 7 个子任务self.phases [ (literature review, [literature review]), (plan formulation, [plan formulation]), (experimentation, [data preparation, running experiments]), (results interpretation, [results interpretation, report writing, report refinement]), ]即literature review→plan formulation→data preparation→running experiments→results interpretation→report writing→report refinement每完成一个子任务都会调用save_state保存现场ai_lab_repo.py。2.1 六类专职 Agent 角色在 ai_lab_repo.py 的LaboratoryWorkflow.__init__中会实例化六个核心 Agent对应 agents.py 中的类Agent类名角色定位参与阶段博士生PhDStudentAgent一线执行者检索文献、参与规划、解释结果全部 7 个子任务博士后PostdocAgent指导博士生制定计划、解读实验结果计划制定、结果解读教授ProfessorAgent指导论文写作最终产出 LaTeX 报告与 readme报告写作ML 工程师MLEngineerAgent编写数据准备与实验代码数据准备、运行实验软件工程师SWEngineerAgent审核并提交最终数据准备代码数据准备评审团ReviewersAgent以三位审稿人身份评审论文报告精修这些 Agent 通过对话DIALOGUE交换意见并在适当时机提交成果如PLAN、INTERPRETATION、LATEX构成一个模拟真实学术团队的协作流水线。三、安装与启动3.1 Python 虚拟环境安装步骤第一步克隆仓库git clone https://gitcode.com/gh_mirrors/ag/AgentLaboratory.git第二步创建并激活 Python 虚拟环境python -m venv venv_agent_lab激活该环境source venv_agent_lab/bin/activate第三步安装依赖库pip install -r requirements.txt依赖清单见 requirements.txt其中包含openai、arxiv、datasets、torch、transformers、tiktoken、PyPDF2等关键组件。第四步可选安装 pdflatexsudo apt install pdflatex安装 pdflatex 后Agent 可以把生成的 LaTeX 源码编译为 PDF 论文。[重要]如果因为缺少 sudo 权限无法安装 pdflatex可以通过把--compile_latex参数设为false来关闭 PDF 编译--compile_latexFalse。3.2 启动 Agent Laboratory官方法语版 README 提供的启动命令为python ai_lab_repo.py --api-key API_KEY_HERE --llm-backend o1-mini --research-topic 你的研究想法如果没有安装 pdflatex则追加--compile_latexFalsepython ai_lab_repo.py --api-key API_KEY_HERE --llm-backend o1-mini --research-topic 你的研究想法 --compile_latexFalse3.3 当前仓库的 YAML 配置启动方式需要说明的是当前仓库版本的启动入口已迁移为 YAML 配置驱动ai_lab_repo.py的命令行入口只保留--yaml-location一个参数ai_lab_repo.py其余全部配置从 YAML 文件中读取parse_yaml。官方英文 README 给出的示例为python ai_lab_repo.py --yaml-location experiment_configs/MATH_agentlab.yaml仓库自带 experiment_configs/MATH_agentlab.yaml 与 experiment_configs/MATH_agentrxiv.yaml 两个可直接运行的实验配置。下表汇总了 YAML 中支持的全部配置项默认值取自 parse_yaml配置键类型默认值说明copilot-modeboolfalse是否开启人类在环Co-Pilot模式为true时每个阶段都征求人类确认research-topicstring无研究主题描述若num-papers-to-write 1可视为研究方向否则可写成具体研究想法api-keystring无OpenAI API Key与deepseek-api-key二选一deepseek-api-keystring无DeepSeek API Keyllm-backendstringo3-mini主 Agent 的 LLM 后端lit-review-backendstringgpt-4o-mini配置文件中提供的文献综述后端languagestringEnglish对话与报告使用的语言num-papers-lit-reviewint5文献综述阶段收录的 arXiv 论文数量num-papers-to-writeint100按顺序撰写的论文总数parallel-labsboolfalse是否并行运行多个 Agent 实验室num-parallel-labsint8并行实验室的数量mlesolver-max-stepsint3每个实验室实验求解器MLESolver的最大步骤数papersolver-max-stepsint5每个实验室论文求解器PaperSolver的最大步骤数lab-indexint0实验室索引并行运行时使用load-previousboolfalse是否从已有检查点加载对应旧版 CLI 的--load-existingexcept-if-failboolfalse阶段失败时是否抛出异常compile-latexbooltrue论文求解阶段是否将 LaTeX 编译为 PDFagentRxivboolfalse是否启用 AgentRxiv 检索construct-agentRxivboolfalse是否构建 AgentRxiv 本地服务agentrxiv-papersint5AgentRxiv 文献综述中纳入的论文数task-noteslist[]各阶段的任务笔记见技巧 1API Key 也可以通过环境变量OPENAI_API_KEY/DEEPSEEK_API_KEY提供ai_lab_repo.py如果两者都没有程序会直接抛出ValueError提示必须提供密钥。3.4 Co-Pilot 人机协同模式如果你希望在每个阶段保留人工审核权只需在 YAML 中把copilot-mode设为true。开启后每个阶段产出的内容综述、计划、代码、解读、报告都会先展示给人类确认回答 Y/N回答 N 时还可以输入改进意见意见会被追加为新的任务笔记并重跑该阶段对应 ai_lab_repo.py 的human_in_loop实现。四、提升研究效果的五个实战技巧技巧 1务必编写详细的任务笔记task_notes_LLM详细的任务笔记非常重要它帮助 Agent 理解你在项目中想要达成的目标以及风格偏好。笔记可以包含你希望 Agent 执行的实验、API Key、你想纳入论文的图表、以及任何你希望 Agent 在做研究时知道的信息。这也是你告知 Agent可用的计算资源的机会例如GPU数量、型号、显存 GB 数CPU核心数、型号存储限制与硬件规格。官方法语版 README 给出的笔记结构是修改 ai_lab_repo.py 中的task_notes_LLM列表。以下是一组项目实验中实际使用过的笔记示例task_notes_LLM [ {phases: [plan formulation], note: fYou should come up with a plan for TWO experiments.}, {phases: [plan formulation, data preparation, running experiments], note: Please use gpt-4o-mini for your experiments.}, {phases: [running experiments], note: fUse the following code to inference gpt-4o-mini: \nfrom openai import OpenAI\nos.environ[\OPENAI_API_KEY\] \{api_key}\\nclient OpenAI()\ncompletion client.chat.completions.create(\nmodel\gpt-4o-mini-2024-07-18\, messagesmessages)\nanswer completion.choices[0].message.content\n}, {phases: [running experiments], note: fYou have access to only gpt-4o-mini using the OpenAI API, please use the following key {api_key} but do not use too many inferences. Do not use openai.ChatCompletion.create or any openai0.28 commands. Instead use the provided inference code.}, {phases: [running experiments], note: I would recommend using a small dataset (approximately only 100 data points) to run experiments in order to save time. Do not use much more than this unless you have to or are running the final tests.}, {phases: [data preparation, running experiments], note: You are running on a MacBook laptop. You can use mps with PyTorch}, {phases: [data preparation, running experiments], note: Generate figures with very colorful and artistic design.}, ]这些笔记如何在源码中生效在 BaseAgent.inference 中笔记会按当前阶段过滤phase_notes [_note for _note in self.notes if phase in _note[phases]]拼接进每次推理的 prompt 的Notes:字段在报告写作阶段report_writing 还会把属于该阶段的笔记单独提取出来注入 PaperSolver。当前仓库版本则是在 YAML 的task-notes字段下按阶段组织笔记启动时由 ai_lab_repo.py 将plan-formulation这类带连字符的键名转换为plan formulation并逐条展开成上面的结构。例如 experiment_configs/MATH_agentlab.yaml 中task-notes: plan-formulation: - You should come up with a plan for only ONE experiment aimed at maximizing performance on the test set of MATH using prompting techniques. - The baseline performance of gpt-4o-mini on MATH-500 is 70.2% - Please use gpt-4o-mini for your experiments - You must evaluate on the entire 500 test questions of MATH - DO NOT PLAN FOR TOO LONG. Submit your plan soon. >python ai_lab_repo.py --api-key API_KEY_HERE --research-topic YOUR RESEARCH IDEA --llm-backend o1-mini --load-existing True --load-existing-path save_states/LOAD_PATH源码实现LaboratoryWorkflow.save_stateai_lab_repo.py在每个子任务完成后将整个工作流对象以 pickle 形式写入state_saves/Paper{paper_index}.pkl因此恢复时能完整还原 Agent 的对话历史、文献列表、计划、代码与实验结果。当前 YAML 版本对应的配置键为load-previous: true。技巧 4使用英语之外的语言运行如果你需要用非英语语言运行 Agent Laboratory只需为 Agent 提供语言标志让它以你偏好的语言进行研究。注意项目尚未对非英语运行做深入研究遇到问题请及时反馈。以中文为例python ai_lab_repo.py --api-key API_KEY_HERE --research-topic 你的研究想法用你的语言书写 --llm-backend o1-mini --language 中文源码实现当 YAML 中language不等于English时ai_lab_repo.py 会向全部 7 个阶段注入一条统一笔记You should always write in the following language to converse and to write the report {args.language}从而让所有 Agent 的对话与最终报告都使用目标语言。在 YAML 配置中对应为language: 中文。技巧 5项目仍有很大的改进空间Agent Laboratory 代码库仍有大量可改进之处。如果你对代码做了修改并希望帮助社区欢迎分享你的改动。项目希望这个工具真正帮到每一位研究者。五、源码级深挖Agent 指令、求解器与评审机制本节基于仓库源码进一步解释流水线内部的关键机制方便你在上手后深入定制。5.1 Agent 可执行的指令集在 agents.py 中每个 Agent 的command_descriptions定义了它可用的指令统一采用 COMMAND\n...\n 的封装格式且每次推理只能执行一条指令阶段指令作用文献综述SUMMARY按语义检索 arXiv 论文摘要文献综述FULL_TEXT获取某篇 arXiv 论文全文带过期机制防止上下文膨胀文献综述ADD_PAPER将相关论文加入正式综述列表计划制定DIALOGUE/PLAN对话讨论 / 提交最终实验计划数据准备python/SEARCH_HF/SUBMIT_CODE执行代码、检索 Hugging Face 数据集、提交最终数据代码结果解读DIALOGUE/INTERPRETATION讨论 / 提交结果解读报告写作LATEX提交可编译的 LaTeX 报告例如文献综述阶段agents.py博士生 Agent 先发出SUMMARY搜索查询再通过FULL_TEXT阅读全文最后用ADD_PAPER收录论文直到lit_review列表数量达到num_papers_lit_review默认 5 篇才进入下一阶段ai_lab_repo.py。数据准备阶段则由 ML 工程师写代码、软件工程师审核并最终提交ai_lab_repo.py。5.2 MLESolver实验代码的自适应求解器运行实验阶段由 mlesolver.py 中的MLESolver驱动ai_lab_repo.py 调用。它采用生成代码 → 执行 → 打分 → 反思改进的闭环初始化时通过 REPLACE 生成首版代码mlesolver.py之后在 EDIT N M 与 REPLACE 两条指令间迭代按mlesolver-max-steps默认 3 步执行每次改动都会先执行验证出错则由 LLM 驱动的code_repair自动修复重试上限GLOBAL_REPAIR_ATTEMPTS 2见 mlesolver.py由奖励模型同样是 LLM对是否遵循计划、代码质量、输出是否正确打分0~1 浮点保留历史最高分代码mlesolver.py。5.3 PaperSolver论文写作求解器报告写作阶段由 papersolver.py 中的PaperSolver驱动流程与 MLESolver 类似但对象是 LaTeX 论文先按固定章节骨架逐节生成Abstract、Introduction、Background、Related Work、Methods、Experimental Setup、Results、Discussionpapersolver.py通过 EDIT N M 与 REPLACE 指令迭代修改目标篇幅约 4000 词 / 8 页papersolver.py每份草稿都由评审打分复用 agents.py 的get_score保留最高分版本若compile-latex为真则调用 utils.py 的compile_latex写入tex/temp.tex并调用pdflatex编译超时 30 秒。5.4 评审打分机制与报告精修ReviewersAgentagents.py会以三位不同风格审稿人的身份评审论文一位严格但公正、一位苛刻但看重影响力、一位开放但追求新颖性。评分通过 JSON 结构输出包含Summary、Strengths、Weaknesses、Originality、Quality、Clarity、Significance、Soundness、Presentation、Contribution、Overall、Confidence与Decision等字段并按加权公式折算成 0~10 的性能分agents.py。在report refinement阶段若评审建议回到规划阶段改进实验工作流会把plan formulation及后续所有阶段的phase_status重置为 False带着前一轮的代码、结果与评审反馈reviewer_response重新跑一轮perform_researchai_lab_repo.py实现评审 → 返工 → 再评审的闭环。5.5 代码执行与安全边界所有 Agent 生成的 Python 代码由 tools.py 的execute_code在独立子进程中执行默认超时 600 秒输出截断至 1000 字符执行前会自动注入from utils import *exit()调用与超时都会被拦截并返回[CODE EXECUTION ERROR]错误信息确保实验代码不会拖垮主流程。六、引用与参考文献如果在研究中使用本工具官方提供的 BibTeX 引用如下preprint{schmidgall2025AgentLaboratory, title{Agent Laboratory: Using LLM Agents as Research Assistants}, author{Schmidgall, Samuel and Su, Yusheng and Wang, Ze and Sun, Ximeng and Wu, Jialian and Yu, Xiadong and Liu, Jiang, Liu, Zicheng and Barsoum, Emad}, year{2025} }更多中文资料可参阅 readme/README-chinese.md英文原版见 README.md。上手时建议先阅读 experiment_configs/MATH_agentlab.yaml 的完整配置再结合本文的启动命令与五条技巧把 Agent Laboratory 真正跑起来。赞分享AI Agent人工智能大模型科研【免费下载链接】AgentLaboratoryAgent Laboratory is an end-to-end autonomous research workflow meant to assist you as the human researcher toward implementing your research ideas项目地址https://gitcode.com/gh_mirrors/ag/AgentLaboratory点击查看免费下载相关推荐awesome-claude-skills 之 DataRobot 自动化技能基于 Rube MCP 的端到端工作流实战指南awesome claude skills 之 DataRobot 自动化技能基于 Rube MCP 的端到端工作流实战指南 导读 本文围绕 composiAI 技能AI 插件人工智能工作流自动化Agentic Awesome Skills 端到端应用性能优化工作流基于 AAS 多智能体编排的 5 阶段性能治理实战指南Agentic Awesome Skills 端到端应用性能优化工作流基于 AAS 多智能体编排的 5 阶段性能治理实战指南 本指南系统讲解 applicatAI 技能AI 插件Week 5基于 Warp 的 Agentic 开发实战——多智能体工作流与 Drive 自动化构建指南Week 5基于 Warp 的 Agentic 开发实战——多智能体工作流与 Drive 自动化构建指南 本篇指南以 week5/assignment.md示例工程上一篇解放你的游戏时间MAA明日方舟自动化助手全攻略下一篇5个实用技巧用MAA明日方舟自动化助手优化你的游戏体验创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考