← 返回案例
发布:整理:元定义科技(YuanASI)论文复现来源审计并行执行结构化输出open-multi-agent

论文复现评估:五路来源并行审计与冲突对账

官方 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 / anthropicnpx 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 均为虚构,不指向任何真实论文;产出是一段模型生成的文本,供演示与验证流程使用。

出处

来源链接核实日期
packages/core/examples/cookbook/paper-replication-triage.ts(commit 2f1d0ff)https://github.com/open-multi-agent/open-multi-agent/blob/2f1d0ff/packages/core/examples/cookbook/paper-replication-triage.ts
packages/core/examples/fixtures/paper-replication-triage/README.md(预埋冲突说明,commit 2f1d0ff)https://github.com/open-multi-agent/open-multi-agent/blob/2f1d0ff/packages/core/examples/fixtures/paper-replication-triage/README.md
packages/core/examples/fixtures/paper-replication-triage/code-artifacts.json(commit 2f1d0ff)https://github.com/open-multi-agent/open-multi-agent/blob/2f1d0ff/packages/core/examples/fixtures/paper-replication-triage/code-artifacts.json
packages/core/examples/fixtures/paper-replication-triage/dataset-artifacts.json(commit 2f1d0ff)https://github.com/open-multi-agent/open-multi-agent/blob/2f1d0ff/packages/core/examples/fixtures/paper-replication-triage/dataset-artifacts.json
packages/core/examples/README.md cookbook 条目(commit 2f1d0ff)https://github.com/open-multi-agent/open-multi-agent/blob/2f1d0ff/packages/core/examples/README.md
packages/core/src/agent/agent.ts(结构化输出校验与一次重试,commit 2f1d0ff)https://github.com/open-multi-agent/open-multi-agent/blob/2f1d0ff/packages/core/src/agent/agent.ts

与元定义的关系

本页素材是 open-multi-agent 官方仓库里的 cookbook 示例,由元定义维护。

如果你手上有一条真实的文献或技术尽调流程,要把论文、代码库、数据集、引用反馈分给不同 Agent 并行核查,再汇总成一份带冲突清单的结构化结论,并接进你自己的文献库与检索工具,元定义对应的服务是 AI Agent 定制开发

最后更新

想知道类似的流程在你这边怎么落地?