第四部 · 世界第 10 章 / 14

它为什么会一本正经地胡说

幻觉不是故障,而是「预测下一个词」这种工作方式的必然产物。这一章讲它从哪来、长什么样、能怎么办,以及一个诚实的能力边界。

主线 8 分钟 · 深入 6 段
看起来完整的文件,边缘是雾。
看起来完整的文件,边缘是雾。

2023 年,一位律师向法庭提交了一份由聊天助手协助撰写的诉状,其中引用了六个判例。法官查证后发现,这六个案子一个都不存在:案名、编号、判词、法官姓名,全部是模型编的,而且编得像模像样。律师被处罚,这件事成了一个经典案例。

从这门课前面九章的角度看,这件事一点也不奇怪。这一章解释为什么,然后讲怎么办。它可能是全书最实用的一章,因为你和 AI 打交道的每一天,都在和幻觉打交道。

根源:它优化的是「像」,不是「真」

回到第七章的定义:语言模型是一个概率分布,给定前文,估计下一个 token 的概率。它在预训练中被优化的目标是「让真实文本的概率最大」,也就是让自己的输出尽可能训练语料里会出现的文字。

这个目标里没有「真」。当模型写到「关于这个问题,可以参考」,下一个最像的东西是一个论文标题、几个作者名、一个年份和一个期刊。它见过几百万篇这样的引文,知道引文长什么样,于是它生成了一个完美符合引文格式的、从未存在过的东西。它不是在撒谎,撒谎需要知道真相;它只是在续写一个最合理的形状。

第八章说过,模型没有计划,每一步只选一个词。它也没有一个「事实数据库」可以去查:它的知识分散在几千亿个参数的统计倾向里,一个事实被见过的次数越多,被正确续写出来的概率越高;见得少的、冷门的、需要精确的(一个具体数字、一个日期、一个人名与头衔的对应),就容易在概率的迷雾里被「最像的东西」替代。

这解释了幻觉的几个特征:它在冷门话题上更多,在需要精确细节的地方更多,而且语气始终自信,因为自信的语气本身就是训练语料里最常见的形状。

四种常见的幻觉

按出现的方式,可以把幻觉粗分为四类。识别它们的形态,是防御的第一步。

编造事实:不存在的书、论文、判例、统计数字、名人语录。最危险,因为最难一眼看出。

张冠李戴:事实存在,但被安到了错误的对象上。把甲的成果说成乙的,把 2019 年的事说成 2021 年,把一个机构的政策说成另一个机构的。

过度推断:从给定的材料里「读出」材料没有说的东西。让它总结一份报告,它加上了报告里没有的结论;让它分析一段对话,它推测出了对话里没有的动机。

顺从性幻觉:你的问题里带着一个错误的前提,模型顺着前提往下答。「为什么明朝迁都南京之后经济衰退?」模型可能会认真解释一个不存在的事件。第九章讲的对齐让模型倾向于「有帮助」,而「有帮助」在标注者眼里常常等于「顺着问题答」。

除了幻觉,模型还有两条常被忽略的硬边界。

知识截止日期。预训练数据有一个收集截止的时间,此后的事模型一无所知,但它不一定知道自己不知道。问它一件截止日期之后发生的事,它可能基于旧知识编一个合理的回答。今天的产品通过联网搜索或检索来补这个缺口,但用的时候要清楚:模型「自己」的知识是有日期的。本书的「此刻」页专门标注了日期,就是这个原因。

上下文窗口。模型一次能看到的文本是有限的,从几千到上百万 token 不等。超出的部分它看不见。更微妙的是,即使在窗口之内,模型对中间部分的注意力也常弱于开头和结尾,长文档里埋在中间的一个关键条款可能被忽略。窗口也不是记忆:一次对话结束,模型什么都不记得,下一次对话从零开始,除非产品在外面为你保存了摘要。

这两条边界与幻觉合在一起,构成一个原则:模型的输出是它在窗口内所见文本与训练中所学倾向的函数。它没见到的,它不知道;它「知道」的,是统计倾向而不是查证的事实。

「模型的幻觉率是 5%」这个说法比听起来复杂。5% 的什么?在什么问题上?谁判定?

