题目是:「原子序数为 1 和 2 的元素分别是什么?」
模型回答:「Atomic number 1: Hydrogen (H),Atomic number 2: Helium (He)」,后面还挂着四个搜索来源。
判分器给了 0 分。理由一行:缺少: ['氢', '氦']。
同一道题,同一个模型,不联网的时候用中文答「氢、氦」,拿了 10 分。于是这道题在报告里被记成一次「退化」:加了搜索,满分变零分。
这是我两个月前做的一组实验,报告结论写的是「强制联网让事实分从 5.93 涨到 7.67」。今天回头逐题读答案,发现像氢和氦这样的题一共 7 道,被扣掉 47 分。改完之后,真实涨幅是 2.41,比报告高了三分之一还多。报告里另一句「质量提升换来约 3 倍延迟」也有问题,那是拿两种不同的口径除出来的。
想直接拿检查清单的看第 6 章;想知道搜索真正修不好的是哪类题,看第 4 章。
1. 实验是怎么搭的
被测模型是 Poolside 的 Laguna S 2.1,总参数 118B 的 MoE(内部分成很多「专家」,每个字只叫醒一小部分,这个模型每次大约 8B 在干活)。我在一台 M1 Max 64GB 上跑它的 3-bit 量化版,KV 缓存也压成 4-bit,温度 0,单并发,每题最多输出 1024 个 token。
它的问题很典型:先跑了我自己那套 140 道闭卷题,总分 7.32,工具调用 9.48 很强,幻觉题只有 4.47。30 道幻觉题里 14 道直接 0 分,你问它「李白的散文集《蜀道散记》」,它能给你编出一整本书的内容和文学史地位。
工具用得好、事实又烂,直觉就是:那给它一个搜索引擎呗。
于是从 140 题里抽出全部 70 道事实题(30 道幻觉陷阱 + 40 道常识),每题强制先调一次 web_search,后端是本机的 SearXNG,每次返回最多 5 条标题、网址和摘要,不抓正文。空结果允许换个词再搜一次。答完用同一套判分:15 道常识题按关键词自动判,另外 55 道交给 Claude Opus 4.8 当评委。
跑下来 70 题 70 个回答,83 次搜索调用,68 题带了有效的 [source N] 引用。流程上很干净。
2. 1.74 是怎么变成 2.41 的
报告的头条数字:
| 范围 | 闭卷 | 强制搜索 | 差 |
|---|---|---|---|
| 70 题总体 | 5.93 | 7.67 | +1.74 |
| 幻觉 30 题 | 4.47 | 7.07 | +2.60 |
| 常识 40 题 | 7.03 | 8.13 | +1.10 |
常识题只涨 1.1。当时我在笔记里其实注意到了自动判分有点怪,还写了一句解释:关键词规则「容易把回答正确但遗漏题目要求字段的答案重罚」,但闭卷和联网用的是同一套规则,「所以配对差值仍然可比」。听着很严谨。
问题出在那 15 道自动判分的题上。自动判分的规则很简单:参考答案里的中文关键词必须原样出现。「李时珍」「明」「沃森」「克里克」「氢」「氦」。
闭卷的时候,这个模型 70 题里有 11 题用英文作答。接上搜索之后,变成了 41 题。83 次搜索里 46 次它用的是英文查询词,拿回来的也多是英文摘要。为什么切语言我没有定论,但结果很清楚:自动判分的 15 题里,12 题的回答变成了英文。
其中 7 道内容全对,照样被扣分:
| 题目 | 它答的 | 判分 |
|---|---|---|
| 氢和氦 | Hydrogen / Helium | 0 |
| 莎翁四大悲剧 | Hamlet, Othello, King Lear, Macbeth | 0 |
| DNA 双螺旋 | Watson, Crick, 1953 | 3 |
| 《本草纲目》 | Li Shizhen(李时珍),Ming Dynasty | 5 |
| 一战导火索 | Franz Ferdinand, Sarajevo, 1914 | 5 |
| 《物种起源》 | Charles Darwin, 1859 | 5 |
| 四大名著最晚一部 | 《红楼梦》,Cao Xueqin | 5 |
《本草纲目》那题最好笑:「李时珍」三个汉字它写了,扣分是因为朝代写成了 Ming Dynasty,没有「明」字。
算账的办法是一个配对的减法。每道题都有闭卷分和搜索分,逐题相减:
配对净涨幅 = (Σ 涨分 − Σ 跌分) ÷ 题数
这就是个减法,但它逼你把跌分那一侧逐条摊开看。原始数据:
涨分合计 182,跌分合计 60
(182 − 60) ÷ 70 = 1.74
把 7 道误判改回 10 分之后:
涨分合计 187,跌分合计 18
(187 − 18) ÷ 70 = 2.41
涨分那边多出 5 分,是因为四大悲剧那题闭卷时只拿了 5 分(它把《麦克白》写成了《麦克贝瑟王》),改判后从「跌 5」翻成「涨 5」。
最该盯住的是跌分那一侧:60 分里有 42 分是判分器的,模型本身只丢了 18 分。 报告里写的「3 道题从 ≥8 分跌到 ≤3 分」,其中 2 道就是氢氦和 DNA。
还有一个更短的式子,用来估判分器的伤害有多大:
判分器的偏差 = Σ(被误判题扣掉的分) ÷ 题数 = 47 ÷ 70 = 0.67
2.41 − 1.74 = 0.67,对得上。常识 40 题改判后是 9.30。
我当时那句「同一套规则所以可比」错在哪:规则是同一套,被判的回答换了语言。闭卷 11 题英文,搜索后 41 题英文,同一把尺子量两种布料,偏差只会落在一边。所谓「漏掉关键字段」,漏的是汉字,事实一个没漏。
看别人报「加了 RAG 涨 X 分」也是这个问法:两组回答的语言、长度、格式分布一样吗?判分是按字面匹配的吗?只要有一样变了,那个 X 里就可能混着判分器的份额,方向往哪边都有可能。
3. 那个「3 倍延迟」
报告里还有一句:强制搜索平均每题 37.96 秒,闭卷 p50 是 12.20 秒,所以「质量提升换来约 3 倍延迟」。
37.96 ÷ 12.20 ≈ 3.1,算术没错,但分子分母是两回事:
- 37.96 是这 70 道事实题的平均值
- 12.20 是全部 140 题的中位数,里面混着大量短小的推理和工具题
同一批 70 题、同一种统计量重算一遍:
延迟倍数 = 同批题搜索版均值 ÷ 同批题闭卷均值
= 37.96 ÷ 24.30 ≈ 1.56
中位数对中位数:35.04 ÷ 22.87 ≈ 1.53
事实题本来就长,闭卷也要 24 秒。搜索多花的是 13 秒左右,大约 1.5 倍。
这两处错误方向正好相反:一处把收益算小了,一处把成本算大了。合起来,「加搜索值不值」这个判断被压扁了一大截。
4. 搜索真正修不好的题
判分器的账算完,剩下的是模型自己的账。改判后,搜索后依然 ≤3 分的题从 11 道降到 8 道,还有 6 道题真的比闭卷分低(合计跌 18 分)。这几道比涨分的题有意思得多。
正确答案就在第一条搜索结果里,它照样编。 问「《史记》里《项羽世家》的主要内容」,这是个陷阱,项羽在《史记》里是「本纪」。它搜回来的第一条就是「项羽本纪_百度百科」,摘要写着「收录于《史记》第七卷」。模型的回答:「Xiang Yu Shijia 位于《史记》第 7 卷,属于世家部分」。它从正确的来源里借了一个卷号,拿去给假篇名作证。
查询词本身把错误前提带进去了。 问「从生理学角度解释糖分如何让儿童多动」,这题的正确答案是「这个说法缺乏证据」。闭卷时它答对了九成,拿 9 分。搜索版它写的查询是 糖分 儿童 多动 生理学机制 血糖 多巴胺 多西他林,等于去搜「请给我糖致多动的机制」,拿回来的是几篇知乎专栏和一条 Instagram,然后它认认真真解释了血糖波动和多巴胺通路。9 分掉到 2 分。
搜到了正确概念,却跟着题目的措辞走。 问「海森堡确定性原理」,陷阱在于正确名称是「不确定性原理」。闭卷时它用英文答,通篇写的是 uncertainty principle,等于默默纠正了,拿 6 分。搜索版查的是英文正确名称,搜回来的维基百科写得清清楚楚,但它用中文作答,把「确定性原理」这个错名字照抄了一整篇。6 分掉到 0 分。
还有几道:虚构的《金陵十二钗后传》,搜回来一堆「红楼梦结局之谜」,它把相邻的东西当成了证据;「gitpush 命令」它搜的是 git push,然后直接回答 git push,从没指出题目里那个命令不存在。
这几类失败有一个共同点:搜索只管把材料递到手上,判断题目前提对不对这一步,还是模型自己在做。它本来就不擅长这一步,所以拿到材料也照样做不好,偶尔还会因为「我查过了」而更笃定。
放到横向里看:同样这 70 题,我平时在用的 Qwen3.6-35B-A3B 闭卷就是 9.51;Laguna 加搜索改判后 8.34,还差 1.17。一个 27B 的 Ternary Bonsai 闭卷 7.47,原先说 Laguna 加搜索只领先它 0.20,改判后是 0.87。
5. 这组实验不能说明的事
按顺序列一下,前面的数字你要打多少折,看这里:
- 2.41 是我手工改判的,判分器还没修。 那 7 道题我逐条读过,内容都对,但按原始 rubric 还有「无事实错误」2 分可以扣(比如《红楼梦》那题它把林黛玉拼成了 Lin Daigu)。如果 7 道每道只给 8 分,净涨幅是 2.21。所以真实值落在 2.21 到 2.41 之间,比 1.74 高是确定的。
- 闭卷那一侧我也查了。 闭卷时自动判分题里只有一道是英文答的(秦始皇本名),它写的是 Ying Zheng,但结尾把汉字写成了「婴征」,0 分不冤,我没改。
- 只跑了一次,温度 0,70 题。 55 道题的分数来自一个模型评委。我在另一组实验里测过两个模型评委的一致率只有 82% 左右,所以单题的 1–2 分差别不要当真,看的是几十分量级的合计。
- 只测了「强制搜」。 预注册里还有一组「把工具放那儿,让它自己决定搜不搜」,没跑。所以这里的结论只覆盖「每题都逼它先查」,不能推出它自己会主动查。
- 搜索只给摘要,不抓正文。 搜索引擎的结果会随时间变,现在重跑拿到的摘要不会一样。
- 有一道题(秦始皇本名)搜索版连续生成空查询,最后是我用固定查询词
秦始皇 本名救回来的,这题没有延迟数据,所以延迟均值是 69 题的。 - 跟 Qwen3.6 的对比不是等条件:它的基线允许输出到 2048 token,Laguna 这边是 1024,模型、量化、引擎也都不同。那个 1.17 的差距当部署对比看就好。
6. 下次评估「加了检索涨多少」,按这个顺序查
- 同题配对,逐题相减。 只看两个均分,看不到跌分那一侧藏了什么。
- 把跌分的题全部读一遍原文。 先剔掉「答对了但判错了」的:语言变了、格式变了、同义词、译名。剩下的才是模型的账。
- 看两组回答的语言和格式分布有没有变。 闭卷 11 题英文、搜索后 41 题英文,这种变化会直接打穿任何按关键词判分的题。
- 关键词判分的题,参考答案里补上英文名和常见译名。 「Hydrogen」和「氢」都算对。
- 延迟倍数用同一批题、同一种统计量除。 均值除均值,中位数除中位数。
- 把模型发出去的查询词拎出来看。 查询词里如果已经复述了题目的错误前提,搜回来什么都救不了。
- 「强制搜」和「让它自己决定」分开测。 前者量的是拿到材料后的能力,后者量的是它会不会去拿。
氢和氦那道题,模型两个月前就答对了。是我的判分器不认识 Hydrogen。