Deep Research 写了 30 条引用,先查 OpenAlex ID 有没有断

6 阅读5分钟

一份 Deep Research 报告交上来,正文很漂亮:三层结构,30 条引用,结论克制,语气像综述。翻到附录,问题才冒出来:5 篇文献没有稳定 ID,3 篇来自同一研究的 arXiv 预印本和期刊正式版,另有 2 条 DOI 能打开,但 OpenAlex 对到的是相邻题目的论文。

这类报告容易骗过肉眼。标题、作者、年份大多正确,段落也像有依据。麻烦藏在引用层:同一研究被拆成多份证据,预印本和正式版混用,DOI、PMID、OpenAlex ID 没有对齐,段落 claim 和来源角色没有绑定。

图1:一份 Deep Research 报告旁边放一张 citation_map,missing_id、version_duplicate、id_mismatch 被标红

图1:一份 Deep Research 报告旁边放一张 citation_map,missing_id、version_duplicate、id_mismatch 被标红

引用越多,越要先对 ID

普通 RAG 评测很难抓到这类问题。答案相似度看最终文本像不像,faithfulness 看回答有没有偏离上下文,context precision 看召回片段是否相关。它们都可能给高分,但来源 ID 已经断开。

科研引用里的摩擦很细。标题会改,作者名会缩写,会议版会扩展成期刊版,arXiv 会更新版本,PubMed 给 PMID,OpenAlex 给 work ID,DOI 可能指向正式发表版本。模型缺少实体对齐层,就容易把一条研究线拆成几条证据。

我会要求 Research Agent 交付 citation_map。它是正文段落和文献实体之间的审计表,至少记录 claim、句子、来源 ID、DOI、PMID、OpenAlex ID、版本类型、证据角色和核验状态。

字段示例用途
claim_idC-012绑定正文里的具体结论
source_idS-07统一管理报告内引用
DOI / PMID / OpenAlex ID10.xxxx / null / W123追踪稳定来源
publication_typepreprint / journal_article区分预印本与正式版
evidence_rolesupport / background / contradict判断引用承担什么角色
verification_statusid_matched / manual_review标记核验进度

evidence_role 很有用。某篇论文是在支持结论,还是只提供背景?是反例,还是方法来源?如果段落写“多智能体科研系统提升假设筛选质量”,引用却只是系统介绍,问题已经超出格式层面。citation_map 不能证明论文质量,但能提前暴露来源错配和引用误用。

报告润色前,先跑 citation lint

生成报告后,先别急着改语气。先跑 citation lint,范围可以很小:缺 ID、版本重复、来源类型不明、引用未被正文使用、弱支持 claim。下面是一段 30 行以内的最小 schema,放在 Research Agent 输出之后即可:

{
  "claim_id": "C-012",
  "sentence": "多智能体科研系统可用于生成并筛选实验假设。",
  "sources": [
    {
      "source_id": "S-07",
      "title": "Example paper title",
      "doi": "10.xxxx/xxxxx",
      "pmid": null,
      "openalex_id": "W1234567890",
      "publication_type": "preprint",
      "arxiv_version": "v2",
      "evidence_role": "background",
      "verification_status": "id_matched_title_unchecked"
    }
  ],
  "lint": {
    "severity": "manual_review",
    "rules_hit": ["weak_support", "journal_version_unknown"],
    "auto_fix": ["doi_canonicalized"],
    "human_check": ["read_methods", "confirm_version_relation"]
  }
}

一个最小审计流程可以这样跑。先把 DOI 统一大小写,去掉 https://doi.org/ 前缀和尾部空格;再用 OpenAlex work ID 去重,检查 primary_location 和 merged works;没有 DOI 的文献,核标题、作者、年份;arXiv 文献保留版本号,并检查是否已有期刊正式版;PubMed 条目看 PMID、publication type、retraction 或 erratum 标记。

规则不用一开始写得很复杂,但要能输出分级结果。error 包括 claim 没有来源、DOI 与 OpenAlex 标题明显不一致、同一研究的预印本和正式版被当成两条独立证据、撤稿论文未标注。warning 包括缺 DOI 但有 OpenAlex ID、arXiv 没有版本号、publication_type 为空、背景引用被用于结论。manual_review 留给标题相似但作者重叠不足、年份差超过 2 年、临床试验和系统评价相关结论。

图2:流程图占位:query → 候选文献池 → ID 对齐 → citation_map → 报告生成 → citation lint

图2:流程图占位:query → 候选文献池 → ID 对齐 → citation_map → 报告生成 → citation lint

把候选池做干净,再让模型写

还用一个模拟问题:“AI Agent 在科研自动化里到底做到了什么?”直接丢给模型,容易得到一篇顺滑综述。可控的做法,是先把问题改写成检索条件:限定 2022 年以来,关注 hypothesis generation、literature review automation、experiment planning、scientific discovery agent,排除纯科普文章和没有实验评估的博客,同时标注预印本、会议论文、期刊论文。

候选来源可以来自多个入口。比如用 超能文献 输入中文自然语言问题,辅助检索 PubMed、OpenAlex 等来源,并保留 DOI、PMID、OpenAlex ID 这类可追踪字段。它适合放在候选文献池和来源追踪节点,不能替代人工判断论文质量。

接着做一次模拟审计。某个 claim 写道:“AI Agent 已经能提高科研假设筛选质量。”系统召回 3 篇来源:一篇 arXiv 预印本,一篇同题期刊版,一篇只介绍系统架构的论文。ID 对齐后发现,前两篇 OpenAlex merged works 指向同一 work,不能算两条独立证据;第三篇 evidence_role 只能标 background,不能支撑“提高质量”。lint 输出一个 error、一个 warning、一个 manual_review。人工复核时,需要回到正式版原文看评估任务、对照组、样本量和指标定义。

PubMed、OpenAlex、arXiv 的分工也要固定。PubMed 适合医学和生命科学检索,PMID 便于追踪;OpenAlex 覆盖面广,适合跨学科实体对齐;arXiv 对 AI 研究绕不开,但版本号必须保留。涉及医疗 AI、临床试验、系统评价、药物安全时,模型和产品只能做证据入口、文献追踪、研究审计,不能给诊断或治疗建议。

图3:对照图占位:普通 references 只给 title/author/year;citation_map 额外给 claim_id、stable_id、version、evidence_role、verification_status

图3:对照图占位:普通 references 只给 title/author/year;citation_map 额外给 claim_id、stable_id、version、evidence_role、verification_status

回到开头那份 30 条引用的模拟报告,矛盾很具体:正文完整,附录却暴露出 5 篇无稳定 ID、3 篇预印本和正式版重复、2 条 DOI 与 OpenAlex 对错。读者看到的是 30 条参考文献,审计时看到的是一批还没完成实体对齐的来源。

下一步可以从 50 条样本做起。每条样本包含一个段落 claim、1 到 3 篇引用、DOI、PMID、OpenAlex ID、版本类型、证据角色和人工核验结果。让 Research Agent 每次交报告前先填 citation_map,再生成正文;先修空 ID、重复版本和弱支持 claim,再让人类读正文。