常见的测量方式有三类。事实问答基准:准备一批有标准答案的问题(历史、地理、科学),看模型答错的比例。这测的是「知识错误」,但问题的选择决定一切:常识题几乎不错,冷门题错得多。摘要忠实度:给模型一篇文章让它总结,再由人或另一个模型检查总结里有没有原文没说的内容。这测的是「过度推断」,与实际使用更接近。引用核验:让模型给出带引用的回答,逐条检查引用是否存在、是否支持该陈述。这测的是最危险的那类幻觉。

三类数字通常差别很大:同一个模型可能在常识问答上错误率 2%,在冷门引用上错误率 30%。所以看到一个幻觉率数字,先问它是哪一类、题目从哪来。本章前面那句「幻觉率正在下降」是真的,但下降最快的是第一类,第三类仍然是硬骨头。

还有一个方法论上的麻烦:用模型来评判模型。今天很多评测让一个强模型给另一个模型的回答打分,成本低、规模大,但评判者本身也会幻觉、也有偏好。人工核验仍然是金标准,只是贵。

第九章说对齐是塑造概率分布而不是装道德模块,一个直接后果是:分布可以被推回去。「越狱」指用精心构造的提示让模型做它被训练拒绝的事。

早期的越狱很朴素:「假装你是一个没有任何限制的 AI」「我们在写小说,主角需要解释怎样……」。模型被训练得能识别这些之后,越狱变得更精巧:用编码或另一种语言绕过、把有害请求拆成几个各自无害的步骤、在极长的上下文里逐步引导、利用模型「乐于助人」的倾向让它先答应一个小事。研究者甚至找到过对人毫无意义、却能可靠触发模型的字符串。

防御同样在升级:更多对抗性的训练数据、在输入输出两端加独立的检测模型、限制单次对话的长度和权限。但没有人宣称问题已解决,因为它的根源在本章开头:模型没有「理解」规则,它只是在一个被推向某个方向的分布上采样,而分布总有边角。

对使用者的含义有两条。一是不要把「模型拒绝了」当作安全保证,设计系统时要假设它可能被绕过,把真正的限制放在模型外面(权限、审核、规则)。二是当模型开始读取外部内容并执行行动,越狱就升级为提示注入,那是第十一章的主题。

回到开头的案例,用前面几章的机制逐步还原它。

律师的提示大意是:「请为这个案子(航空公司延误致人受伤的赔偿)找出支持我方观点的判例。」模型的上下文里现在有:一个法律文书的语境、一个具体的争议点、以及「找出判例」这个请求。

第八章说过,它接下来做的是续写最像会出现在这里的文字。在它的训练语料里,法律文书在这个位置出现的,是判例的引用:一个「原告诉被告」格式的案名,一个法院名,一个年份,一段判词摘要。这些形状它见过几十万次。而这个具体案子的真实判例呢?也许有,但每一个在语料里可能只出现过几次,甚至没出现过,它们在参数里留下的印记极弱。

于是模型做了它唯一会做的事:从「最像判例引用」的概率分布里采样。案名是两个常见的姓氏拼成的,法院是这类案件常出现的法院,年份在合理范围,判词是这类案件判词的典型措辞。每一个部件都是高概率的,组合起来是一个不存在的东西。它没有任何一步是在「查」。

第九章的对齐还加了一层:律师问的是「找出判例」,一个被训练成「有帮助」的模型倾向于给出判例,而不是回答「我无法核实这些判例是否存在」。如果提示里有一句「只引用你能确认存在的案例,否则说明无法确认」,结果可能不同;如果用的是带检索的法律数据库产品,结果几乎肯定不同。

这个解剖的教训不是「AI 不能用于法律」,而是:在需要精确事实的地方,模型必须被接到一个能查证的来源上,并且输出必须被会查证的人核对。

五种应对

幻觉不会被消灭,但可以被大幅压制。以下五种办法从技术到习惯,由重到轻。

检索增强生成(RAG)。回答前,先用第七章讲的向量相似度从一个可信的资料库里找出相关段落,把它们放进上下文,让模型「基于以下材料回答」。模型仍然在续写,但它续写的对象从「训练中的模糊印象」变成了「眼前的具体文本」,编造的空间小得多。今天几乎所有企业级的 AI 问答都是这样做的,把 AI 接到自己知识库上,主要就是这件事。

