论文复现评估:五路来源并行审计与冲突对账
官方 cookbook 示例
- 行业
- 医疗与科研 · 论文复现
- 来源
- open-multi-agent 官方 cookbook
- 当前阶段
- 可运行示例
这是 open-multi-agent 官方 cookbook 示例,由元定义维护。它把「这篇论文能不能复现」拆成五路来源审计:论文元数据、代码仓库、数据集、引用反馈、发现状态各由一个 Agent 并行审阅,再由规划 Agent 对账冲突,给出复现 / 谨慎复现 / 暂不复现的结构化结论。
场景
典型场景:研究组打算复现一篇论文,先要回答几个问题:官方代码在不在、数据划分能不能拿到、论文报告的指标口径和社区复现对不对得上、需要多少算力。论文自己的说法、GitHub 上的仓库、数据集页面、后续引用里的复现笔记,是四五份各说各话的材料,人工逐一翻查、再拿来互相对照,费时且容易漏掉矛盾。
这个示例演示的是把每份材料交给一个只看这份材料的 Agent,互不干扰地并行审阅,再由下游的规划 Agent 统一对账。示例数据里预埋了四处冲突:论文称官方代码公开,仓库地址返回 404;论文称全部划分公开,benchmark_holdout 需要申请;论文报 macro-F1,复现笔记只有用 micro-F1 才接近原分数;论文称单卡 24GB 可复现,找到的训练命令默认 4 卡启动。
方案
| 角色 | 任务 DAG | 工具 | 模型 | 部署形态 |
|---|---|---|---|---|
| paper-claim-agent | 任务 Extract paper claims(根任务,审论文元数据快照) | 未声明 | claude-sonnet-4-6 / anthropic | npx tsx 单次运行的本地脚本 |
| code-artifact-agent | 任务 Audit code artifacts(根任务,审代码仓库快照) | 未声明 | claude-sonnet-4-6 / anthropic | 同上 |
| dataset-artifact-agent | 任务 Audit dataset artifacts(根任务,审数据集快照) | 未声明 | claude-sonnet-4-6 / anthropic | 同上 |
| citation-feedback-agent | 任务 Audit citation feedback(根任务,审引用与复现反馈快照) | 未声明 | claude-sonnet-4-6 / anthropic | 同上 |
| artifact-gap-agent | 任务 Audit artifact gaps(根任务,审发现状态索引) | 未声明 | claude-sonnet-4-6 / anthropic | 同上 |
| replication-planner | 任务 Plan replication decision,依赖前五个任务 | 未声明 | claude-sonnet-4-6 / anthropic | 同上 |
表中模型为示例仓库的默认配置;实际选型在方案阶段按场景确定。
模型由 LLM_PROVIDER 环境变量选择,默认 anthropic / claude-sonnet-4-6,也支持 openai、gemini、groq、openrouter;六个 Agent 都未声明 tools,只做模型调用。团队设 maxConcurrency: 5,五个审计任务同时开跑,规划任务在五个都完成后启动。
每个 Agent 都配了 zod outputSchema:五个审计 Agent 各有自己的报告结构,规划器输出 decision(reproduce / reproduce_with_caution / do_not_reproduce_yet)、risk_score、artifact_inventory、evidence_conflicts 等字段。框架在 agent.ts 里校验输出,首次不合格时带着错误信息重试一次。
团队开了 sharedMemory: true,规划任务没设 memoryScope,提示词里注入的是五个前置任务的产出(## Context from prerequisite tasks 段)。运行前 validateMockBundle() 检查快照里是否含四条预埋信号,缺一条即抛错。
默认 SOURCE_MODE=mock 读取仓库里的五份 JSON 快照;SOURCE_MODE=live 改为调用 Asta MCP 与 GitHub API 实时抓取,需要 ASTA_API_KEY。
结果
可运行产物与验证方式:
需要 API key。默认 LLM_PROVIDER=anthropic,前置条件是 ANTHROPIC_API_KEY,缺少时打印 [skip] 并以退出码 0 结束;运行命令 npx tsx packages/core/examples/cookbook/paper-replication-triage.ts,也可在命令后附论文标题或 arXiv ID。
能观察到并行。进度回调为每个任务打印 [START] / [DONE];跑完后 verifySourceTasksStartedTogether() 计算五个审计任务的启动时间差并打印 Source task start skew,超过 2000 毫秒即抛错。
规划结果有断言。规划器失败或没有结构化输出时,脚本打印原始输出并以退出码 1 结束;mock 模式下 assertPlannerDetectedConflicts() 要求 evidence_conflicts 至少 2 条、且至少一条 topic 为 code 或 dataset,通过后打印 REPLICATION TRIAGE REPORT (JSON) 与 Done.。
示例的五份快照是虚构的 MOCK 数据,论文 SparseCheck、作者与数据集 SciQA-LongTail 均为虚构,不指向任何真实论文;产出是一段模型生成的文本,供演示与验证流程使用。
出处
与元定义的关系
本页素材是 open-multi-agent 官方仓库里的 cookbook 示例,由元定义维护。
如果你手上有一条真实的文献或技术尽调流程,要把论文、代码库、数据集、引用反馈分给不同 Agent 并行核查,再汇总成一份带冲突清单的结构化结论,并接进你自己的文献库与检索工具,元定义对应的服务是 AI Agent 定制开发 →
相关服务
最后更新
想知道类似的流程在你这边怎么落地?