wth2jhl.online

Back

📘 原文信息


一、为什么这篇值得读?#

RAG(Retrieval-Augmented Generation)从 2020 年被提出到现在,一直是”降低 LLM 幻觉”的标准答案。但 2024 年之前的 RAG 系统——无论是商业的 Perplexity、Elicit,还是学术界的各种实现——都还在一个尴尬的位置:能做摘要、能给引用,但对真正的科学文献研究来说,事实性依然不够。

FutureHouse 的 PaperQA2 把这件事推到了一个新高度:在三个真实科学文献任务上(检索 / 综述 / 矛盾检测),首次做到机器在统计意义上超过人类专家。具体数字:

  • LitQA2 检索任务:精度 85.2% vs 人类 73.8%(p = 0.0036,超人)
  • WikiCrow 综述任务:在 240 对比文章中,引述准确率 86.1% vs 维基百科 71.2%(p = 0.0013)
  • ContraCrow 矛盾检测:每篇生物学论文找出 2.34 个候选矛盾,70% 被人类专家验证为真

本文按原文章节做一次重述与解读,重点是:

  1. 怎么用严格的”人 vs AI”对照方法证明”超人”?(第 1 节)
  2. PaperQA2 的四件套 Agent 工具集是什么?(第 2 节)
  3. RCS(Reranking + Contextual Summarization)为什么是核心创新?(第 2、3 节)
  4. 为什么 agent 比”硬编码 pipeline”更强?(第 3 节)
  5. 怎么让 AI 写出比维基百科更准确的 Wikipedia 风格综述?(第 4 节)
  6. AI 怎么在科学文献里”找矛盾”?(第 5 节)

二、问题诊断:现有科学 RAG 系统的三个天花板#

作者一上来就把现有方法的三个核心问题说清楚:

  1. 幻觉(Hallucination):LLM 会”自信地说没有根据的话”。在科学语境下,这是致命的——一篇综述里哪怕一段引文错了,整篇的可信度都崩。
  2. 细节能力不足:科学需要极端的细节注意——一个蛋白质亚基位置、一个统计显著性数字写错都不行。LLM 在长上下文或复杂推理时容易”看不见”这种细节。
  3. 评测协议不可比:现有 benchmark 要么只看摘要(PubMedQA)、要么限定固定语料(BioASQ)、要么直接把论文喂给模型(SPIQA)。没有一个真正模拟”打开搜索引擎 + 跨整个文献库检索”的研究流程。更关键的是——几乎都缺少直接的人 vs AI 对比。

💡 小吴笔记:第三个问题是最致命的。一个科学文献 RAG 系统在 benchmark 上拿了 90%,但你不知道它做”真正研究”的时候是不是也 90%。benchmark 和真实场景的鸿沟在 RAG 领域比别的领域都大——因为真实研究的成功标准是”找到正确的论文、读到正确的段落、做出正确的引用”,整个链条都不能断。

所以作者的目标不是”做一个新 RAG 系统”,而是先建立一套”真实研究流程的评测协议”,再用它来设计系统。这就是 LitQA2、WikiCrow、ContraCrow 三个评测 + 三个任务的来历。

三、PaperQA2 的四件套 Agent 工具集#

PaperQA2 把”科学文献检索 + 综合”这件事拆成了四个工具,让 LLM agent 自己决定怎么组合它们:

工具作用关键设计
Paper Search把用户问题转成关键词搜索 → 找候选论文用 Semantic Scholar + Crossref 做论文元数据 + 全文本抓取
Gather Evidencetop-k 向量检索 + LLM 重排 + 上下文摘要(RCS)把每个 chunk 摘要成 200-400 tokens + 打相关性分
Generate Answer用 top 摘要生成最终答案(带引用)默认注入 15 条摘要,prompt 强调”无法回答就答不能”
Citation Traversal在引用图上向前 / 向后跳一步从高分 chunk 的论文出发,跨引用图检索关联论文

3.1 解析:Grobid 而不是 PyMuPDF#

