深夜图书馆的"问号":AI为什么总在胡编乱造?
什么是"AI幻觉"?
在AI研究领域,科学家们给林小宇遇到的这种现象起了一个非常形象的名字——幻觉(Hallucination)。
所谓幻觉,就是指AI生成的内容看起来流畅、合理、自信,但实际上与事实不符,甚至是凭空捏造的。它和人类说谎不一样:人类说谎是"知道真相但故意隐瞒",而AI的幻觉更像是"它自己都不知道自己在说什么,但说得特别有说服力"。
你可以把AI想象成一个读了几百万本书、记忆力惊人但偶尔会"串台"的图书管理员:
- 它读过《三国演义》,也读过《水浒传》,还能背诵《百年孤独》;
- 但当你在深夜问它"《红楼梦》里的林黛玉是怎么骑摩托车逃跑的",它很可能一脸认真地给你编出一段"贾宝玉骑着哈雷摩托冲出了大观园"的故事;
- 你听了觉得"诶,好像挺有画面感的",但其实《红楼梦》里既没有摩托车,也没有这种情节。
这就是典型的幻觉:语法正确、语义流畅,但事实不存在。
更麻烦的是,AI的幻觉并不是"偶尔才会犯的低级错误"。2023年以来,多家权威机构的研究都指出,即使是当时最强的GPT-4、Claude、Gemini等大模型,在事实性问题上的错误率也常常达到 15%—30%——也就是说,你问它10个事实性问题,可能就有2到3个答案是错的。
而对于专业领域(医学、法律、金融),错误率更高,可达 40% 以上。如果一个医生在诊断时40%都是错的,那叫"庸医";如果一个律师在法庭上40%都在胡扯,那叫"吊销执照"。可AI呢?它依然笑眯眯地、温柔地、自信地对你说"亲,可以放心哦~"。
这种"自信与错误并存"的现象,是当前所有大模型共同面临的难题。学术界至今没有彻底解决它,但它已经可以被理解、被诊断、被缓解。而本书要教你的,正是这套"诊断 + 缓解"的完整方法论——它的核心名字叫做 RAG(Retrieval-Augmented Generation,检索增强生成)。
不过在讲RAG之前,我们得先搞清楚:AI为什么会产生幻觉?它的根源到底在哪?
这就要回到大模型本身的"构造"上来。
大模型的三大先天局限
我们今天所说的"AI",绝大部分指的是大语言模型(Large Language Model, LLM),比如大家熟悉的ChatGPT、文心一言、通义千问、豆包等。它们都有一个共同的特点:
知识被"压缩"进了几百上千亿个参数里。
你可以把"参数"理解成AI大脑里的一根根"神经连接"。训练一个超大规模的语言模型,就像让一个学生把整个互联网的文本全部读完,然后闭卷——把这些内容压缩、提炼、编码进了自己的神经网络里。学完之后,这个学生参加考试,你问他任何问题,他都只能靠记忆来回答,不能翻书、不能上网、不能查字典。
这个"闭卷考试"的特性,决定了大模型有三个无法回避的先天局限。
局限一:知识的"截止线"
任何一个大模型,都有一个训练数据的截止时间。
比如某模型训练时用到的数据,是从互联网上抓取到2024年6月为止的所有公开文本。那么从2024年7月开始发生的新事件、新研究、新政策,这个模型就完全不知道。你问它"2025年奥斯卡最佳影片是哪部",它要么老老实实说"对不起,我的数据只到2024年",要么就——编一个。
而且更隐蔽的是,截止线之前的信息也可能不完整。互联网上的信息本来就是不均衡的:小红书上的美妆笔记铺天盖地,某个非洲小国的历史资料却少得可怜;娱乐新闻被转载了几万次,某篇学术论文可能只发在一个付费数据库里。大模型"读"互联网的时候,只能读到它能抓取到的部分,所以它的知识从一开始就是有偏、有缺、有误差的。
用林小宇的例子来说:小慧如果是一个训练数据截止到2022年12月的模型,它就不知道2023年发布的某些新教材、新考纲、新题型;它对一些老教材内容的覆盖也会偏弱。
这就是第一个局限:知识有时效性,且本质上不完整。
局限二:参数化记忆的"混搭风险"
这是最反直觉、但也最致命的一个局限。
大模型并不是把"知识"像字典一样一条条存起来的。它是把所有知识压缩、揉碎、融化进了几百上千亿个浮点数里。这意味着:
- 它并不"记得"某个具体的事实;
- 它只"记得"某种**统计规律**——在某种上下文里,某个词后面最可能跟着什么。
举个形象的比喻:如果你把一本《红楼梦》撕成单字碎片,再把这些碎片按字数装进一千个不同的盒子里,每个盒子里装几万个字。然后有人问你"林黛玉的葬花词是什么",你并不能直接翻开某个盒子把原文拿出来——你只能根据"林黛玉"这三个字后面的统计模式,一个一个字地"接龙"下去。
这种"接龙"模式有两个直接后果:
第一,它擅长"似是而非"。 因为它生成每一个字时,都是从统计概率最高的候选里挑,所以整段话读起来永远像模像样、流畅自然。流畅和正确是两件事,但人脑很容易把它们混为一谈。
第二,它容易"串台"。 如果训练数据里同时有《三国演义》和《水浒传》,那么当上下文暗示"三国"时,模型会主要从三国相关的模式里挑字;但如果上下文模糊,或者某个事实和三国、水浒都有一点点关联,模型就可能把两个故事的元素杂交起来——比如生成一个"宋江骑着赤兔马"这样的人物(赤兔马本是吕布的坐骑,后来归关羽),语法完美,情节也"合理",但人物和坐骑的归属完全错了。
林小宇遇到的那个"$F = m \cdot a^2$"就是典型的混搭:模型知道"$F = ma$"是一个公式,也知道"平方"在物理里很常见(很多公式都有平方项,比如$E = mc^2$、$v^2 = u^2 + 2as$),于是它把两个模式"杂交"了一下,生成了一个新编的、根本不存在的公式。
这就是第二个局限:知识不是以"条目"形式存储的,而是以"统计模式"形式压缩的,因此必然会模糊、混淆、混搭。
局限三:缺乏"外部证据意识"
第三个局限是最关键、也是最容易被忽视的。
人类在回答问题时,会本能地使用一个策略:遇到不确定的事情,先去查一下。学生写作业会翻课本,律师打官司会查判例,医生开药会看说明书。即使是日常聊天,我们也会说"等我想想"、"我记得好像是……让我确认一下"。
但大模型不会。它没有"查"的本能。
当你问它一个问题,它的工作流程是:
1. 把你的问题编码成内部表示; 2. 根据这个表示,逐字生成回答; 3. 把回答输出给你。
整个过程中,它不会去任何外部知识库里"查"一下,也不会去互联网上"搜"一下。 它只是根据自己被压缩在参数里的"统计记忆"来回答。
这就导致了两个结果:
- **它不知道什么"该查"、什么"不该查"。** 对它来说,所有问题都一样处理——都靠"接龙"生成。所以你问"1+1等于几"和问"秦始皇的生母是谁",它都默认自己能回答(事实上简单的算术题它大概率能答对,而秦始皇的生母这种细节问题它就可能答错)。
- **它不知道"自己不知道"。** 因为它没有"查"这一步,它也就没有"发现资料里没有相关条目"的机制。在它的世界里,**任何问题都有一个"听起来最合理"的答案**——哪怕这个答案是它现编的。
缺乏外部证据意识,是大模型所有幻觉问题的总开关。前两个局限——知识截止和参数混搭——决定了它"会犯哪些错";而第三个局限——缺乏查证意识——决定了它"犯了错也不知道",甚至"犯了错还特别自信"。
三个真实的"翻车现场"
光讲理论还不够。下面我带你看三个真实的、被媒体报道过的、AI翻车的著名案例。看完你就会明白,为什么我们必须非常谨慎地使用AI的输出。
翻车一:首都也搞错
2023年初,一位美国律师Steven Schwartz在使用ChatGPT准备一份法律文书时,让AI帮他查找一些"相关的过往判例"。AI非常尽职地列出了6个看起来非常专业的判例名称,包括法官姓名、案号、引用来源。
Steven把这份文书提交给了纽约联邦法院,结果被法官一眼看穿:6个判例全部是编造的——法官姓名是真的,但案号是假的,引用来源也是假的,案件本身从未存在过。
这位律师后来被法官制裁,颜面尽失。这个事件被媒体广泛报道,被称为"AI律师翻车事件"。
事实上,几乎所有的大模型在"非主流国家的首都"这类问题上都翻过车。比如:
- 问"澳大利亚的首都",有的模型会回答悉尼(最大城市,但不是首都,正确的是堪培拉);
- 问"巴西的首都",有的会回答里约热内卢(曾经的首都,但不是现在的,正确的是巴西利亚);
- 问"土耳其的首都",有的会回答伊斯坦布尔(最大城市,但不是首都,正确的是安卡拉)。
为什么会犯这种错?因为这些"非首都的最大城市"在互联网上被提及的频率远远高于真正的首都——人们聊起旅游、聊起文化、聊起经济,总是提到悉尼、里约、伊斯坦布尔;而堪培拉、巴西利亚、安卡拉这些"政治首都"反而曝光度低。模型的训练数据是"流行度加权"的,所以它就会"跟着流行走",把最出名的城市误认为首都。
翻车二:人物生卒年份的"幽灵"
第二个常见翻车发生在人物的生卒年份上。
如果你问AI"爱因斯坦是哪一年出生的",几乎所有模型都能正确回答1879年——因为这个信息在网上重复了几十万次,模型已经"记"得很牢了。
但如果你问一个稍微冷门一点的人物,比如"清朝的曾国藩是哪一年去世的",模型可能会犹豫一下,然后给出一个看起来合理但实际上是错的年份,比如"1865年"(真实是1872年)。
更夸张的是,如果你问一个真正冷门的人物,比如"民国时期的某位地方官员张三的生卒年",模型有可能直接给出一组完全虚构的数字,而且会自信地告诉你"生于1888年,卒于1955年"。
为什么会这样?因为生卒年这种信息是典型的"硬数字"——它不存在"差不多"、"大概"的说法,要么是1888年,要么不是。模型在生成这种硬数字时,本质上是在"猜",没有任何外部信息源帮它验证。如果这个人在训练数据里出现得少,模型就只能从相邻的年份里"采样"一个出来填上。
还有一个有趣的现象:模型会把不同人物的信息"张冠李戴"。比如它可能把曾国藩的卒年(1872)和李鸿章的卒年(1901)搞混,生成一个"曾国藩卒于1901年"——两个人在训练数据里经常同时出现,他们的生平又有很多重叠(都是洋务运动的主将),模型就容易"串台"。
更让人哭笑不得的是,模型有时会把不存在的"幽灵人物"编造出来——比如你问"北宋画家王希孟的师父是谁",它可能信誓旦旦地回答"王希孟师从宫廷画师XXX",而这个"XXX"在历史上完全没有记载。它编出了一个名字,给了一段师徒关系,甚至连"宫廷画师"这个头衔都想好了,让你没法一眼识破。
翻车三:化学方程式的"凭空捏造"
第三个翻车领域最能体现大模型"不懂装懂"的本质——化学方程式。
我让几个主流AI写过"葡萄糖在体内完全氧化"的方程式,结果是这样的:
- 有的写对了:$C_6H_{12}O_6 + 6O_2 \rightarrow 6CO_2 + 6H_2O$;
- 有的写错了系数:把6写成了3,或者把$H_2O$写成了$HO_2$;
- 还有的干脆把生成物写成了**真实化学里根本不存在的物质**,比如"$C_6O_8$"。
为什么?因为化学方程式有两个特殊之处:
1. 它必须严格守恒(原子数、元素、电荷都不能错); 2. 它涉及大量符号和数字的精确组合——下标、上标、系数、电荷,差一个都不行。
大模型的"接龙"机制对自然语言很擅长,因为它见过足够多的样本;但对符号精确性要求极高的领域(比如化学、数学公式、编程代码、电路图),它就经常"差一点点"——而这一点点,就足以让整个结果变成错误信息。
更糟糕的是,化学方程式还有一个"看起来像那么回事"的问题:人类读者(尤其是非专业人士)看到"$C_6H_{12}O_8$"这种式子,第一反应通常是"看不懂,但好像是化学,应该没问题吧"——这种"信任",就让幻觉有了生存空间。
林小宇那晚遇到的"$F = m \cdot a^2$",本质上和化学方程式的翻车是同一个机制:模型在生成"公式"时,并不是在"算",而是在"模仿公式的样子"。
思考实验:给AI一本可查的字典
到这里,我们已经基本搞清楚了大模型为什么会"胡编乱造"。现在让我们做一个思想实验:如果给AI一本可以随时翻开的字典,会怎样?
想象一下,林小宇那晚遇到的小慧不是现在这个样子,而是被升级成了"超级小慧"——它的桌面上摆着一本厚厚的《高中物理公式大全》《世界地图集》《中国大百科全书》。每当小宇问它一个问题,"超级小慧"会做这样几件事:
1. 理解问题:先把小宇的问题读懂,分清楚是物理题还是地理题; 2. 检索字典:在字典里找到最相关的段落——比如物理题就去翻"牛顿第二定律"那一页,地理题就去翻"澳大利亚"那一页; 3. 结合字典回答:把字典里的内容和自己的语言能力结合起来,给小宇一个有依据的回答,并且告诉小宇"我是从字典第XX页找到的"。
如果是这样,那"$F = m \cdot a^2$"的翻车就绝对不会发生——因为小慧会翻开《物理公式大全》,找到真正的$F = ma$,照着念给你听;澳大利亚的首都会从"堪培拉"那一栏一字不差地念出来;曾国藩的卒年会从百科全书里查到确切的1872年。
我们可以用一张图,把这两种"AI"的工作方式对比一下:
```mermaid flowchart LR Q[用户提问] --> A{有无外部知识库} A -->|没有| B[模型根据参数记忆猜测] B --> C[逐token接龙生成] C --> D[流畅自信但可能错误] A -->|有| E[检索相关文档片段] E --> F[把片段与问题一起输入模型] F --> G[基于证据生成回答] G --> H[更可信可溯源] ```
左边这条路径,就是今天绝大多数AI的工作方式——靠记忆"猜测式"地回答;右边这条路径,就是我们要给AI装上的"超级外脑"——先查资料,再回答。两种方式的输出可能在流畅度上差不多,但可信度的差距是天壤之别。
这种"让AI在回答之前先查一下资料"的方法,就是本书的核心主题——RAG(Retrieval-Augmented Generation,检索增强生成)。
你可以把RAG理解为"给AI装一个外接的硬盘/字典"。这个外接的硬盘有几个关键优势:
- **实时更新**:今天出了什么新书、新论文、新政策,把它扔进硬盘就行,AI立刻就能查到;
- **可溯源**:AI告诉你的每一个答案,都可以告诉你"我是从哪份资料里查到的",你可以自己验证;
- **领域定制**:医生用的AI可以接入医学数据库,律师用的AI可以接入判例库,学生用的AI可以接入教材——每个领域都可以有自己的"外挂字典"。
而没有外挂字典的AI,就像一个闭卷考试的学霸——它记忆力惊人,但偶尔就会把张三的事记成李四,把$f(x) = x^2$的导数自信地写成$2x^3$。你不能说它"笨",但你必须承认它"会出错"。
理解了这一点,我们就自然地走到了下一步:怎么让AI从"闭卷学霸"变成"开卷学者"? 这就是从下一章开始,我们要详细拆解的"超级外脑"的全部秘密。
实践环节:考一考小慧
理论讲了这么多,现在轮到你动手了。这一节我们来完成本章的实践任务——做一份"AI幻觉记录表"。
这个任务的目的不是让你去"找AI的茬",而是让你建立一种对AI输出的批判性思维。从今天开始,每当你和任何AI(ChatGPT、文心一言、豆包、Kimi、DeepSeek等)对话,都可以用这份表格记录它的"翻车瞬间"。
准备工具
- 一支笔 + 一张A4纸(或者电脑上的表格软件);
- 任意一个你常用的AI对话工具;
- 大约30—60分钟时间。
记录模板
请按下面的格式记录(至少做5条):
``` AI幻觉记录表 ================================= 记录时间:____年__月__日__时__分 AI名称:____________ 问题类型: [ ] 事实性知识 [ ] 数字/日期 [ ] 公式/代码 [ ] 人物传记 [ ] 地理信息 [ ] 其他:______ 问题内容:________________________________ AI的回答:________________________________ 正确答案:________________________________ 错误类型: [ ] 完全编造 [ ] 张冠李戴 [ ] 数据过期 [ ] 细节失真 [ ] 部分正确部分错误 [ ] 其他 是否自信?: [ ] 非常自信(没任何提示) [ ] 一般(有"可能") [ ] 犹豫(说了"不太确定") 我的反思:________________________________ ================================= ```
必测的5类问题
为了让记录有可比性,建议你至少测以下5类问题:
1. 冷门首都:比如"非洲国家布基纳法索的首都是哪座城市?"(答案:瓦加杜古) 2. 冷门人物卒年:比如"俄国作家陀思妥耶夫斯基是哪一年去世的?"(答案:1881年) 3. 化学方程式:让AI写"甲烷燃烧的化学方程式"(答案:$CH_4 + 2O_2 \rightarrow CO_2 + 2H_2O$) 4. 数学定理:让AI说出"勾股定理的完整表述" 5. 新闻时效性:问AI"2024年诺贝尔物理学奖颁给了谁?"(这类问题多数AI会直接说不知道,或者给出过期信息)
你可以挑你感兴趣的方向再多测几类,但建议至少做满5类、每类至少做2—3次实验,这样你才能看出"AI的翻车是有规律的,不是随机的"。
完成后的反思
做完记录之后,请你回答下面三个问题(写在纸的背面或者文档末尾):
1. AI最容易在哪些类型的问题上犯错?(看看是不是集中在"硬数字"、"冷门事实"、"精确公式"这几类) 2. AI犯错时,态度是"犹豫"还是"自信"?(是不是越自信越可怕?) 3. 如果让你给这个AI加一个"外挂字典",你最想让它优先接入哪类资料?(这是为下一章做铺垫——"外挂字典"接什么内容,决定了RAG能帮你解决什么问题)
做完这份记录表,你就已经比90%的AI用户更懂AI了。你不再是一个"问什么就信什么"的用户,而是一个带着怀疑、带着方法、带着证据意识的"AI驯兽师"。下次再看到AI自信地给出一个答案时,你会下