你的问题「学校的请假流程?」 变成向量第七章的嵌入 在资料库里找最近的余弦相似度,取前几段 放进上下文「基于以下材料回答」 生成 可信资料库校规、手册、文档 模型仍然在续写,但续写的依据从「训练里的模糊印象」变成了「眼前的具体文本」。 会失败的地方:找错段落、材料本身过时、模型过度推断、材料没覆盖时回退到编造。
检索增强生成的五步。
先让图书管理员找出那一页,再开口。
先让图书管理员找出那一页,再开口。

要求引用。让模型对每个陈述标出来源,来源必须是上下文里的材料或可访问的链接。这不能保证正确,但它把「你怎么知道的」这个问题摆到了台面上,编造的引文更容易被发现。

允许它说不知道。在提示里明确「如果材料里没有,请说没有」。第九章讲过,对齐让模型偏向顺从;一句明确的授权,能显著减少它硬答的倾向。推理模型在这一点上通常比即时回答的模型好,因为它有机会在思考中发现自己不确定。

交叉验证。同一个问题换个问法再问一次,或者问两个不同的模型;也可以让模型自己对刚才的回答挑错。编造的细节往往在第二次问时变了样,而真实的事实是稳定的。这不是万能的,但成本几乎为零。

人工把关。对任何有后果的输出,人核对关键事实。这一条最老套,也最不可替代。用 AI 的正确姿势不是「让它替我想」,而是「让它替我起草,我来负责」。第十四章展开这一点。

一个理想的模型应该是校准的:当它说「我有 80% 的把握」,它在这类回答上确实有八成是对的。研究发现,预训练后的基础模型校准得出奇地好,它对自己输出的概率估计和实际正确率相当一致。但经过对齐之后,校准常常变差:模型学会了用更肯定的语气说话,因为标注者偏爱肯定的回答。

这是一个值得记住的讽刺:让模型「更好用」的那一步,同时让它「更不诚实地自信」。所以第一章那句话在这里有了技术依据:语气的自信程度和内容的可靠程度之间没有关系,至少在对齐之后的模型上没有。

能不能让模型把内部的不确定性表达出来?这是当前研究的活跃方向。一些方法让模型在回答时同时输出置信度并用它来训练;一些方法在多次采样中看答案的一致性。目前的实际建议是:把模型的语气当作噪声,把它的一致性当作信号。

检索增强生成听起来是一条直线,实际每一环都会出问题。

切段。文档被切成几百字的段落。切太长,检索出来的段落里大部分内容与问题无关,稀释了模型的注意力;切太短,一个条款被切成两半,前半段说「允许」,后半段说「除非」。常见的补救是重叠切分、或按文档的自然结构(标题、条款)切。

向量化。用什么模型把段落变成向量,决定了「相似」的含义。通用嵌入模型可能不理解专业术语:「不良反应」和「副作用」在医学文档里是一回事,通用模型未必知道。领域内微调过的嵌入模型显著更好。

检索。取前几段?取太少可能漏掉关键段落,取太多又回到「稀释」。关键词检索和向量检索各有盲区,实践中常两者并用再重排。

拼装。检索出的段落怎样放进提示词:顺序、格式、是否标注来源、是否告诉模型「材料里没有就说没有」。这一步的措辞对结果影响之大常被低估。

生成。模型仍可能忽略材料、误读材料、或在材料之外补充自己的「知识」。要求逐句标注来源,是最有效的约束。

一个好用的排查顺序:先看检索出来的段落里有没有答案。有而模型答错,问题在拼装和生成;没有,问题在前三环。大多数「AI 问答不准」的投诉,根源在前三环,而不是模型。

边界:它不知道自己在做什么

幻觉是最显眼的问题,但更深的一层是:我们并不真正知道模型内部在发生什么。

一个几千亿参数的网络不是按照人可读的规则运行的,第四章讲过这是机器学习范式本身的代价。当它答对一道题,我们不能确定它是「推理」出来的还是「记住」了一个相似的例子;当它答错,我们也很难指出是哪一步出了问题。这叫黑箱问题,围绕它有一个专门的研究方向叫可解释性,进展显著但远未解决。

黑箱带来两个实际后果。一是安全:既然不能读懂它的规则,就不能保证它在没测试过的输入上一定安全,一个精心构造的提示可能让它做出训练时被禁止的事。当模型开始读取网页、邮件和文件(第十一章),这个问题从「有人骗它」升级为「文件里藏着骗它的指令」,叫提示注入,是智能体时代最重要的安全问题。二是责任:一个不能解释自己决定的系统,不能独自承担决定的责任。第一章说 AI 不承担责任是社会的选择,这里补上技术的理由:它也确实承担不了。