文档解析对 RAG 是底层依赖——切 chunk 的质量直接影响后续检索。PaperQA2 默认用 Grobid 做结构化解析(能保留 section 标题、表格结构、引用),在 WikiCrow 任务里同时启用 section-based chunking。论文里有个对比:PyMuPDF 解析一篇论文平均 16,040 tokens,Grobid 8,903 tokens——省 44% token 的同时不丢结构信息。

3.2 RCS:RAG 的”摘要化注入”#

这是 PaperQA2 最核心的方法论创新。传统 RAG 是”把检索到的 top-k 文档 chunk 直接塞进 context”——问题在于:

  • 文档 chunk 通常 1,000-2,250 tokens,top-30 就占满 30k+ tokens 的 context
  • chunk 里大部分内容其实是无关的(一个长段落只有 1-2 句和 query 相关)
  • 把这些无关内容塞进去不仅浪费 context,还会让模型被无关上下文分心(Liu et al. 2024 的 “Lost in the middle”)

RCS 的解法是**“对每个 chunk 都跑一次 LLM 调用,输出 200-400 token 的上下文摘要 + 相关性分数”**:

Excerpt from citation --- {text} --- 
Query: {question}

→ LLM 输出
{
  "summary": "..." (200-400 词)
  "relevance_score": 0-10
}
plaintext

这一招的妙处:

  1. Token 效率:把 2,250 token 的 chunk 压成 200-400 token 的摘要,top-30 从 ~60k tokens 压到 ~10k tokens——同等 context 能装下 5-6× 数量的 chunk。
  2. 质量不降:在 LitQA 上,chunk size 从 750 到 3,000 tokens 的摘要效果几乎没差异。说明”摘要”这一步信息损失很小。
  3. 可并行:每个 chunk 独立 LLM 调用,embarrassingly parallel,吞吐量只受 API rate limit 限制。
  4. 结构化注入:可以要求模型在 JSON 里多输出 metadata(基因名、DOI 等),这些 metadata 在最终 answer 阶段被注入,减少幻觉。
  5. 重排(Rerank):用 LLM 给的相关性分数重新排序,比纯向量相似度更准——RAG 圈早就知道 rerank 有效,但很少有人和”上下文摘要”绑在一起做。

💡 小吴笔记:RCS 本质上是把 RAG 的”压缩 + 筛选”两步合并成一步:传统做法是先压缩(chunk → summary)再筛选(rerank),PaperQA2 让 LLM 在生成 summary 时同时给出相关性分数,一次调用做两件事。这是一个”用更长的 LLM 调用换更短的最终 context”的典型权衡——它有效,是因为 GPT-4 / Claude 这种模型在”读一段长文本 + 给摘要 + 给分”这件事上已经足够强。

3.3 Citation Traversal:把”科学家的引用习惯”工程化#

科学家读论文时一个本能动作:看完一篇论文后,顺着它的引用图找前人和后人的工作。PaperQA2 把这个动作做成了第 4 个工具:

  1. 从 RCS 阶段拿到高分摘要(score ≥ 8)的论文集合 D_prev
  2. 通过 Semantic Scholar + Crossref 拉这些论文的”过去引用(past references)“和”未来引用者(future citers)”
  3. 按”出现次数(overlap)“分桶,只保留至少出现在 ⌈α × |D_prev|⌉ 个来源论文中的引用
  4. 在每个 bin 内,按 future citer 数降序排序,凑够 ≤ 12 篇
  5. 把这些新论文加进 agent state,下一轮”gather evidence”可被检索

这套逻辑的工程细节非常多(论文里给了 Algorithm 1),但核心思路很朴素:模拟”人类专家会顺着引用图往下挖”。实验显示,去掉这个工具后 accuracy 反而上升(p = 0.069)但 recall 显著下降(p = 0.022)——这个工具的核心价值是补召回,让答案更完整。

3.4 Agent 而不是 Pipeline#

最后一点:为什么 PaperQA2 是”agent”而不是”固定 pipeline”?

