DESIGN.md 19 KB

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 工具

# 启动科研流程
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

# [智能体名称] 工作计划

## 目标
[本阶段要完成什么]

## 输入
[依赖哪些前序阶段的产出,具体文件路径]

## 方法
[准备如何完成,分几步]

## 预期产出
[会生成哪些文件,每个文件的用途]

## 风险与应对
[可能遇到的问题和应对策略]

## 预计耗时
[估算]

7.4 report.json 统一元数据

所有 report.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     # 评审模板