327 个真实门牌号,只有 3 扇对的门
——解读 *Real PMIDs, Wrong Papers: Harness Design for Biomedical Claim-Verification Agents*(arXiv: 2610.29812)
目录
——解读 *Real PMIDs, Wrong Papers: Harness Design for Biomedical Claim-Verification Agents*(arXiv: 2610.29812)
这是「证据的质地」三部曲的第一篇,我们问的是证据的指向。
> 十天前那篇《证据的最后一公里》,问的是证据怎么送到你手上——那是物流问题。昨天的「三重不信任」,问的是证据该信谁——那是信任问题。今天这篇,问的是更底层的一件事:证据本身是什么。
> 答案是:证据是一根指针。文献引用、PMID、DOI,全都是指针,指向某处存着的一段文本。指针凿在墙上,字是真的,街道是真的,门也是真的——问题是,很多看上去有参考文献的 agent,这根指针是断的。门后住的人,跟 citation 说的不是同一户。存在,不等于相关。
> 三部曲的另两篇随后发出,导航贴在评论区。
🚪 一副眼镜、一家诊所,和一场看似严谨的引用
先看一个例子,全文最荒诞的一处,也是整件事最好的入口。
有一条生物医学 claim,讲的是 TNF-α/IL-1 如何调控 IL-6/IL-10——细胞因子之间的对话,免疫学的经典问题。一个闭卷大模型被要求核实这条 claim 并给出文献,它认真地吐出了一个 PMID。你去 PubMed 查这个号:号在,论文在,白纸黑字印着标题——
《The proper eyeglasses for children》(儿童该配什么样的眼镜)。
还有一条 claim,关于头痛与认知障碍的关系。模型给出的"证据"是:《Improving access to appointments at Laurie Pike Health Centre》——一篇讲怎么改善某家社区诊所预约难的文章。
这不是段子,这是论文结果里如实记录的两条引用。而这个模型的全部引文里,98% 的 PMID 都真实存在于 PubMed。一个门牌号对一个真实街道,一个号都不虚。你挑不出"编造"的毛病,查重系统挑不出,链接检查挑不出,PMID 解析检查更挑不出——每一环都合规,每一环都通过。
但这就是这篇论文要拆的事。一个科学 agent 给出引用时,我们默认它在说:"我读过这篇论文,它支持我的判断。"这句话其实有三层意思——号存在、论文存在、内容相关。前两层是存在性,第三层才是指向。存在性检查能拦住"幻觉出来的假号",却拦不住"真实但无关的真号"。而 Mohammed Saqlain 这篇论文用一次干净利落的对照实验证明了:当模型不被允许检索、纯凭记忆引用时,指向烂掉了,而系统里没有任何一环会报警。
更冷的地方在于,这不是某个坏模型的偶发行为,而是一种系统性行为的自然产物。闭卷模型的参数记忆里沉淀着海量 PMID 的"形状"——几位数字、大致的领域、印象里的标题残影。这些东西逼真到足以通过任何存在性检查,同时与手头的 claim 毫无关系。它不是在撒谎。它是在做梦,而梦里的门牌号恰好凿在真实的街道上。查梦的人是查不出假币的,因为流通的全是真钞。
更要命的是使用端的心态。人看到一条 claim 后面跟着一个格式标准的 PMID,本能地放松警惕——"有出处"三个字在人类语言里几乎等同于"可信"。agent 产品的界面上,一个能解析的链接就是一枚信任的印章。于是整条链路上所有人都体面:模型体面地输出,系统体面地放行,用户体面地相信。只有真相不体面,因为它根本没到场。
📚 SciFact:一百条证词,四套审判流程
先把实验的台子搭清楚,数字才有落点。
SciFact(Wadden et al., 2020)是一个经典的科学 claim 验证基准:每条 claim 由专家撰写,配上 SUPPORT / CONTRADICT / NOT ENOUGH INFO(NEI,证据不足)三选一的标签,外加金标准的证据摘要。任务的本质是:给你一句话,判断科学文献是支持它、反驳它、还是证据不够下结论。这个三分类里藏着最考验判断力的一类——NEI。敢说"不知道"是智识上的诚实,但模型往往在"硬答"和"弃权"之间摇摆,而且摇的方式能暴露它的整个工作方式,后面会看到。
还有一点值得说:SciFact 原本的设计是在一个约五千篇摘要的固定语料里做验证,后续系统如 MultiVerS 都活在这个封闭池塘里。这篇论文故意把池塘换成了开放海洋——模型要面对真实部署时会遇到的全部 PubMed。因为 SciFact 测试集的标签不公开,作者从开发集(300 条)里随机抽了 N=100 条(seed 0),所有实验条件共用这同一百条证词。样本不大,但换来的是条件之间的严格可比。
工具有且只有一个:实时的 PubMed E-utilities API。不是缓存的静态语料,是线上真实跑着的 PubMed 检索——这意味着模型面对的和真实部署一样的开放世界:整个 PubMed 索引,随查随新。
这个实验的锋利之处在控制变量。作者固定了 backbone 模型(gemini-3.1-flash-lite 和 gemini-3.5-flash-lite,同一供应商的两个高效前沿小模型,选它们是因为延迟低、成本低)、固定了提示词骨架和输出格式({label, cited_pmids, rationale} 的 JSON,temperature 0),只变 harness——模型的脚手架,也就是它拿到问题之后的整条工作流。用两个同族模型做重复,是为了排除"这一切都是某个模型的怪癖"的侥幸:凡是在两个 backbone 上方向一致的结论,可信度就高一分。所有工具调用和模型输出全部缓存发布,作者放话:拿发布的缓存离线就能复现论文里每一个数字,不需要任何 API 访问。可复现性在这个领域是稀缺品,这份洁癖值得点名表扬。
1. 闭卷(closed-book):不许用工具,凭参数记忆作答,可以引用它"记得"的 PMID。这是地板。 2. 单次检索(single-shot RAG):把 claim 去掉停用词后直接当 PubMed 查询,相关性排序取 top-5,标题加摘要(截断到 1,500 字符)喂回去。如果 PubMed 空手而归(AND 语义下完全可能),就退而求其次,对内容词做 OR。这是最朴素的检索增强。 3. ReAct agent:模型自己设计 PubMed 查询,预算最多 4 次,每一步要么 search 要么 answer,并且事先被告知 PubMed 的 AND 关键词语义。这是当前文献 agent 的标准形态。 4. Oracle(神谕):直接把金标准摘要喂给模型——检索完美时的上限。
很多系统论文评估的是"整个系统好不好用",这里问的是更解剖学的问题:把大脑钉死,只动脚手架,哪块板子在真正承重?为了答这个,误差还被拆成两类——检索失败(金标准论文压根没被搜到,模型在对着错的材料推理)和推理失败(对的材料摆眼前,判错了)。这个二分法会反复出现,记住它。
🔍 6%:把整句话塞进搜索框之后
第一个结果就足够让人清醒。
单次检索,最朴素的 RAG:claim 直接当查询。听起来甚至很合理——claim 本身就是最完整的检索意图,还要怎么改?结果是:
金标准召回率:6%。 64 条有证据(Support/Contradict)的 claim,两种模型各自只搜回了 4 条金标准论文。4/64,就这么多。
为什么会惨成这样?因为 PubMed 是关键词检索,词条之间是 AND 关系——每个词都在收窄结果集。一整句生物医学 claim 塞进搜索框,"TNF-α""IL-1""调控""IL-6""IL-10"全在 AND,交集一层层收窄,最后剩下的荒原上什么金标准都不长。这就像拿着一张写满条件的清单去找房:地段要对、楼层要对、朝向要对、价格还要对——每一条单看都合理,叠起来全城只剩零套。模型拿回一堆文不对题的摘要,然后发生了比 6% 更值得警惕的事:它大量改口弃权。 两种模型分别有 59% 和 70% 的预测是 NEI,而金标准里 NEI 只占 36%。准确率呢?一个原地踏步(53.0 对闭卷的 55.0,McNemar 精确检验 p=0.89),一个反而更差(49.0 对 59.0,p=0.24)。
作者有一句结论值得原样抄下来:检索并没有把过度自信的错误变成正确的判断,而是把它们变成了弃权。
翻译一下:模型看到一堆无关摘要,没有硬答,大量输出"证据不足"。表面看像是学会了谨慎,其实是学会了退缩。谨慎本该指向正确的判断,这里的弃权却只是把错误换了个名目——准确率一分没涨,只是错的姿势更体面了。
这个"弃权转换"值得多看一眼,因为它戳破了检索增强的一个常见幻觉:给模型接上检索,失败模式就自动变得优雅。数据说不是。错误的质地确实变了——从"言之凿凿地错"变成"谦虚地错"——但错还是错,而且弃权过量本身会制造新的失败:该下结论的地方不敢下。唯一称得上慰藉的是个小样本事实:那 4 条真的搜到金标准的 claim,两个模型全部答对。种子是好的,只是几乎不发芽。这个伏笔,下一个条件马上要用。
✍️ 让模型自己开口:把长句嚼碎,还顺手改了个错别字
第二个条件把发言权交还给模型:别拿原句瞎搜了,你自己写查询。
召回率从 6% 升到 19–20%,三倍。准确率升到 62.0(两个 backbone 都是),macro-F1 分别为 60.3 和 61.1,是非 oracle 条件里最好的成绩。而且它写查询的样子很有人味——短的、以实体为中心的改写。claim 是一句完整的话,它给出的查询可能就三个词:"chenodeoxycholic acid energy expenditure"(鹅去氧胆酸 能量消耗)。把语义噪音剥掉,只留实体和关系,把检索引擎当成一个只认关键词的图书管理员来伺候。
回看上一节的惨败就明白这为什么是对症下药:单次检索输在 AND 语义下查询词太多、交集太窄。agent 的三词查询恰好反其道而行——词少了,每个词都在拓宽而不是收窄,命中率自然上去。所谓"查询改写是模型增值最大的环节",改写的技术含量不在文采,在懂得检索引擎的脾气。这不是玄学,是工程常识:你要先知道你的图书管理员只听得懂哪几个词。
论文里还藏着一个作者都忍不住写下来的彩蛋:claim 原文里有个拼错的词 "Chenodeosycholic"(少了一个 o),模型在写查询时悄悄把它修对了——改成 "chenodeoxycholic"。这种拼写错误在 SciFact 这种真实文本里是常态,而字面检索会被一个错字母直接击毙;模型的世界知识在这里当了一次免费的前处理器,一行正则都没写。
但注意,作者没有把三倍召回吹成"检索革命"。统计显著性被如实摆上桌:在 N=100 的样本量下,agent 相对其他现实 harness 的提升没有一个达到显著。 agent 对单次检索:24 比 15、29 比 16 个不一致预测(p=0.20 和 p=0.07);agent 对闭卷:13 比 6、11 比 8(p=0.17 和 p=0.65)。方向在两个 backbone 上一致,趋势是好的,但按统计学的规矩只能说"有希望的信号",不能说"实锤"。这是小样本 pilot 的诚实代价,也是 limitations 的第一条——后面会专门谈。
有个细节可以帮你理解"召回三倍、判决提升有限"这个落差:检索只是流水线的第一环,搜得回金标准不等于判决一定对,没搜回也不等于一定错——参数知识在兜底。所以召回从 6% 跳到 19%,准确率只从五十多挪到 62,中间的损耗发生在链条的每一环。这也让 oracle 条件变得尤其重要:把第一环钉死成满分,才能看清后面几环到底有多少水分。
可即便只有方向性的三倍召回,配合那个 62.0 的准确率,也足以指向一个判断:在文献 agent 里,模型增值最大的环节不是读、不是判,而是查——把人类的长句翻译成搜索引擎听得懂的黑话。 这个判断,下一个条件会给你最硬的证据。
🎯 86% 的 oracle:瓶颈不在脑子,在腿
第三个条件是全篇最贵的对照组,也是最锋利的一刀:检索这一环直接满分,把金标准摘要原样塞给模型。
准确率 86.0% 和 79.0%,macro-F1 85.8 和 78.6。比最好的现实 harness 高出 24 和 17 个点。而且这次的统计显著毫不含糊:agent 对 oracle,5 比 29、9 比 26 个不一致预测(p<10⁻⁴ 和 p=0.006)——和前面那些 p=0.2、p=0.65 的温吞数字完全是两个世界。oracle 还顺手治好了弃权过度的问题:NEI 召回恢复到 78% 和 86%,同时不牺牲 S/C claim 上的准确率。
同一对模型,前后判若两人。前面 59%/70% 的 NEI 预测,一部分根本是"看不到对的证据所以不敢说话";一旦把对的论文摆上桌,它就敢说了,而且说对了。这就是那道鸿沟的意义:模型的推理能力不是瓶颈,检索才是。 腿没有走到对的地方,脑子再快也白搭。F2 里查询改写的三倍召回为什么值钱?因为它恰好是腿迈出去的第一步。推论也很直白:与其砸钱换更强的判决提示词,不如把钱花在让腿多走几步上——真正被用起来的迭代检索、顺着参考文献追下去(citation chasing)、领域专用的检索器。这些都比"更贵的 backbone 配更精巧的 prompt"更对路。
这个条件里还埋着一个容易看漏的行为细节。agent 明明有 4 次检索预算,实际平均只用 1.42 次和 1.70 次;71% 和 55% 的 claim 搜一次就作答;只有 3% 和 6% 的 claim 用满预算。这就像给一个侦察兵四次出门的机会,他平均出门一次半就回来交报告了。为什么?一部分是好事——在那些从没见过金标准摘要的有证据 claim 里,agent 居然仍有 75% 答对了 Support/Contradict。它靠参数知识和搜到的其他相关论文兜了底,这说明模型确实在"用检索补充判断"而非"鹦鹉学舌"。但另一部分是要命的:它对真实 NEI claim 的召回掉到了 33% 和 42%(单次检索是 72% 和 81%)。搜得少,答得急,confidently wrong 的缝隙就张开了——本来该说"证据不够"的地方,它说了"支持"。作者给出的改进方向朴素得像一句废话,但恰恰因为朴素才可能是对的:回答之前设一个最低证据门槛,没凑够材料不许开口。
💀 327 个门牌号,只有 3 扇门后住着对的人
现在到这篇论文真正的暴击段。前面四组对照都在比 harness 的判决质量,最后作者做了一次全身体检:把闭卷模型引的每一个 PMID 都拿去 PubMed 真查一遍,再让跨家族 judge 逐条判相关性。 这套审计本身也是精心设计过的,值得花两句话看清流程:SciFact 的文档用的是 Semantic Scholar ID 而不是 PMID,所以"搜到的是不是金标准"要靠标题归一化匹配来认定(精确匹配或相似度大于 0.9);相关性判定则交给另一个家族的模型——qwen3.8-27b——只看 claim 和被引论文的标题加摘要,回答一个苛刻的问题:这篇论文研究的,是不是 claim 里说的那个实体、那段关系?标准苛刻是故意的:沾边的不算,只有可能真正支持或反驳 claim 的才算数。
数字一排出来,凉意顺着后背上爬。
两个闭卷模型分别为 97 条和 80 条 claim 引用了 PMID——很听话,被要求引用就引用,一点不怯场。审计结果按层剥开:
- 存在性:186/190 和 141/145 的 PMID 真实存在于 PubMed。两边合计 327/335,存在率 98%。
- 指向性:这 327 个真实存在的引用里,没有一个命中 SciFact 的金标准论文。零。
- 相关性:作者请了一个不同家族的 judge(qwen3.8-27b)逐条判定,只有 1/186 和 2/141 被判为"与 claim 相关"。
回到开头那副眼镜。关于 TNF-α/IL-1 调控 IL-6/IL-10 的 claim,"证据"是《The proper eyeglasses for children》;关于头痛与认知障碍的 claim,"证据"是一家社区诊所的预约改进指南。这两个例子不是被精心挑选来羞辱模型的——它们是 0.9% 统计量的两条普普通通的居民。你甚至能隐约看出模型的"思路":免疫调控的 claim 大概激活了某片关于"干预措施与指标变化"的记忆区,而 "control""improve" 这类词的形状,恰好和一篇眼镜科普、一篇诊所管理文共享着同一套学术英文的皮毛。引用在语言模型的世界里,大概从来不是"我读过哪篇",而是"哪个 PMID 的形状此刻手感对"。手感这种东西,骗得过格式检查,骗不过推门。327 个门牌号凿在真实的墙上,327 扇门都能推开,门后只有 3 户住着 citation 声称的那个人。用作者的话说,existence checks 会把它们全部放行——检查存在性的那一刻,这套风控就已经输了。剩下的问题只剩一个:谁来核对门后住的是谁。
你可能会怀疑 judge 本身靠不住。作者把这个洞也焊死了:校准对照里,25 条金标准摘要,judge 判 21 条 relevant;25 条故意错配的金标准摘要,judge 判 0 条 relevant。这个裁判的尺度是准的,0.9% 不是误判的产物。
然后是最有对照意义的一组数。同样这位 judge,审落地检索的 agent:agent 引用的 PMID 有 66%(141/215)和 70%(128/184) 被判相关;引用过文献的判决里,77% 和 84% 至少引了一篇相关论文;而且 agent 几乎从不引用检索范围之外的东西(不合规引用率 0% 和 2.6%)。从 0.9% 到 66%–70%,中间隔的不是模型大小,不是提示词技巧,就一件事:见没见过那篇纸。 注意两边用的判决标准同样苛刻——judge 对闭卷引用和 agent 引用问的是同一个问题,没有双标。同一个裁判,同一套题,一边几乎全军覆没,一边七成及格。检索落地的那一刻,幻觉就死了。引用可以是诚实的,只要它是真的从工具返回的结果里挑出来的。
顺带补上闭卷过度自信的最后一块拼图:NEI 只占它预测的 4% 和 9%,真实 NEI 只被召回 6% 和 17%。也就是说,闭卷那点拿得出手的准确率,全靠在 S/C claim 上闭着眼硬答撑起来的——它几乎不弃权,因为弃权暴露的是"我不知道",而吐出一个 PMID 看上去像知道。体面,且错。
🛡️ 存在性检查:一个配合默契的稻草人
现在可以收线了。
想一想今天大多数系统的引用风控长什么样:验证 PMID 能不能解析、DOI 能不能跳转、链接是不是 404、格式是不是符合 PubMed 规范。这套检查的潜台词是——"号是真的,引用就是真的"。在这篇论文面前,它像个稻草人:327 个引用潇洒走过每一道关卡,没有一处报警。因为门牌号是真的,街道是真的,门也是真的。检查通过,论文引用,真相没人管。
作者的结论因此直白得近乎冷酷:无检索生成的引用,即使 ID 能解析,也绝不应该展示给用户;存在性验证不是充分条件,相关性必须对着检索到的原文逐条核——核的不是"这号存不存在",而是"这篇论文研究的,是不是 claim 里说的那件事"。落到工程上,可行的兜底其实就一条铁律:只许引用工具真返回过的 PMID。这一条在这篇实验里被数据反复背书——agent 的不合规引用率低到 0% 和 2.6%,落地检索的引用相关率立刻跳到 66%–70%。守住"引用必须来自检索结果"这一条,0.9% 的灾难就不会有机会登场。
当然,前沿系统并非对这一无所知。PaperQA2 这类文献 agent 的设计思路恰恰就是本文结论的工程化版本——让模型全程活在检索结果的围墙内,引用只能从围墙里挑。这篇论文的贡献不在于发明了什么新方案,而在于给出了一个干净的对照实验,把"为什么必须这么做"从工程惯例升格成了有数字支撑的结论:墙内引用相关率 66%–70%,墙外引用相关率 0.9%,中间隔着两个数量级。惯例会说"这样更安全",实验说"不是更安全,是离开了墙就几乎全错"。
这也是对 Walters & Wilder (2023) 那篇经典"ChatGPT 编造参考文献"研究的实质性推进。他们量的是不存在的引用——假的门牌号;这篇量的是存在但无关的引用——真门牌、错人家。后者危险得多:前者一戳就破,一解析就露馅,用户随手一搜就能抓到现行;后者刀枪不入,可以在任何合规检查下堂堂正正地活很多年,直到某个较真的人推开那扇门。两篇合起来才构成完整的引用风控地图:既要查假,也要查错——查假靠解析,查错只能对着原文核相关性。证据的指向性,而不是证据的存在性,才是引用风控真正的生命线。这个区别,值得每个做科学 agent 的人在墙上贴一张。
🔮 局限,和门后的余味
照例把作者自己交代的短板复述清楚。N=100,置信区间宽,现实 harness 之间的差异无一显著——所以别拿 62.0 对 55.0 去汇报"agent 提升 7 个点",那不诚实。两个 backbone 都是单一供应商的小模型,换更大或开源的模型,数字可能移动。SciFact 的标签是相对特定金标准摘要定义的,而 harness 搜的是 2026 年当下整个 live PubMed——有些"错误"可能恰恰是新证据在说话,标题匹配的金标准召回也只是有用检索的下限。相关性判定依赖单一 LLM judge,只在 50 条对照上验证过。作者的计划也写明了:扩到完整开发集、加开源和生物医学专用 backbone、研究强制用满预算的检索策略。这是一篇 pilot,不是终审。
但这些局限动摇不了核心暴击。0.9% 的相关率不是一根误差棒能撑起来的数字,judge 的校准对照把"裁判不行"这条路也焊死了;而 oracle 那组 p<10⁻⁴ 的 17–24 点鸿沟,则把"检索是瓶颈"钉成了这篇论文最站得住的结论。方向性的小数字被谦逊地标注为不显著,结构性的、致命的数字则被显著性实锤——这份诚实本身就是方法论的一部分。
最后留个画面给你。
想象一个招聘背调流程,只验证身份证号存在,不验证简历内容。327 个人,证件全是真的,只有 3 个真的会干活。流程每一步都合规,每一步都通过,每一张表格都盖了章。问题从来不在流程里,在流程默认的那个前提里——"号是真的"被当成了"人是对的"。
这也是把这篇 pilot 放回三部曲坐标系里的位置:物流(篇一之前的那篇)管的是快递到没到货,信任(昨天那篇)管的是该信谁,而本篇管的是最底下的那层——快递单上写的收件人,和门后站着的那位,是不是同一个人。三层任何一层塌了,证据链条都救不回来;而大多数人把预算花在了最上面的两层。
门牌号是真的,这个世界就很配合。
存在性检查通过了,论文引用了,真相没人管。而你要做的,只是走过去,抬手,敲敲门,问一句:这里面住的,真是你说的那个人吗?
参考文献
- Saqlain, M. (2026). *Real PMIDs, Wrong Papers: Harness Design for Biomedical Claim-Verification Agents*. Agentic AI for Biological Discovery (AgenticLS) workshop. arXiv: 2610.29812. https://arxiv.org/abs/2610.29812 · 代码:https://github.com/saqlain2204/real-pmids-wrong-papers
- Wadden, D., et al. (2020). Fact or Fiction: Verifying Scientific Claims. EMNLP 2020. (SciFact)
- Yao, S., et al. (2023). ReAct: Synergizing Reasoning and Acting in Language Models. ICLR 2023.
- Lewis, P., et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS 33.
- Walters, W.H., & Wilder, E.I. (2023). Fabrication and errors in the bibliographic citations generated by ChatGPT. *Scientific Reports* 13, 14045.
- Skarlinski, M.L., et al. (2024). Language Agents Achieve Superhuman Synthesis of Scientific Knowledge. arXiv: 2409.13740. (PaperQA2)
#论文解读 #证据的质地 #arXiv #SciFact #文献agent #存在性陷阱