AI 通关攻略 · 第 3 关 | 幻觉:为什么 AI 会一本正经地胡说八道
什么是幻觉
幻觉(Hallucination) 是指 LLM 在生成内容时,产生了看似合理但实际上是错误的输出——包括虚假信息、偏见、逻辑矛盾等。
类比:就像一个人(LLM)在很自信地讲一个他从未经历过、也没有任何依据的故事。他讲得很流畅、很连贯,你乍一听会觉得很有道理,但仔细核实就会发现全是编的。
这和"回答错误"不同:
- 回答错误 = 模型知识不足,给出了不准确的答案
- 幻觉 = 模型在没有足够依据的情况下,以高置信度生成了看似合理但虚假的内容
1. 为什么 LLM 会产生幻觉?
1.1 本质原因:LLM 是"预测机器",不是"知识库"
LLM 的本质是根据统计规律预测下一个 token,它不存储事实,而是存储"语言表达的规律"。
这意味着:
- 模型知道"中国首都是北京"在语言中出现频率很高
- 但模型并不知道北京真的是中国的首都(这不是它存储的信息,只是语言模式)
当被问到冷门问题时,模型会"根据语言模式"编一个听起来合理的答案,而不是说"我不知道"。
1.2 训练数据的偏差与过时
- 数据过时:模型的训练数据有截止日期,超过截止日期的事实模型完全不知道
- 数据偏差:如果训练数据中某类内容出现频率更高,模型会更倾向于生成相关内容
- 数据错误:互联网文本本身包含大量错误信息,模型学到了这些错误
1.3 上下文过长或信息缺失
当用户给的信息不完整时,模型倾向于"补全"出一个看似合理但可能错误的答案。
1.4 生成参数设置
Temperature 设置过高、Top-p 过大时,模型输出更随机,更容易"胡编乱造"。
2. 幻觉的分类
2.1 事实性幻觉(Factual Hallucination)
生成的内容与可验证的客观事实不符。
例子:
- 用户:特斯拉是哪年成立的?
- LLM 答:特斯拉公司成立于 1900 年。✅ 错误(正确是 2003 年)
- 用户:珠穆朗玛峰有多高?
- LLM 答:8848 米。✅ 正确
2.2 逻辑性幻觉(Logical Hallucination)
生成的内容前后矛盾,或推理过程有漏洞。
例子:
- 用户:猫是哺乳动物吗?
- LLM 答:是的。猫是哺乳动物,它们通过光合作用获取能量。
- 前半句正确,后半句突然"猫通过光合作用获取能量"——这是典型的逻辑跳跃导致的幻觉。
2.3 引用幻觉(Fabricated Hallucination)
模型编造出不存在的引用、论文、数据。
例子:
- 用户:有研究证明熬夜对身体好吗?
- LLM 答:是的,2023 年哈佛大学医学院的 Smith 博士在《Nature Medicine》上发表的研究表明……
- 根本不存在这篇论文和这位博士。
这是最危险的幻觉之一,因为在学术写作、商业报告场景中极具欺骗性。
3. 如何缓解幻觉?
3.1 RAG(检索增强生成)
最主流的解决方案:
- 让 LLM 在回答问题前,先从外部知识库检索相关信息
- 将检索到的真实资料作为上下文,一起发给 LLM
- LLM 基于真实资料生成答案,而不是只靠内部知识
RAG 是当前企业级 AI 应用中缓解幻觉的首选方案。
3.2 提供足够的上下文
用户提问时,提供清晰、完整的背景信息,减少模型"补全"的空间。
3.3 使用 Function Calling / Structured Output
对于需要精确数据的场景,限制 LLM 只输出预定义的格式,减少"自由发挥"。
3.4 调整生成参数
- 降低 Temperature:减少随机性,让输出更确定性
- 限制最大 Token 数:防止模型"越扯越远"
3.5 微调(Fine-tuning)
针对特定领域进行微调,让模型更熟悉该领域的正确知识。
3.6 Chain-of-Thought(思维链)
让模型分步骤推理,而不是直接给出答案。研究表明,分步推理能减少逻辑性幻觉。
3.7 提示词工程
通过 System Prompt 让模型在不确定时主动说"我不知道":
System Prompt 示例:
"如果你不确定答案的准确性,请直接说你不知道,不要编造信息。"
4. 幻觉能完全消除吗?
目前无法完全消除。 这是 LLM 基于统计预测本质上的局限。
但可以通过以下方式显著降低:
| 方法 | 效果 | 成本 |
|---|---|---|
| RAG | 事实性幻觉大幅减少 | 需要维护知识库和向量数据库 |
| 调整 Temperature | 轻微减少随机性幻觉 | 几乎零成本 |
| 微调 | 对特定领域幻觉减少明显 | 训练成本较高 |
| 思维链推理 | 逻辑性幻觉减少 | 略微增加 token 消耗 |
| 提示词工程 | 减少"瞎编引用" | 几乎零成本 |
5. 总结
核心认识:幻觉不是 LLM 的"bug",而是 LLM 作为"下一个 token 预测机器"的本质特性。理解这一点,才能正确地选择缓解手段,而不是期望"修复"这个问题。
记住一个原则:LLM 是语言天才,但不是事实专家。 它擅长组织语言、推理逻辑,但它不知道自己说的是不是真的。
在使用 LLM 时,永远保持批判性思维——尤其是涉及重要决策时,务必核实 LLM 提供的事实性信息。