大模型回答错误,通常被当作「知识缺失」处理:加大模型、喂更多数据、甚至重做检索架构。但 Google Research 与以色列理工学院(Technion)联合发布的研究(论文 arXiv:2602.14080)给出相反结论——模型答错的事实,多数时候并没有丢,知识已经编码在参数里,只是生成时调不出来。实验覆盖 13 个大模型、超过 400 万条响应:GPT-5、Gemini-3 等前沿模型能编码 95% 到 98% 的被测事实,但其中 26% 到 34% 直接提问时回忆失败;给模型更长的推理时间(如思维链),最多能找回 65% 这类「原以为忘了」的事实。
幻觉的两种成因:编码失败与回忆失败
论文把事实在模型中的状态分成两个层次:「编码」(encoded)与「可知」(known)。编码,指模型在原始训练语境下能准确复现该事实;可知,指模型面对不同问法、不同方向的提问都能稳定答对。研究者写道:「编码失败与回忆失败在准确率指标下无法区分,但二者的成因与解法完全不同——编码失败要靠预训练阶段解决,比如扩大模型规模或数据覆盖;回忆失败则适合在后训练阶段改善模型对已编码知识的调用。」
五类知识画像
研究用「Oasis 乐队首场演出在 Boardwalk 俱乐部」这一事实,演示了知识画像的五种形态:
- 直接回忆:事实已编码,无需额外推理即可答出;
- 编码失败(空货架):既没编码也不知道,补数据或扩容量才有用;
- 回忆失败(丢钥匙):已编码但取不出来——能补全原文,却答不出「Oasis 首场演出在哪」;
- 思考后回忆:靠思维链等推理时计算,模型在推理中逐步定位到被锁住的答案;
- 无编码推理:模型从未编码该事实,但靠已有知识推断出来,例如由「Oasis 组建于曼彻斯特」「Boardwalk 是当地知名俱乐部」链式推导出答案。
数据:13 个模型、400 万条响应
研究者用 WikiProfile 基准(从维基百科提取 2,150 条事实)评测 13 个大模型,每条事实覆盖从上下文补全到选择题等多种问法。结果:前沿模型编码接近饱和(95% 到 98%),但仍有 26% 到 34% 的已编码事实「话到嘴边说不出来」;推理时计算能找回其中 40% 到 65%,研究者将其类比为人类的「舌尖现象」——刻意回忆、回溯语境,最终想起来。
扩容解决不了回忆问题
企业常见的应对是「错了就扩规模」。论文给出的反例:Gemma3 从 10 亿参数扩到 270 亿参数,编码失败率从 85% 降到 23%,「空货架」被填满;但回忆失败占比反而上升,最高到 40%——模型记住的事实越多,卡在「已编码但取不出」状态的知识池越大,错误主体从「缺数据」变成「调不出」。Google 研究科学家 Nitay Calderon 对 VentureBeat 表示,事实答错时的默认动作是扩容,但两者都昂贵,而如果事实早已编码,两者都没用。
长尾事实与反向提问更难回忆
实验还发现两个反差现象:长尾事实(冷门知识)与热门事实的编码率相近,但回忆差距超过 25%——冷门知识同样被记住,只是更难被直接问出来;反向提问(问主语而非宾语)更难答——模型能答出「Oasis 首场演出在 Boardwalk 俱乐部」,却答不出「谁在 Boardwalk 俱乐部做过首场演出」,但同一道题换成选择题又能答对。研究者认为,这两类现象都应重新定性为回忆失败,而不是「知识缺失」。
对开发者的四条建议
- 别把所有事实错误都当成检索问题:只有真正缺失的事实才值得上 RAG,否则只是为模型本来就会的知识多付延迟与成本。
- 推理时计算要选择性开启:只有 10% 到 20% 的事实真正需要思考,全局开启浪费算力;难点在于模型缺乏「预判自己快要答错」的自我认知,这也是 Google 正在攻关的方向(如「忠实不确定性」框架)。
- 部署先生成后验证(generate-then-verify)流水线:模型识别正确答案比直接生成更容易,让模型对自己的输出做一轮显式核验,能补上直接生成的遗漏。
- 评测要测「语义访问」而非基准准确率:同一事实用不同问法、语境、方向分别测试,才能分清模型是「不知道」还是「够不着」;查询改写、在提示词里补充中间上下文、要求先推理再作答,都是有效的可靠手段。
局限与成本
WikiProfile 基于百科类事实,结论未必完全迁移到专有领域数据——领域专属事实可能真的没被编码。完整跑一遍 WikiProfile 画像的成本约 500 美元,去掉选择题变体或减少采样可显著降低;基准与全部提示词已开源在 Hugging Face(google/WikiProfile),团队可以复现流程,用自建语料诊断自己的智能体是「缺数据」还是「缺钥匙」,但领域数据上的预期要放低。
结论
对不自己训练基础模型的企业来说,这是好消息:预训练成本高不可攀,但后训练与推理时手段(思考、核验、检索)正是多数团队已经在用的杠杆。下次模型答错,先分清它是「缺知识」还是「想不起来」——前者补数据,后者让它多想一会儿。