AI 幻觉的底层机制:大模型为什么会「胡说八道」?
先说结论:幻觉是语言模型的"出厂设置" 上周有人问我:GPT-4明明说得头头是道,为什么会把一个从没存在过的论文引用得有模有样?ISBN号、作者名、期刊名一个不差,就是这篇论文不存在。 这不是偶发bug,这是语言模型的底层架构决定的。理解幻觉,得先理解模型到底在做什么。 模型在干嘛:下一个Token的概率游戏 每…

先说结论:幻觉是语言模型的"出厂设置"
上周有人问我:GPT-4明明说得头头是道,为什么会把一个从没存在过的论文引用得有模有样?ISBN号、作者名、期刊名一个不差,就是这篇论文不存在。
这不是偶发bug,这是语言模型的底层架构决定的。理解幻觉,得先理解模型到底在做什么。
模型在干嘛:下一个Token的概率游戏
每次生成时,LLM做的事情只有一件:根据已有的上下文,预测下一个Token最可能是什么。
技术上讲,模型输出的是一个词表上的概率分布(softmax层输出),然后按照某种采样策略(贪心/top-k/top-p/温度)选一个Token落地。
问题来了:这个概率是「形式上的流畅性」概率,不是「事实正确性」概率。
模型学习的目标函数是最小化预测误差(cross-entropy loss),让下一个Token尽量接近训练数据里的真实续写。训练语料里「2024年的诺贝尔物理学奖得主是XXX」这样的句子结构,让模型学会了如何填写「诺贝尔奖得主名字」这个槽位——但它没有内置一张「哪些名字对应哪年诺贝尔奖」的查询表。
三类典型幻觉及其成因
1. 知识截断幻觉
最简单的一类。训练数据有时间截止点,但模型不知道自己「不知道」。当被问到截止日期后的事,它不会说「我不清楚」,而是按照语境「合理推断」填一个听起来对的答案。
根本原因:模型没有元认知能力,无法区分「我学过这个」和「我在推断这个」。
2. 虚构引用幻觉
这是最坑的一类,也是我开头那个例子的本质。
模型训练时见过大量学术写作模式:「作者名(年份)在《期刊名》发表了关于XXX的研究」。这个句式结构被学得很彻底。当你问它「关于XXX有什么相关文献」时,它会生成一个「看起来对」的引用结构——名字、年份、期刊都是从统计分布里采样的,不是从索引里查出来的。
SFD实验室踩过这个坑:用早期Claude做技术文档时,生成的参考文献里有30%是不存在的,还全部格式正确。
3. 逻辑链断裂幻觉
这类幻觉发生在长推理链中。模型在推导第3步时可能引入了一个微小的错误,但后续步骤建立在这个错误基础上继续「流畅地」推进,最终给出一个逻辑自洽但结论错误的答案。
你有没有见过GPT详细地用5步推导出一个1+1=3的结论?就是这个机制。
为什么RAG和RLHF治标不治本
当前业界两大解法:
RAG(检索增强生成):给模型配一个外部知识库,让它先检索再生成。这能解决知识截断和事实查询类幻觉,但解决不了逻辑链断裂——模型拿到正确文档后,仍然可能在推理阶段出错。
RLHF(人类反馈强化学习):用人类标注员筛选出更「可信」的输出进行强化。这让模型学会了在不确定时说「我不确定」,但本质上是调整了输出分布,没有改变模型无法区分事实与推断的根本缺陷。
更准确的表述:RAG解决了「去哪找答案」,RLHF改善了「用什么语气说答案」,但都没有解决「判断这个答案是否真实」。
实际部署时怎么缓解
没有银弹,但有工程实践:
- 自洽性采样(Self-Consistency):同一个问题问多次,选多数派答案。对数学推理有效,对事实查询帮助有限。
- 引用约束提示:在prompt里要求「只使用以下文档中明确出现的信息」,并在输出后做来源验证。
- 置信度输出:要求模型同时输出答案和置信度(0-1),低置信度的答案触发人工复核。
- 工具调用验证:让模型调用搜索/计算器/数据库等工具,把可验证的部分外包给工具,不让LLM自己「记忆」事实。
我们在SFD的内容管道里,所有需要准确引用数据的场景都走RAG+验证工具的组合,纯生成只用于创意写作类任务。
还没解决的根本问题
学界对幻觉的根治方案,目前方向有三条:
- 更好的训练数据质量控制(减少训练集里的错误「示范」)
- 置信度感知架构(让模型输出层直接表达不确定性,而不是总输出one-hot-like的确定性token)
- 混合符号-神经系统(在LLM外部挂知识图谱或形式逻辑验证器)
2026年,这三条路都在推进,但离产品级解决方案还有距离。当前的实用建议:把LLM当一个「非常能说」但「不保真」的合作者,事实核查永远自己来。
SFD编者注:我们内部用「幻觉概率」来评估任务适配度——事实密集型任务(法律文书、财务数据)走工具验证链;创意写作/摘要类任务放宽容忍度。这个分类本身就省掉了很多麻烦。