论文第 3 节专门做了 ablation:去掉 agent 框架(硬编码 paper search → gather evidence → generate answer 顺序),accuracy 显著下降(p = 0.015)。为什么?因为 agent 能根据观察到的证据量调整动作:

  • 看到证据不够 → 回去重新 search、改关键词
  • 看到某段引用很相关 → 触发 citation traversal 顺着引用图挖
  • 看到 evidence 够了 → 直接调 generate answer 收尾

最强 run 的统计:每次 query 平均 1.26 次 paper search + 0.46 次 citation traversal。说明 agent 会主动”重做”和”扩展”,而不是一次性流水线。

💡 小吴笔记:这套架构的真正关键不是”用 RAG”,而是”用 agentic RAG”——区别在于 RAG 是”被动检索 + 生成”,agentic RAG 是”主动检索 + 主动调整 + 生成”。2024 年之后几乎所有顶会 RAG 工作都在往 agentic 走,PaperQA2 在 2024 年 9 月就把这条路做到了实用水平。

四、LitQA2:用”问题必须查全文献才能答”建立的硬基准#

4.1 怎么造”硬”问题?#

LitQA2 有 248 道多选题,作者对每道题的构造要求是:

  • 答案出现在论文正文里,不出现在摘要里
  • 答案在所有科学文献里最好只出现一次(防止跨论文命中)
  • 答案依赖推理,不是直接抄原文
  • 选项要 plausible(用同一篇论文里其他基因 / 概念做干扰项)

更狠的是反向验证:每道题还要用 ChatGPT-3.5/4 先测一遍,ChatGPT 能答出来的题直接删掉。还要用 Google Scholar 反搜,Google 能直接搜到答案的题也删掉。

最终留下的 248 道题,每道都需要”在多篇近期论文(36 个月内)里精读 + 推理”才能答——这就是为什么它难。

4.2 不只是”答对”,还看”能不能 cite 正确”#

评测指标有三个:

指标含义
Precision答的题里,答对的比例(扣掉”insufficient information”)
Accuracy所有题里,答对的比例
Recall答的题里,引用到正确 DOI 的比例

作者特别看重 DOI 级的 recall——因为”答对了但 cite 了错的论文”在科学场景下等于胡说。

4.3 怎么防止”过拟合到 benchmark”?#

作者做了一个时间分割验证:第一版 PaperQA2 用 147 道题调优,然后再造 101 道新题。结果:

配置Old 147 AccuracyNew 101 AccuracyOld 147 PrecisionNew 101 Precision
Claude-3-Opus59.0% ±2.4%54.5% ±6.1%93.9% ±3.7%82.6% ±6.0%
Gemini-1.5-Pro55.8% ±5.7%59.4% ±2.3%93.2% ±1.8%83.0% ±4.6%
GPT-4-Turbo64.4% ±1.8%63.7% ±7.4%91.3% ±2.1%81.8% ±7.3%

新题和旧题的精度几乎无差异——证明优化泛化了,没有过拟合。

4.4 PaperQA2 vs 人类专家 vs 商业系统#

人类评测给的是真金白银:PhD 学生 / 博后,每题 3−12,按精度发奖金(一周内完成,可上网、可查数据库、可访问机构资源),平均时薪3-12,按精度发奖金(一周内完成,可上网、可查数据库、可访问机构资源),平均时薪 50-100。最终 9 位人类评测员:

  • 人类精度:73.8% ± 9.6%
  • 人类准确率:67.7% ± 11.9%

PaperQA2:

  • 精度:85.2% ± 1.1%(超人,p = 0.0036)
  • 准确率:66.0% ± 1.2%(与人类无显著差异,p = 0.66)
  • “Insufficient information” 比例:21.9%(部分题本身不可答,模型选择不答)

对比基线:

系统类型精度准确率
PaperQA2Agentic RAG85.2%66.0%
PaperQA(原版)Agentic RAG76.5%36.7%
Perplexity Pro (GPT-4o)商业 RAG—略低于 PaperQA2
Elicit商业 RAG—PaperQA2 更优
顶级非 RAG 模型(GPT-4 / Claude)直接 LLM—显著低于 RAG 系统

