📘 原文信息
- 标题:Language Agents Achieve Superhuman Synthesis of Scientific Knowledge
- 作者:Michael D. Skarlinski, Sam Cox, Jon M. Laurent 等
- 机构:FutureHouse Inc. + University of Rochester + Francis Crick Institute
- 发布日期:2024-09-26(v2)
- 原文链接:https://arxiv.org/abs/2409.13740 ↗
- 代码:https://github.com/whitead/paperqa ↗
- 📥 PDF 下载:paperqa2_paper.pdf
一、为什么这篇值得读?#
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% 被人类专家验证为真
本文按原文章节做一次重述与解读,重点是:
- 怎么用严格的”人 vs AI”对照方法证明”超人”?(第 1 节)
- PaperQA2 的四件套 Agent 工具集是什么?(第 2 节)
- RCS(Reranking + Contextual Summarization)为什么是核心创新?(第 2、3 节)
- 为什么 agent 比”硬编码 pipeline”更强?(第 3 节)
- 怎么让 AI 写出比维基百科更准确的 Wikipedia 风格综述?(第 4 节)
- AI 怎么在科学文献里”找矛盾”?(第 5 节)
二、问题诊断:现有科学 RAG 系统的三个天花板#
作者一上来就把现有方法的三个核心问题说清楚:
- 幻觉(Hallucination):LLM 会”自信地说没有根据的话”。在科学语境下,这是致命的——一篇综述里哪怕一段引文错了,整篇的可信度都崩。
- 细节能力不足:科学需要极端的细节注意——一个蛋白质亚基位置、一个统计显著性数字写错都不行。LLM 在长上下文或复杂推理时容易”看不见”这种细节。
- 评测协议不可比:现有 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 Evidence | top-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这一招的妙处:
- Token 效率:把 2,250 token 的 chunk 压成 200-400 token 的摘要,top-30 从 ~60k tokens 压到 ~10k tokens——同等 context 能装下 5-6× 数量的 chunk。
- 质量不降:在 LitQA 上,chunk size 从 750 到 3,000 tokens 的摘要效果几乎没差异。说明”摘要”这一步信息损失很小。
- 可并行:每个 chunk 独立 LLM 调用,embarrassingly parallel,吞吐量只受 API rate limit 限制。
- 结构化注入:可以要求模型在 JSON 里多输出 metadata(基因名、DOI 等),这些 metadata 在最终 answer 阶段被注入,减少幻觉。
- 重排(Rerank):用 LLM 给的相关性分数重新排序,比纯向量相似度更准——RAG 圈早就知道 rerank 有效,但很少有人和”上下文摘要”绑在一起做。
💡 小吴笔记:RCS 本质上是把 RAG 的”压缩 + 筛选”两步合并成一步:传统做法是先压缩(chunk → summary)再筛选(rerank),PaperQA2 让 LLM 在生成 summary 时同时给出相关性分数,一次调用做两件事。这是一个”用更长的 LLM 调用换更短的最终 context”的典型权衡——它有效,是因为 GPT-4 / Claude 这种模型在”读一段长文本 + 给摘要 + 给分”这件事上已经足够强。
3.3 Citation Traversal:把”科学家的引用习惯”工程化#
科学家读论文时一个本能动作:看完一篇论文后,顺着它的引用图找前人和后人的工作。PaperQA2 把这个动作做成了第 4 个工具:
- 从 RCS 阶段拿到高分摘要(score ≥ 8)的论文集合 D_prev
- 通过 Semantic Scholar + Crossref 拉这些论文的”过去引用(past references)“和”未来引用者(future citers)”
- 按”出现次数(overlap)“分桶,只保留至少出现在 ⌈α × |D_prev|⌉ 个来源论文中的引用
- 在每个 bin 内,按 future citer 数降序排序,凑够 ≤ 12 篇
- 把这些新论文加进 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 Accuracy | New 101 Accuracy | Old 147 Precision | New 101 Precision |
|---|---|---|---|---|
| Claude-3-Opus | 59.0% ±2.4% | 54.5% ±6.1% | 93.9% ±3.7% | 82.6% ±6.0% |
| Gemini-1.5-Pro | 55.8% ±5.7% | 59.4% ±2.3% | 93.2% ±1.8% | 83.0% ±4.6% |
| GPT-4-Turbo | 64.4% ±1.8% | 63.7% ±7.4% | 91.3% ±2.1% | 81.8% ±7.3% |
新题和旧题的精度几乎无差异——证明优化泛化了,没有过拟合。
4.4 PaperQA2 vs 人类专家 vs 商业系统#
人类评测给的是真金白银:PhD 学生 / 博后,每题 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%(部分题本身不可答,模型选择不答)
对比基线:
| 系统 | 类型 | 精度 | 准确率 |
|---|---|---|---|
| PaperQA2 | Agentic RAG | 85.2% | 66.0% |
| PaperQA(原版) | Agentic RAG | 76.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 关键结果#
| 指标 | WikiCrow | Wikipedia | p |
|---|---|---|---|
| Cited and Supported(精度) | 86.1% | 71.2% | 0.0013 |
| Cited and Unsupported | 13.5% | 24.9% | 0.0075 |
| Missing Citation | 3.5% | 13.6% | <0.001 |
3.9× 低的未引用率 + 1.2× 高的”引用正确率”——AI 写的综述在事实性上全面超过人类维基百科作者。
6.4 错误来源拆解#
作者手动归类了所有错误:
| 错误类型 | WikiCrow | Wikipedia | p |
|---|---|---|---|
| Reasoning errors(内容错误或无依据推论) | 12 | 26 | 0.0144 |
| Attribution errors(引用位置不对或太宽泛) | 10 | 16 | 0.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 的下游应用:
- Claim Extraction:从给定论文里按章节抽取声明(claim candidates),用 LLM 打分,过滤掉低质量声明(< 8 分的丢)。
- Contradiction Detection:每条声明送进 PaperQA2(用 special contradiction prompt),让 agent 跨全文献检索矛盾,最后用 11-point Likert scale 输出”是否有矛盾 + 程度”。
7.2 ContraDetect:从 LitQA2 派生的评测基准#
把 LitQA2 一半转成”正确的陈述句”(“草是绿色的”),一半转成”错误的陈述句”(“草是紫色的”)——变成 248 条对照样本。
| 指标 | 数值 |
|---|---|
| AUC | 0.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 架构 | 检索 → 塞 context | agentic + RCS + 引用图遍历 |
| 错误归因 | ”LLM 会 hallucinate” | 把错误拆成 reasoning / attribution / trivial 三类,逐类攻破 |
| 置信度表达 | Binary(是 / 否) | Likert scale,给”自信度”留空间 |
给做 RAG / Agent / 科学 AI 的工程师的几点启示#
- 评测协议本身是核心竞争力。PaperQA2 在 LitQA2 上”超人”的关键不是”模型更强”,而是”评测方式更准”——只有当 benchmark 真的模拟真实研究流程时,分数才有意义。这一点对所有做垂直域 RAG 的团队都适用:先花 30% 时间做评测,再花 70% 时间做系统。
- RCS(上下文摘要 + 重排)是 2024 年 RAG 圈最被低估的工程技巧。它的”压缩 + 筛选合并”设计、embarrassing parallelism、对 context 数量的解耦,都是值得复用的设计模式。今天的 RAG 系统如果还没做 RCS,几乎一定不是最优解。
- RCS 对模型有”comprehension threshold”要求。小模型(GPT-3.5、Llama-3-70B)做 RCS 反而掉点——这告诉我们”用一个步骤换更短 context”的设计只在 LLM 足够强时才划算。
- “agentic”的关键不是”用更多工具”,而是”能根据证据反馈调整动作”。PaperQA2 的 agent 平均做 1.26 次 search + 0.46 次 citation traversal,说明 agent 在”看完证据后回去补检索”——这才是真正和”硬编码 pipeline”的差异。
- 过度自信是”AI 超越人类”叙事的最大隐患。ContraCrow 在 70% 的 case 里被专家验证为真,但在 expert-vs-expert 一致率 75.5% 的对照下,专家-vs-AI 一致率只有 60.42%——AI 在”自信”这一点上比真人激进。Likert scale(连续分)是一个值得推广的设计,比 binary 输出更安全。
- RAG 系统的真正成本不在 LLM,而在检索 + 解析 + 引用图。PaperQA2 每 query 4.48——“用 AI 做综述”的边际成本已经低于人工,这是一个商业化的临界点。
局限与未来#
作者也承认了几个未解决的问题:
- 过度自信校准:ContraCrow 的 Likert 分数需要更系统的校准,让分数真的能反映”真实自信度”。
- 长尾覆盖:LitQA2 的 248 题集中在生物医学,物理 / 化学 / 工程等学科还没覆盖。
- 全文献 vs 索引库:PaperQA2 依赖 Semantic Scholar + Crossref 的索引——未索引的预印本 / 灰色文献会被漏掉。
- 成本与可访问性:4.48 / 综述篇对机构是合理价,对学术界仍偏高。
参考资料: