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 # 评审模板