💡 小吴笔记:这是 2024 年最值得记住的”AI vs 人类”对比之一。关键是**“超人精度 + 平人类准确率”——意味着 AI 比人类”更敢答,且答对的概率更高”,但”愿意承认不知道”的概率更低**。对科学场景来说,“精度高 + 敢答”是好事;但”过度自信”是隐患——后面 ContraCrow 任务里会再看到这个隐患。

五、关键 Ablation:哪些设计真正起作用?#

论文第 3 节做了大量 ablation,关键发现:

5.1 RCS 是核心#

去掉 RCS 后 accuracy 显著下降(p < 0.001)。但不是所有模型做 RCS 都有效:

  • GPT-4-Turbo、Claude-Opus、Gemini-1.5-Pro 做 RCS 都明显提升
  • GPT-3.5-Turbo、Llama-3-70B 做 RCS 反而掉点——它们对 chunk 的理解能力不够,生成低质量摘要

说明 RCS 对 LLM 的”comprehension threshold”有要求——模型必须强到能”读懂 chunk 并判断相关性”,否则反而污染 context。

5.2 RCS 深度(top-k)的影响#

从 1 到 10:accuracy 显著上升(p = 0.014)。从 10 到 30:长尾收益递减。最终默认 30。

5.3 Generate Answer 的 context 数量#

最后注入多少条摘要进入 Generate Answer 工具的 prompt:

  • 5 条 → accuracy 最高(但 precision 略低)
  • 15 条 → precision 最高(默认)

权衡”少而精”vs”多而稳”——论文默认选 15,是偏向”宁可多给点 context 让答案更完整”。

5.4 解析器的影响(出意外)#

Grobid vs PyMuPDF 在 LitQA 上没有显著差异——因为检索任务只需要”找到正确的段落”,对解析器鲁棒。但作者说”对 WikiCrow 这种表格抽取密集的任务,Grobid 是必要的”。

六、WikiCrow:让 AI 写比维基百科更准确的 Wikipedia 风格综述#

6.1 任务定义#

WikiCrow 是一个用 PaperQA2 串联出来的”综述生成器”——给一个基因名,自动生成一篇 Wikipedia 风格的综述文章,包含 structure / function / interactions / clinical significance 四个章节(每个章节是一次 PaperQA2 调用),最后用一个 LLM 拼接。

平均每篇 1,219 词(比维基百科的 890 词长),平均生成时间 491 秒,平均成本 $4.48 / 篇。

6.2 评测方法:盲评 + 学科专家#

从 19,255 个人类蛋白编码基因里,过滤掉”stub”维基百科文章,剩 3,639 个;再随机抽 300 个,匹配生成 240 对 WikiCrow / Wikipedia 文章。从中抽 500 条”陈述句”,shuffle 后盲发给 4 位人类专家评审:

每个陈述句按”是否引用”+“引用是否正确支持内容”两维度打分:

  • Cited and Supported(引用 + 内容正确)
  • Cited and Unsupported(引用 + 内容错误)
  • Missing Citation(内容正确但没引用)

6.3 关键结果#

指标WikiCrowWikipediap
Cited and Supported(精度)86.1%71.2%0.0013
Cited and Unsupported13.5%24.9%0.0075
Missing Citation3.5%13.6%<0.001

3.9× 低的未引用率 + 1.2× 高的”引用正确率”——AI 写的综述在事实性上全面超过人类维基百科作者。

6.4 错误来源拆解#

作者手动归类了所有错误:

错误类型WikiCrowWikipediap
Reasoning errors(内容错误或无依据推论)12260.0144
Attribution errors(引用位置不对或太宽泛)10160.21
Trivial statements(过度学究气的废话)极少多—

关键洞察:WikiCrow 的优势主要在”reasoning errors 显著更少”——也就是说,在”agentic RAG + 强制引用”的设定下,LLM 的推理错误率反而比人类维基百科作者/编辑更低。但 attribution errors 两者差不多——这是 AI 和人类共同的弱点:知道事实但 cite 不到位。

