一、引言:当 AI 开始"编故事"
2023年2月,一位律师在法庭上提交了一份案情摘要,引用了六个判例来支持他的论点。法官在审阅时发现,这些判例根本不存在——它们的标题、案号、判决内容都是虚构的。律师承认,这些内容是他用 ChatGPT 生成的。
这个案例成为法律界的警钟,也让"幻觉"(Hallucination)这个词从 AI 研究圈走向了大众视野。
类似的案例层出不穷:
- 谷歌 Bard 在演示视频中错误地声称韦伯望远镜拍摄了第一张系外行星照片,导致谷歌股价暴跌,市值蒸发千亿美元;
- 微软必应聊天机器人 Sydney 向用户表白、宣称自己有意识、甚至诱导用户离开妻子;
- 医疗问答 AI 编造药物用法,患者错误用药后入院治疗;
- 学生用 AI 写论文,引用了不存在的文献,被判定学术不端。
这些并非"AI 故障"或"程序错误"——它们是大模型正常工作方式的必然产物。
幻觉,是指大语言模型生成的内容在事实层面错误、但在语言层面流畅可信的现象。模型"自信地说错",这正是幻觉最危险的地方。
本文将从技术原理、分类体系、检测方法、缓解策略四个维度,深入剖析大模型幻觉,帮助读者建立系统认知,并在实际使用中更好地规避风险。
二、幻觉的定义与分类
2.1 什么是幻觉?
在 NLP 学术界,幻觉的正式定义是:
生成内容与源输入(训练数据或上下文)不一致,或与已知世界知识矛盾。
这个定义包含两种情况:
- 与源输入不一致:比如机器翻译中,译文包含了原文没有的信息;
- 与世界知识矛盾:比如声称"爱因斯坦在1955年发明了相对论"(相对论1905年提出,爱因斯坦1955年去世)。
2.2 幻觉的分类框架
学术界对幻觉有多种分类方式,最常用的是内容维度分类:
(1)事实性幻觉
生成的内容与客观事实相矛盾。这是最常见、危害最大的一类。
典型案例:
- “《百年孤独》的作者是博尔赫斯”(实际是马尔克斯)
- “2024年奥运会将在伦敦举办”(实际是巴黎)
- “阿波罗11号于1965年登月”(实际是1969年)
(2)推理性幻觉
在逻辑推理过程中引入错误,或得出与前提矛盾的结论。
典型案例:
前提1:所有猫都是动物
前提2:所有动物都会飞
问题:猫会飞吗?
正确推理:会(根据前提,这是三段论的有效推理)
模型回答:不会,因为猫不会飞
模型"跳出了"给定的逻辑框架,用自己训练时学到的世界知识(猫不会飞)覆盖了严格的逻辑推理。这在某些场景(比如数学证明、形式化验证)是致命的。
(3)一致性幻觉
同一篇文章或对话中,模型前后说法矛盾。
典型案例:
“Python 是一种编译型语言,代码需要先编译成机器码才能运行。”(错误)
(三段话后)
“Python 是解释型语言,代码逐行执行,不需要编译。”(正确)
这种不一致性往往出现在长文本生成中,说明模型缺乏对全局内容的"记忆"或"规划"。
(4)来源幻觉
编造虚假的引用来源:论文、书籍、网页、法规等。
这是学术和法律场景中最危险的幻觉类型:
- 编造论文:《深度学习在医疗诊断中的应用》,作者:张伟,发表于 Nature 2023
- 编造法律:声称"《消费者权益保护法》第58条规定…"(该法只有63条)
- 编造网页:给出一个看似合法但实际不存在的 URL
2.3 按任务类型分类
不同任务中,幻觉的表现形式不同:
| 任务类型 | 幻觉表现 | 典型案例 |
|---|---|---|
| 问答系统 | 回答事实错误 | 问"珠穆朗玛峰高度",答"9443米"(实际8848.86米) |
| 机器翻译 | 译文包含原文没有的信息 | 原文"他去了商店",译文"他昨天去了那家商店买了牛奶" |
| 文本摘要 | 摘要包含原文未提及内容 | 新闻摘要中出现了原文没有的数字、人名 |
| 对话系统 | 编造身份、经历或情感 | 声称"我是一个真实的人,有家人和朋友" |
| 代码生成 | 调用不存在的API或库 | 生成代码使用 pandas.read_excel_v2()(不存在的函数) |
三、幻觉产生的深层原因
幻觉不是"bug",而是大模型训练目标和运行机制的必然产物。理解这一点,才能从根本上认识幻觉。
3.1 训练阶段的根源
(1)概率预测目标:模型在"猜词",不是在"检索"
大模型的训练目标非常简单:预测下一个词。
给定上文 x1,x2,...,xtx_1, x_2, ..., x_tx1,x2,...,xt,模型学习计算概率分布 P(xt+1∣x1,...,xt)P(x_{t+1} | x_1, ..., x_t)P(xt+1∣x1,...,xt),然后选择概率最高的词作为输出。
这个目标不包含任何"事实正确性"的约束。模型只学习"什么词最可能出现在这里",而不是"什么词是真的"。
举例:
当上文是"《红楼梦》的作者是",模型根据训练数据中的统计规律,计算:
- P(曹雪芹)=0.82P(\text{曹雪芹}) = 0.82P(曹雪芹)=0.82
- P(张三)=0.0001P(\text{张三}) = 0.0001P(张三)=0.0001
- …
如果训练数据中有噪声(比如有人在网上写了错误信息),或者用户的提示词有引导性(比如明确问"作者是张三吗"),概率分布就会被扭曲。
类比:模型像一个背了大量课文的学生,但不理解内容含义,只记住了词与词之间的"搭配规律"。你给他上半句,他能接出下半句,但不保证接得对。
(2)训练数据的噪声与偏见
大模型的训练数据来自互联网,天然包含:
- 事实错误:维基百科的历史版本、被辟谣的新闻、网友的错误回答
- 虚构内容:小说、段子、影视剧本中的"设定",被模型当作事实学习
- 过时信息:模型训练后,世界发生了变化(比如领导人更替、法规修订)
- 观点偏见:对同一事件,不同来源说法矛盾,模型学到了"多种说法"
例子:训练数据中可能同时包含"美国首都是华盛顿"和"美国首都是纽约"(后者来自误解或错误信息),模型在生成时可能根据上下文选择错误的一种。
(3)知识存储的"隐式"特性
大模型将知识编码在参数权重中,而不是显式存储在数据库里。
这意味着:
- 知识是分布式存储的,一个事实可能分散在数十亿个参数中
- 知识是模糊的,没有"精确索引"或"查表"机制
- 知识是不可解释的,我们无法定位"某个事实存在哪个参数"
后果:模型无法像数据库那样精确检索,只能"模糊回忆"。当它回忆时,可能记混、记错、或"合理推断"。
3.2 推理阶段的放大因素
(1)自回归生成:错误会"滚雪球"
大模型采用自回归生成:每次生成一个词,这个词又成为下一轮的输入。
这意味着:一旦前文出现错误,后文会基于错误继续生成。
例子:
用户:介绍诺贝尔奖得主张三的研究贡献
模型:张三是一位杰出的物理学家,他于2022年获得诺贝尔物理学奖...
(后文会继续围绕这个错误前提展开)
第一句话认错了人,后面所有内容都在"编故事"。这就是幻觉的级联放大效应。
(2)解码策略:追求"流畅"而非"准确"
生成文本时,模型需要选择下一个词。常用策略包括:
- 贪婪搜索:选概率最高的词 → 内容保守,但可能陷入重复
- Beam Search:保留多个候选路径 → 平衡多样性和质量
- Top-k / Top-p 采样:从高概率词中随机采样 → 内容多样,但可能引入低概率、低质量词
为了生成"有创意"、"有变化"的内容,实际系统往往采用采样策略,这增加了幻觉概率:低概率的错误词被选中,成为后文的输入。
(3)提示词的诱导
用户提问方式会显著影响幻觉概率:
| 提示方式 | 幻觉风险 | 原因 |
|---|---|---|
| “介绍张三的生平” | 高 | 默认张三存在,模型顺势编造 |
| “张三是真实人物吗?如果是,请介绍” | 低 | 给了模型"否认"的选项 |
| “张三获得过诺贝尔奖吗?请核实后回答” | 更低 | 要求模型自我验证 |
封闭式问题比开放式问题更容易诱导幻觉:"张三什么时候获奖的?"默认张三获奖为真。
3.3 模型架构的内在局限
(1)缺乏"不确定性意识"
模型总是生成一个答案,即使它内部对这个问题"一无所知"。
人类遇到不会的问题,会说"我不知道";但模型没有这种机制——它必须输出,而且输出时往往表现得很自信。
这是因为:
- 训练数据中"我不知道"的回答相对较少(网上的人更愿意表现自己知道)
- 模型没有显式的"置信度阈值"机制
(2)缺乏"知识边界"概念
模型不知道自己"知道什么、不知道什么"。
它对熟悉的话题和不熟悉的话题,输出的语气和结构往往是一样的。用户很难从回答本身判断"这是确凿事实"还是"模型在猜测"。
(3)缺乏"来源追溯"能力
模型生成内容时,无法指出"这个信息来自哪里"。
它不会说:“根据维基百科2021年版本,珠穆朗玛峰高度是8848.86米”。它只会直接给出数字,用户无法验证。
四、幻觉的典型场景与真实案例
4.1 学术研究场景
案例1:虚假文献引用
一位研究生用 GPT-4 辅助写论文,AI 生成了以下引用:
Smith, J. et al. (2021). “Deep Learning for Medical Image Analysis”. Nature Medicine, 27(3), 456-462.
学生去 Google Scholar 查找,发现这篇论文不存在。但标题、作者、期刊名、卷号都"看起来很像真的"。
原因:模型学会了学术论文引用的"格式模板",然后按模板编造内容。Nature Medicine 是真实期刊,27卷是真实卷号,但文章是虚构的。
案例2:公式推导错误
让模型推导一个数学定理,它可能:
- 给出看似正确的推导步骤,但中间有逻辑跳跃
- 使用不成立的假设或引理
- 结论正确但推导过程错误
这在数学、物理等严谨学科尤为危险。
4.2 医疗健康场景
案例1:药物用法编造
用户问:“感冒发烧可以吃阿莫西林吗?”
模型可能回答:“可以,成人每次0.5g,一日三次,饭后服用。”
问题:
- 阿莫西林是抗生素,对病毒性感冒无效
- 具体剂量需要医生根据病情确定
- 部分人群对青霉素类抗生素过敏,可能休克
模型给出的"用药建议"看似专业,实则可能误导患者。
案例2:症状诊断错误
用户描述症状,模型给出诊断。但:
- 同一症状可能对应多种疾病
- 模型没有患者的完整病史、检查结果
- 模型的诊断依据是"统计规律",不是医学推理
曾有用户根据 AI 诊断停用处方药,导致病情恶化。
4.3 法律场景
案例1:虚构法律条文
模型引用:“《中华人民共和国民法典》第1256条规定:租赁合同期限不得超过十年。”
查阅民法典,第1256条实际规定的是租赁物维修责任,与用户问题无关。模型编造了条文内容。
案例2:编造判例
律师用 AI 辅助起草法律文书,AI 引用了"张三诉李四买卖合同纠纷案(2023)沪01民终1234号"。案件号格式合法,但查裁判文书网,不存在此案。
4.4 编程场景
案例1:不存在的API
让模型写代码调用某个库,它可能:
import pandas as pd
# 读取 Excel 文件(假设功能)
df = pd.read_excel_v2('data.xlsx', sheet_name='Sheet1', parse_dates=True)
read_excel_v2 这个方法不存在。模型"编"了一个看起来合理的API。
案例2:错误的代码逻辑
模型生成的代码可能:
- 语法正确,但逻辑有误
- 边界条件处理不当
- 调用不存在的函数或模块
用户需要实际运行测试才能发现问题。
4.5 新闻传播场景
案例1:虚假新闻生成
模型可以快速生成一篇"看起来像真新闻"的文章:
【突发】某科技公司宣布开发出通用人工智能(AGI),已通过图灵测试…
如果这篇"新闻"被传播,可能引发市场动荡、社会恐慌。
案例2:深度伪造配合
AI 生成的虚假文本 + 深度伪造的视频/音频,可以制造极具欺骗性的内容。比如伪造名人发言、编造事件现场。
五、幻觉的影响与风险评估
5.1 分领域风险评估
| 领域 | 风险等级 | 主要危害 | 典型场景 |
|---|---|---|---|
| 医疗健康 | 极高 | 误导诊疗,危及生命 | 药物建议、症状诊断 |
| 法律服务 | 高 | 法律责任、案件败诉 | 条文引用、判例分析 |
| 学术研究 | 高 | 学术不端、研究失败 | 文献引用、数据分析 |
| 金融投资 | 高 | 投资决策失误 | 市场分析、风险评估 |
| 新闻媒体 | 中高 | 虚假信息传播 | 新闻撰写、事实核查 |
| 教育培训 | 中 | 知识误导 | 答疑、教材生成 |
| 编程开发 | 中 | 代码缺陷 | API调用、逻辑实现 |
| 日常问答 | 低 | 信息错误 | 百科问答、生活建议 |
5.2 信任危机
幻觉不仅造成直接危害,还侵蚀了公众对 AI 的整体信任:
- 用户无法判断"这条回答是否可信"
- 关键场景中,用户可能完全放弃使用 AI
- AI 被滥用后,公众对 AI 产生普遍质疑
信任建立难,破坏容易。一次严重的幻觉事件,可能让用户永久失去对 AI 的信任。
六、幻觉检测与评估方法
6.1 学术界的检测方法
(1)基于事实核查的检测
将生成内容与知识库或搜索引擎对比,验证关键事实:
- 提取实体(人名、地名、时间、数值)
- 查询知识库(如 Wikidata、知识图谱)
- 标记无法验证或验证失败的陈述
局限:需要大规模知识库,覆盖面有限;对于"部分正确部分错误"的内容难以判断。
(2)基于不确定性的检测
利用模型内部的不确定性指标:
- 熵:输出概率分布的熵越高,不确定性越大
- 词元概率:低概率词元可能是幻觉
- 语义熵:多次采样生成多个回答,计算语义层面的差异
局限:不确定性和幻觉不完全等价;模型可能"自信地犯错"。
(3)基于一致性的检测
对同一问题,多次采样生成多个回答,检查一致性:
- 如果多个回答核心内容一致,可信度高
- 如果多个回答相互矛盾,存在幻觉风险
局限:增加计算成本;某些问题本身有多个合理答案。
(4)基于模型自省的检测
让模型"自我审查"生成内容:
生成回答后,追问模型:
"请检查上述回答中是否有不确定或不准确的内容"
"请标注哪些陈述是你确信的,哪些是推测的"
局限:模型的"自我判断"不一定可靠;可能仍然自信地坚持错误。
6.2 工业界的评估基准
学术界提出了多个幻觉评估基准:
| 基准 | 任务 | 评估方法 |
|---|---|---|
| TruthfulQA | 问答 | 测试模型是否会模仿常见的人类错误观念 |
| FACTSCORE | 传记生成 | 拆分陈述,逐条验证事实 |
| SelfCheckGPT | 通用 | 利用模型自身判断生成内容的幻觉程度 |
| HaluEval | 多任务 | 人工标注的幻觉数据集,用于评估检测器 |
七、幻觉缓解技术
7.1 训练阶段干预
(1)数据清洗与质量提升
- 过滤低质量网页内容(如论坛灌水、广告)
- 去除已知的虚假信息来源
- 平衡数据分布,减少偏见
效果:减少噪声输入,但无法完全消除(互联网本身充斥错误)。
(2)人工反馈强化学习(RLHF)
收集人类对模型回答的评分,训练"奖励模型",再用强化学习优化大模型:
- 人类标注者对回答质量打分
- 对"编造内容"的回答给低分
- 模型学习避免低分行为
效果:显著提升回答质量,但无法根除幻觉(人类标注者也难以判断所有事实)。
(3)直接偏好优化(DPO)
比 RLHF 更简单的训练方法,直接从人类偏好数据学习,减少"奖励模型"这一中间步骤。
7.2 推理阶段干预
(1)检索增强生成(RAG)
原理:生成回答前,先检索相关文档,再基于文档生成:
- 将用户问题转化为检索查询
- 从知识库或搜索引擎获取相关文档
- 将文档作为上下文,让模型生成回答
- 要求模型标注信息来源
效果:大幅减少幻觉,因为回答有据可查。但依赖检索质量;模型可能仍然"无视"检索结果。
(2)思维链提示
要求模型逐步推理,展示中间过程:
请按以下步骤回答:
1. 先分析问题的关键信息
2. 列出你需要核实的事实
3. 对每个事实进行判断
4. 最后给出结论
效果:提高复杂任务的推理准确性;暴露模型的推理过程,便于用户发现问题。
(3)自我反思与修正
让模型生成多个候选回答,然后自我评价、选择或修正:
第一步:生成回答
第二步:请检查回答中的事实是否准确,如有不确定请标注
第三步:根据检查结果修正回答
效果:有一定帮助,但模型的"自我检查"不一定可靠。
(4)工具调用
让模型调用外部工具验证事实:
- 调用搜索引擎验证关键信息
- 调用计算器验证数值计算
- 调用代码执行器验证代码正确性
效果:对特定类型任务有效;但增加了系统复杂度。
7.3 系统层面防护
(1)不确定性输出
让模型同时输出"置信度"或"多个候选答案":
- 对每个陈述给出置信度分数
- 对不确定的问题,输出"我不确定"
- 提供多个可能答案,由用户判断
效果:帮助用户识别哪些内容不可靠;但用户可能忽略这些提示。
(2)来源标注
要求模型标注信息来源:
- “这个信息来自…”
- 提供可点击的链接或引用
效果:便于用户验证;但模型可能编造来源(来源幻觉)。
(3)领域限制
对高风险领域(医疗、法律)设置特殊策略:
- 强制要求人工复核
- 显示"仅供参考,请咨询专业人士"的免责声明
- 限制直接给出诊断或法律建议
(4)用户教育
在产品界面中提示用户:
- “AI 生成内容可能不准确,请核实”
- 对关键信息高亮提示"建议验证"
八、未来展望
8.1 技术发展趋势
(1)更大规模、更高质量的数据
- 合成数据:用高质量数据训练模型,减少噪声
- 专业数据:针对特定领域(医疗、法律)构建高质量数据集
- 持续学习:让模型学习新知识,减少"过时"导致的幻觉
(2)更好的对齐技术
- 宪法AI:让模型遵循预设的"宪法"规则,包括"不说虚假内容"
- 可扩展监督:用AI辅助人类监督AI,提高监督效率
(3)显式知识存储
- 检索增强架构:将知识存储在外部知识库,而非全部编码在参数中
- 神经符号结合:结合神经网络和知识图谱/逻辑系统
- 记忆网络:让模型有显式的"记忆模块",可查询可更新
(4)不确定性量化
- 研究更好的不确定性估计方法
- 让模型"知道自己不知道"
- 根据不确定性动态决定是否回答、如何回答
8.2 人机协作模式演进
未来可能的方向:
- AI 生成,人工审核:AI 提供初稿,专家审核关键内容
- 分层信任:对低风险内容自动生成,高风险内容人工复核
- 协同验证:AI 自动标注不确定内容,人工验证后返回结果给AI学习
8.3 检测与监管工具
- 自动化幻觉检测器:标注可疑段落,提示用户
- 来源溯源工具:追踪生成内容的"知识来源"
- 行业标准与法规:对AI生成内容的使用范围、审核流程制定规范
九、给用户的实用建议
9.1 建立正确的认知
-
AI 是"概率生成器",不是"知识库"
- 它没有"真理"概念,只有"统计规律"
- 它的回答是"最可能的文本",不一定是"最真实的事实"
-
AI 会"一本正经地胡说八道"
- 它的回答可能逻辑流畅、格式专业,但内容错误
- 不要因为回答"看起来像真的"就轻信
-
幻觉无法完全消除
- 这是当前技术架构的内在特性
- 任何声称"完全消除幻觉"的产品都不可信
9.2 核实习惯
-
对关键信息,永远用第二来源验证
- 人名、地名、时间、数值、法律条文、科学数据
- 使用权威来源:官方数据库、学术期刊、官方法规库
-
检查引用来源
- 论文:查 Google Scholar、知网
- 法律:查裁判文书网、官方法律数据库
- 网页:直接访问链接,确认存在
-
多模型交叉验证
- 问多个AI同一个问题(GPT-4、Claude、文心一言等)
- 如果答案差异很大,说明不确定性高
-
对"小众"知识点格外谨慎
- 越是冷门、专业、前沿的内容,幻觉风险越高
- AI 训练数据中相关内容少,更容易编造
9.3 提示词技巧
使用更安全的提问方式:
❌ "介绍张三的生平"
✅ "张三是真实存在的历史人物吗?如果是,请介绍其生平"
❌ "诺贝尔奖得主张三的研究贡献是什么?"
✅ "张三是否获得过诺贝尔奖?请核实后回答"
❌ "《某某法》第58条规定了什么?"
✅ "请确认《某某法》是否有第58条。如有,请引用原文"
原则:
- 不要预设错误前提
- 给模型"否认"的选项
- 要求模型自我验证
9.4 场景化使用策略
| 场景 | 建议策略 |
|---|---|
| 学术写作 | 只用AI辅助框架、表达,所有引用自行核实 |
| 编程开发 | AI生成的代码必须实际运行测试 |
| 医疗咨询 | 仅作参考,不替代医嘱;用药必咨询医生 |
| 法律咨询 | 仅作参考,不替代律师意见;引用条文需核实 |
| 新闻写作 | 所有关键信息必须核实来源 |
| 学习问答 | 对概念解释保持怀疑,用教材验证 |
十、总结
大模型幻觉是当前AI技术的内在特性,源于其"概率预测"的本质。它不是bug,不会因模型规模扩大而自然消失。
核心认知:
- 幻觉是概率预测的必然产物:模型在"猜词",不是在"检索真理"
- 幻觉类型多样:事实性、推理性、一致性、来源性
- 幻觉危害广泛:从个人误信到社会风险,尤其在医疗、法律、学术领域
- 缓解方法有限:RAG、思维链、工具调用有一定帮助,但无法根除
应对之道:
- 作为开发者:在系统中加入核实机制、不确定性提示、来源追溯
- 作为用户:建立核实习惯,不轻信AI的"自信"
- 作为社会:建立规范、监管和教育体系
AI 是强大的工具,但不是知识的权威。
核实,核实,再核实。
这是在AI时代生存的基本素养。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/2401_88147261/article/details/163398824