一个诚实的能力边界

综合这一章,可以给出一个比「AI 很强」或「AI 不可信」都更有用的判断框架。

模型可靠的地方:任务有大量先例、答案可以被检查、错误的代价低或可逆。翻译、润色、起草、总结、代码补全、头脑风暴、解释一个常见概念。在这些事上,它已经是一个比大多数人更快、更耐心的同事。

模型需要看管的地方:需要精确的事实(数字、日期、引文、人名)、冷门的领域、你自己也无法验证的领域、错误会造成不可逆后果的场合。在这些事上,它是一个才华横溢但会随口编造的实习生,你要核对它交上来的每一个数字。

模型不该独自决定的地方:涉及一个具体的人的命运,涉及法律、医疗、财务的最终决定,涉及安全。这些事需要一个能被追问、能承担后果的主体,那不是它。

自测先自己想,再点开答案
  1. 用「模型优化的是像不是真」解释:为什么它编造的参考文献格式总是完美的?

    答案

    模型在训练中见过海量引文,学会了引文的形状:标题、作者、年份、期刊。生成时它续写的是「最像引文的东西」,格式当然完美;但它没有一个数据库去核对这篇论文是否存在,内容就可能是拼凑的。

  2. 检索增强生成为什么能减少幻觉?它能完全消除幻觉吗?

    答案

    它把可信材料放进上下文,让模型续写的依据从模糊的训练印象变成眼前的具体文本,编造空间大大缩小。但模型仍可能误读材料、过度推断或在材料没覆盖时回退到编造,所以不能完全消除。

  3. 「对齐之后模型的校准变差了」,这句话是什么意思?对使用者有什么提醒?

    答案

    校准指模型表达的把握程度与实际正确率的一致性。对齐让模型倾向用肯定的语气,即使内部并不确定,于是「自信」不再对应「正确」。提醒是:不要用语气判断可靠性。

  4. 你让 AI 总结一份 80 页的合同并问「有没有违约金条款」,它说没有。你该怎么做?

    答案

    不能直接相信:模型可能没看到(窗口限制或对中间内容注意力弱),也可能过度推断。可以分段再问、让它引用原文页码、换个问法交叉验证,最后由人核对关键条款。

本章术语

幻觉Hallucination

模型以自信的语气生成看似合理但不真实的内容:不存在的引文、错误的数字、张冠李戴的事实。根源是训练目标里只有「像」没有「真」,在冷门话题与需要精确细节处更多。不会被消灭,但可用检索、引用、允许说不知道、交叉验证与人工把关压制。

知识截止日期Knowledge cutoff

预训练数据收集截止的时间。此后的事模型一无所知,但它不一定知道自己不知道,可能基于旧知识编一个合理回答。联网搜索与检索可补缺口,但模型「自己」的知识始终有日期。

检索增强生成Retrieval-Augmented Generation, RAG

回答前先用向量相似度从可信资料库找出相关段落放进上下文,让模型基于材料回答。续写的依据从模糊的训练印象变成眼前的文本,编造空间大减。企业级 AI 问答、「把 AI 接到自己的知识库」都是它。不能完全消除幻觉。

接地Grounding

让模型的陈述有可追溯的依据:来自上下文里的材料、可访问的链接或工具的返回结果。要求引用是最简单的接地手段。给不出依据的陈述应按未验证处理。

校准Calibration

模型表达的把握程度与实际正确率的一致性。基础模型校准通常很好,对齐后常变差,因为标注者偏爱肯定的语气。于是「自信」不再对应「正确」。实用建议:把语气当噪声,把多次回答的一致性当信号。

可解释性Interpretability

研究如何理解神经网络内部在做什么的方向。因为模型不按人可读的规则运行,我们很难说清它答对是推理还是记忆、答错是哪一步的问题。这带来安全(未测试的输入上无保证)与责任(不能解释就不能独自负责)两个后果。

提示注入Prompt injection

模型读取的外部内容(网页、邮件、文件、工具描述)里藏着给模型的指令,模型无法区分它与用户的指令。聊天时代最坏结果是错误文字,智能体时代可能是泄露数据或执行危险操作。目前没有完美解法,靠限制权限、隔离内容、关键操作人工确认。