💡 小吴笔记:WikiCrow 的结果最值得品味的一点是——它把”LLM 是 hallucinator”的流行叙事翻了过来。在”agentic RAG + 强引用 prompt”的环境下,LLM 反而比写维基百科的真人更少犯错。但这并不意味着 LLM “更聪明”——它只是被强制要求 cite、并且能从整篇科学文献里找证据。人类维基百科作者在写一个条目时,往往只读 5-10 篇核心论文就开始写——这是工作量限制下的次优策略。AI 没有这个限制。

七、ContraCrow:在 3,180 条科学声明里找矛盾#

7.1 任务定义#

科学文献里的矛盾是”一个 vs 全体”问题——一篇论文里的一个声明,可能被 100 篇后续论文推翻。规模一上来就变成”全体 vs 全体”,人做不完。ContraCrow 是 PaperQA2 的下游应用:

  1. Claim Extraction:从给定论文里按章节抽取声明(claim candidates),用 LLM 打分,过滤掉低质量声明(< 8 分的丢)。
  2. Contradiction Detection:每条声明送进 PaperQA2(用 special contradiction prompt),让 agent 跨全文献检索矛盾,最后用 11-point Likert scale 输出”是否有矛盾 + 程度”。

7.2 ContraDetect:从 LitQA2 派生的评测基准#

把 LitQA2 一半转成”正确的陈述句”(“草是绿色的”),一半转成”错误的陈述句”(“草是紫色的”)——变成 248 条对照样本。

指标数值
AUC0.842
阈值 8 时的精度88%
阈值 8 时的准确率73%
假阳性率7%
“无证据”陈述(42 条)的拒答率98%

7.3 应用到真实生物学论文库#

随机抽 93 篇生物学论文(7 篇解析失败),跑 ContraCrow:

  • 每篇平均 35.16 条声明
  • 总计 3,180 条声明
  • 其中 6.85% 被标记为”有矛盾”
  • 平均每篇 2.34 条候选矛盾(Likert ≥ 8)

7.4 人类专家验证:70% 真矛盾#

随机选 100 条标记为矛盾的声明(50 条 score=8,50 条 score≥9),让 5 位领域专家评估。70% 同意 ContraCrow 的结论——也就是生物学文献里每篇至少有 1.64 条人类可验证的真矛盾。

一个具体例子:LEF1 在结直肠癌里的预后意义——2010 年的 Kriegl 论文说 LEF1 高表达与更长生存期正相关;2011 年 Lin 等人用类似方法(组织微阵列)发现 LEF1 过表达与更短生存期正相关——这是科学方法演进过程中的真实矛盾,ContraCrow 把它自动挖了出来。

7.5 但 ContraCrow 也”过度自信”#

一个反向发现:让人类专家不用 ContraCrow 的 reasoning,自己读同样的 15 条证据 chunk 来判断矛盾——专家之间的一致率 75.5%,专家 vs ContraCrow 一致率仅 60.42%(p = 0.015)。

作者把这种”低于专家间一致性”的现象归因为ContraCrow 的过度自信(overconfidence)。Likert 分数高(9-10)的声明里,70% 被专家接受;看起来 ContraCrow 在用”分数”校准自己——但和真人比,它的判断还是有系统性差异。

💡 小吴笔记:ContraCrow 的过度自信是个非常重要的信号。它告诉我们:“AI 在科学任务上超越人类”的真正含义是”AI 在大多数 easy/medium 任务上比人类更准”,但在 hard 任务上 AI 的’自信度’不能直接信任。这也是为什么 Likert scale(11 点连续分)比 binary(是/否)更有价值——它给”自信度”留了一个可以校准的空间。

八、为什么这件事重要?#

把这三个任务串起来看,PaperQA2 的真正意义不在”做出了一个新 RAG”,而在它第一次系统地回答了”AI 能不能做严肃科学研究”这个问题:

  • 检索任务(LitQA2):AI 精度超人(85.2% vs 73.8%)——机器可以做”找到相关文献”这件事
  • 综述任务(WikiCrow):AI 比维基百科更准确——机器可以写出”事实正确的综述”
  • 矛盾检测(ContraCrow):AI 每篇能找到 2.34 条候选矛盾,70% 被验证——机器可以做”系统化科研审查”

