# Research-467: 自主科研助手多智能体系统设计 ## 1. 系统概述 Research-467 是一个基于 lambdagent 规范的多智能体协作系统,能够从 IDEA.md 出发,自主完成"可行性分析 → 文献调研 → 实验设计 → 实验实施 → 结果分析 → 论文撰写 → 审稿评判 → 迭代修改"的完整科研闭环,以 CCF A 类会议 50%+ 投稿率为终止条件。 ## 2. 架构总览 ``` ┌─────────────────────────┐ │ research-orchestrator │ │ (type: react) │ │ 主循环控制 + 状态管理 │ └────────┬────────────────┘ │ 调度 ┌────────┬───────┬───┴───┬────────┬────────┬────────┐ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ┌────────┐┌───────┐┌──────┐┌──────┐┌───────┐┌───────┐┌────────┐┌────────┐ │ idea ││ lit ││ exp ││ exp ││result ││paper ││ data ││paper │ │analyst ││search ││plan ││exec ││analyze││writer ││verifier││reviewer│ │(react) ││(react)││(chain)│(react)│(react) ││(chain)││(react) ││(react) │ └────────┘└───────┘└──────┘└──────┘└───────┘└───────┘└────────┘└────────┘ ``` ### Lambda 语义 整体系统是一个 Y 组合子驱动的不动点迭代: ``` Research467 = Y_max(λself. λidea. let feasibility = IdeaAnalyst(idea) in let papers = LitSearcher(idea, feasibility) in let plan = ExpPlanner(idea, papers) in let results = ExpExecutor(plan) in let analysis = ResultAnalyzer(results, papers) in let draft = PaperWriter(idea, papers, analysis) in let verified = DataVerifier(results, draft) in let review = PaperReviewer(verified.fixed_draft) in IF (review.score ≥ 0.5) THEN (draft, review) ELSE self(RevisionAdvisor(idea, review)) ) ``` ## 3. 智能体详细设计 ### 3.1 research-orchestrator(主编排器) | 属性 | 值 | |------|-----| | 类型 | react | | 职责 | 管理整个科研流程状态机,调度子智能体,维护全局上下文 | | 终止条件 | PaperReviewer 评分 ≥ 50% CCF-A 录用概率 | | 最大迭代 | 5 轮(防止无限循环) | ### 3.2 idea-analyst(创意分析师) | 属性 | 值 | |------|-----| | 类型 | react | | 输入 | IDEA.md 内容 | | 输出 | 可行性报告(新颖性/技术路线/风险/改进建议) | | 工具 | semantic_scholar_search, arxiv_search | ### 3.3 lit-searcher(文献检索员) | 属性 | 值 | |------|-----| | 类型 | react | | 输入 | 研究主题 + 关键词 | | 输出 | 结构化文献综述(≥20篇相关工作) | | 工具 | semantic_scholar_search, arxiv_search, pdf_reader | ### 3.4 exp-planner(实验规划师) | 属性 | 值 | |------|-----| | 类型 | chain | | 步骤 | 1. 基线方法选择 → 2. 数据集确定 → 3. 评估指标定义 → 4. 实验方案生成 | | 输出 | 完整实验计划 JSON | ### 3.5 exp-executor(实验执行员) | 属性 | 值 | |------|-----| | 类型 | react | | 输入 | 实验计划 | | 输出 | 实验结果 + 日志 | | 工具 | python_exec, shell_exec, gpu_monitor | | 特殊 | 带 checkpoint,实验可中断恢复 | ### 3.6 result-analyzer(结果分析师) | 属性 | 值 | |------|-----| | 类型 | react | | 输入 | 实验结果数据 | | 输出 | 分析报告 + 可视化图表 + 统计显著性检验 | | 工具 | python_exec(matplotlib/scipy), latex_table_gen | ### 3.7 paper-writer(论文撰写员) | 属性 | 值 | |------|-----| | 类型 | chain | | 步骤 | 1. 大纲生成 → 2. 各节撰写(parallel)→ 3. 整合润色 → 4. LaTeX 编译 | | 输出 | 完整 LaTeX 论文 + PDF | ### 3.8 data-verifier(数据核验员) | 属性 | 值 | |------|-----| | 类型 | react | | 输入 | 实验原始结果 + 论文 LaTeX 源码 | | 输出 | 核验报告(不一致项 + 严重等级 + 修正补丁) | | 核验范围 | 表格数值、正文百分比、图表数据、摘要声明、统计量、bold 标注 | | 工具 | python_exec(重新计算验证), read_file | | 特殊 | temperature=0.0,极端精确模式;输出包含可直接应用的 fix_patch | ### 3.9 paper-reviewer(论文评审员) | 属性 | 值 | |------|-----| | 类型 | react | | 输入 | 论文 PDF/LaTeX | | 输出 | 评审意见 + CCF-A 录用概率评分 | | 参考 | 目标会议历年录用标准、Review 模板 | ## 4. 所需资源分析 ### 4.1 知识库(RAG Sources) | 知识库 | 用途 | 格式 | |--------|------|------| | `ccf_ranking.json` | CCF 推荐会议/期刊分级列表 | JSON | | `conference_templates/` | 各会议 LaTeX 模板(AAAI, NeurIPS, ACL 等) | .tex/.sty | | `review_criteria/` | 各会议评审标准和 checklist | Markdown | | `writing_guides/` | 学术写作指南、常见 reviewer 意见 | Markdown | | `methodology_kb/` | 研究方法论(实验设计、统计检验等) | Markdown | | `user_papers/` | 用户已发表论文(学习写作风格) | PDF/LaTeX | ### 4.2 MCP 服务 | MCP Server | 提供的工具 | 说明 | |------------|-----------|------| | `scholar-mcp` | `semantic_scholar_search`, `get_paper_details`, `get_citations` | Semantic Scholar API 封装 | | `arxiv-mcp` | `arxiv_search`, `arxiv_download`, `pdf_to_text` | ArXiv 论文检索与下载 | | `code-sandbox-mcp` | `python_exec`, `install_package`, `gpu_status` | 安全的代码执行沙箱 | | `latex-mcp` | `compile_latex`, `latex_lint`, `bibtex_format` | LaTeX 编译服务 | | `fs-mcp` | `read_file`, `write_file`, `list_dir` | 文件系统操作 | | `plotting-mcp` | `create_figure`, `create_table` | 科研图表生成 | ### 4.3 本地工具(localTools) | 工具 | 说明 | |------|------| | `terminate` | 标准终止工具(base case) | | `read_idea` | 读取并解析 IDEA.md | | `save_checkpoint` | 保存当前科研进度 | | `load_checkpoint` | 恢复科研进度 | | `human_feedback` | 请求人类研究者反馈(可选) | ### 4.4 CLI 工具 ```bash # 启动科研流程 lambdagent run research467/orchestrator.yml --input idea.md # 查看进度 lambdagent status research467 # 从检查点恢复 lambdagent run research467/orchestrator.yml --checkpoint latest # 单独运行某个阶段 lambdagent run research467/lit-searcher.yml --input "transformer efficiency" # 静态检查所有配置 lambdagent lint research467/*.yml # 导出 Lambda 表达式(验证语义) lambdagent lambda research467/orchestrator.yml ``` ## 5. 关键设计决策 ### 5.1 为什么用 react 而非 chain 做 orchestrator? chain 是静态的 `f >> g >> h`,无法根据 reviewer 反馈动态决定回退到哪个阶段。react 的 Y 组合子循环 + 工具调用允许 orchestrator 在每一步灵活决策:可能只需修改论文,也可能需要重新实验。 ### 5.2 迭代收敛策略 - 每轮迭代,reviewer 产出结构化评审(novelty/soundness/clarity/significance 四维度打分) - orchestrator 根据最低分维度决定回退目标: - novelty 低 → 回退 idea-analyst - soundness 低 → 回退 exp-planner - clarity 低 → 回退 paper-writer - significance 低 → 回退 lit-searcher(寻找更强的对比方法) - 设置 maxSteps=5 防止无限迭代,超过则输出当前最佳版本 + 改进建议 ### 5.3 Memory 策略 - orchestrator 使用 redis memory(全局状态持久化) - 子智能体使用 session-scoped local memory(任务完成即释放) - 文献综述结果存入 RAG 供后续阶段引用 ### 5.4 Guard 校验 - idea-analyst: 输出必须包含 novelty_score 字段 - exp-planner: 输出必须是合法 JSON 且包含 datasets, baselines, metrics - paper-reviewer: 输出必须包含 acceptance_probability 数值 - orchestrator: 最终输出必须包含完整论文 + 评审报告 ## 6. 执行流程示意 ``` Round 1: IDEA.md → idea-analyst → feasibility_report → lit-searcher → literature_review (20+ papers) → exp-planner → experiment_plan.json → exp-executor → raw_results/ → result-analyzer → analysis_report + figures/ → paper-writer → draft_v1.tex → draft_v1.pdf → data-verifier → verification_v1 (2 discrepancies fixed) → paper-reviewer → review_v1 (score: 0.35) score < 0.5, reviewer says: "soundness: weak experiments, missing ablation" Round 2: orchestrator routes to exp-planner (soundness issue) → exp-planner → updated_plan (+ ablation studies) → exp-executor → new_results/ → result-analyzer → updated_analysis → paper-writer → draft_v2.tex (incorporating new results) → data-verifier → verification_v2 (0 discrepancies ✓) → paper-reviewer → review_v2 (score: 0.52) score ≥ 0.5 ✓ → 输出 draft_v2 + submission recommendation ``` ## 7. 产出物规范(Artifact Protocol) 每个智能体在工作时必须遵循统一的"**先计划、后执行、最后归档**"三阶段协议。 所有产出物写入 `${WORKSPACE}` 目录(运行时由 orchestrator 通过环境变量注入)。 ### 7.1 三阶段协议 ``` 阶段 1: PLAN → 写入 work_plan.md(目标、方法、预期产出、时间估算) 阶段 2: EXEC → 执行工作,中间产物写入 artifacts/ 阶段 3: REPORT → 写入 report.json(结构化结果)+ report.md(可读报告) ``` ### 7.2 运行时工作区结构(Workspace Layout) ``` ${WORKSPACE}/ # e.g. ./workspace/run_20260327_143000/ ├── project_plan.md # orchestrator 的总体科研计划 ├── progress.json # orchestrator 维护的全局进度 ├── round_1/ # 第 1 轮迭代 │ ├── 01_idea_analysis/ │ │ ├── work_plan.md # 工作计划:要分析什么、怎么分析 │ │ ├── artifacts/ │ │ │ ├── search_queries.json # 搜索过的关键词和结果 │ │ │ └── similar_papers.json # 找到的相似论文列表 │ │ ├── report.json # 结构化可行性评估 │ │ └── report.md # 可读版可行性报告 │ ├── 02_literature_review/ │ │ ├── work_plan.md # 检索策略计划 │ │ ├── artifacts/ │ │ │ ├── search_log.jsonl # 每次搜索的记录 │ │ │ ├── papers_raw.json # 原始检索结果 │ │ │ └── papers_fulltext/ # 下载的论文全文 │ │ ├── report.json # 结构化文献综述 │ │ └── report.md # 可读版文献综述 │ ├── 03_experiment_plan/ │ │ ├── work_plan.md # 实验设计思路 │ │ ├── artifacts/ │ │ │ ├── baseline_analysis.json # 基线分析 │ │ │ └── dataset_survey.json # 数据集调研 │ │ ├── report.json # 完整实验计划 │ │ └── report.md # 可读版实验计划 │ ├── 04_experiment_execution/ │ │ ├── work_plan.md # 执行计划(步骤、顺序、资源) │ │ ├── artifacts/ │ │ │ ├── scripts/ # 实验脚本 │ │ │ │ ├── run_main.py │ │ │ │ ├── run_ablation.py │ │ │ │ └── run_baseline_*.py │ │ │ ├── logs/ # 运行日志 │ │ │ │ └── *.jsonl │ │ │ ├── checkpoints/ # 模型检查点 │ │ │ └── raw_results/ # 原始实验数据 │ │ │ ├── main_results.json # ← 主实验原始数据 │ │ │ ├── ablation_results.json # ← 消融实验原始数据 │ │ │ └── efficiency_results.json # ← 效率实验原始数据 │ │ ├── report.json # 汇总实验结果 │ │ └── report.md # 可读版执行报告 │ ├── 05_result_analysis/ │ │ ├── work_plan.md # 分析计划 │ │ ├── artifacts/ │ │ │ ├── figures/ # 生成的图表 │ │ │ │ ├── main_comparison.pdf │ │ │ │ ├── ablation_curve.pdf │ │ │ │ └── efficiency_plot.pdf │ │ │ ├── tables/ # LaTeX 表格代码 │ │ │ │ ├── main_table.tex │ │ │ │ └── ablation_table.tex │ │ │ └── statistical_tests.json # 统计检验结果 │ │ ├── report.json # 结构化分析结果 │ │ └── report.md # 可读版分析报告 │ ├── 06_paper_writing/ │ │ ├── work_plan.md # 写作大纲和计划 │ │ ├── artifacts/ │ │ │ ├── outline.json # 结构化大纲 │ │ │ ├── sections/ # 各节草稿 │ │ │ │ ├── abstract.tex │ │ │ │ ├── introduction.tex │ │ │ │ ├── related_work.tex │ │ │ │ ├── method.tex │ │ │ │ ├── experiments.tex │ │ │ │ └── conclusion.tex │ │ │ ├── paper.tex # ← 完整论文源码 │ │ │ ├── references.bib # ← 参考文献 │ │ │ └── paper.pdf # ← 编译后 PDF │ │ ├── report.json # 写作完成状态 │ │ └── report.md # 写作过程说明 │ ├── 07_data_verification/ │ │ ├── work_plan.md # 核验计划和范围 │ │ ├── artifacts/ │ │ │ ├── number_map.json # 论文数值→原始数据映射 │ │ │ ├── fix_patch.json # 修正补丁 │ │ │ └── paper_fixed.tex # 修正后论文(如有修改) │ │ ├── report.json # 核验结果 │ │ └── report.md # 可读版核验报告 │ └── 08_paper_review/ │ ├── work_plan.md # 评审计划和关注点 │ ├── artifacts/ │ │ ├── review_notes.md # 逐节评审笔记 │ │ └── comparable_papers.json # 用于对比的同领域已录用论文 │ ├── report.json # 结构化评审报告 │ └── report.md # 可读版评审意见 ├── round_2/ # 第 2 轮迭代(结构同上,仅含回退阶段) │ ├── ... ├── final/ # 最终产出 │ ├── paper.tex # 最终论文源码 │ ├── paper.pdf # 最终论文 PDF │ ├── references.bib # 参考文献 │ ├── figures/ # 所有图表 │ ├── supplementary/ # 补充材料 │ ├── experiment_data/ # 实验原始数据归档 │ │ ├── main_results.json │ │ ├── ablation_results.json │ │ └── efficiency_results.json │ ├── code/ # 实验代码归档 │ ├── submission_checklist.md # 投稿前检查清单 │ └── submission_recommendation.json # 投稿建议(目标会议+时间线) └── .checkpoints/ # orchestrator 检查点 ├── round_1_phase_3.ckpt └── ... ``` ### 7.3 work_plan.md 统一格式 每个智能体开始工作前必须先写入 `work_plan.md`: ```markdown # [智能体名称] 工作计划 ## 目标 [本阶段要完成什么] ## 输入 [依赖哪些前序阶段的产出,具体文件路径] ## 方法 [准备如何完成,分几步] ## 预期产出 [会生成哪些文件,每个文件的用途] ## 风险与应对 [可能遇到的问题和应对策略] ## 预计耗时 [估算] ``` ### 7.4 report.json 统一元数据 所有 report.json 必须包含以下公共字段: ```json { "_meta": { "agent_id": "research-467-xxx", "phase": "01_idea_analysis", "round": 1, "started_at": "2026-03-27T14:30:00Z", "completed_at": "2026-03-27T14:35:22Z", "duration_seconds": 322, "status": "completed", "work_plan_path": "round_1/01_idea_analysis/work_plan.md", "artifacts": [ "round_1/01_idea_analysis/artifacts/search_queries.json", "round_1/01_idea_analysis/artifacts/similar_papers.json" ] }, ...agent-specific fields... } ``` ## 8. 文件结构(配置文件) ``` research467/ ├── DESIGN.md # 本文档 ├── orchestrator.yml # 主编排器配置 ├── agents/ │ ├── idea-analyst.yml # 创意分析师 │ ├── lit-searcher.yml # 文献检索员 │ ├── exp-planner.yml # 实验规划师 │ ├── exp-executor.yml # 实验执行员 │ ├── result-analyzer.yml # 结果分析师 │ ├── paper-writer.yml # 论文撰写员 │ ├── data-verifier.yml # 数据核验员 │ └── paper-reviewer.yml # 论文评审员 ├── knowledge/ │ ├── ccf_ranking.json # CCF 分级列表 │ ├── review_criteria.md # 评审标准 │ └── writing_guide.md # 写作指南 └── prompts/ └── reviewer_template.md # 评审模板 ```