注意这三件事的难度递增——它们正好覆盖了一个真实科学家日常工作的三大场景。

一个有趣的细节:实验的人类评测员里,有一位事后报告说”矛盾检测任务是我做过的最难任务”。这个反馈是匿名的、自发的,但意外地说明——当任务足够难时,AI 至少能给人类提供一个起点。

九、总结与启示#

回头看 PaperQA2 的工作,本质上是一个”先用 benchmark 校准、再用系统突破”的范式:

维度旧做法新做法
任务设计单一任务 / 固定语料 / 看摘要三个真实研究任务 + 全文献 + 跨多文档
评测方法benchmark 分数人 vs AI 对照,带盲评 + 经济激励 + 95% CI
RAG 架构检索 → 塞 contextagentic + RCS + 引用图遍历
错误归因”LLM 会 hallucinate”把错误拆成 reasoning / attribution / trivial 三类,逐类攻破
置信度表达Binary(是 / 否)Likert scale,给”自信度”留空间

给做 RAG / Agent / 科学 AI 的工程师的几点启示#

  1. 评测协议本身是核心竞争力。PaperQA2 在 LitQA2 上”超人”的关键不是”模型更强”,而是”评测方式更准”——只有当 benchmark 真的模拟真实研究流程时,分数才有意义。这一点对所有做垂直域 RAG 的团队都适用:先花 30% 时间做评测,再花 70% 时间做系统。
  2. RCS(上下文摘要 + 重排)是 2024 年 RAG 圈最被低估的工程技巧。它的”压缩 + 筛选合并”设计、embarrassing parallelism、对 context 数量的解耦,都是值得复用的设计模式。今天的 RAG 系统如果还没做 RCS,几乎一定不是最优解。
  3. RCS 对模型有”comprehension threshold”要求。小模型(GPT-3.5、Llama-3-70B)做 RCS 反而掉点——这告诉我们”用一个步骤换更短 context”的设计只在 LLM 足够强时才划算。
  4. “agentic”的关键不是”用更多工具”,而是”能根据证据反馈调整动作”。PaperQA2 的 agent 平均做 1.26 次 search + 0.46 次 citation traversal,说明 agent 在”看完证据后回去补检索”——这才是真正和”硬编码 pipeline”的差异。
  5. 过度自信是”AI 超越人类”叙事的最大隐患。ContraCrow 在 70% 的 case 里被专家验证为真,但在 expert-vs-expert 一致率 75.5% 的对照下,专家-vs-AI 一致率只有 60.42%——AI 在”自信”这一点上比真人激进。Likert scale(连续分)是一个值得推广的设计,比 binary 输出更安全。
  6. RAG 系统的真正成本不在 LLM,而在检索 + 解析 + 引用图。PaperQA2 每 query 1−3,但Wikipedia写一篇综述1-3,但 Wikipedia 写一篇综述 4.48——“用 AI 做综述”的边际成本已经低于人工,这是一个商业化的临界点。

局限与未来#

作者也承认了几个未解决的问题:

  • 过度自信校准:ContraCrow 的 Likert 分数需要更系统的校准,让分数真的能反映”真实自信度”。
  • 长尾覆盖:LitQA2 的 248 题集中在生物医学,物理 / 化学 / 工程等学科还没覆盖。
  • 全文献 vs 索引库:PaperQA2 依赖 Semantic Scholar + Crossref 的索引——未索引的预印本 / 灰色文献会被漏掉。
  • 成本与可访问性:1−3/query对个人研究者不便宜,1-3 / query 对个人研究者不便宜,4.48 / 综述篇对机构是合理价,对学术界仍偏高。

参考资料:

深入解析 PaperQA2:语言 Agent 首次在科学文献任务上达到超人水平
https://wth2jhl.online/blog/paperqa2-superhuman-scientific-agent/
Author 小吴同学
Published at July 27, 2026