LLM 幻觉是它自信地产出听起来合理但不是真的东西:假引用、不存在的函数名、没讲过的话、差一点点对的事实。这是现代 AI 最被讨论的弱点,而且不会消失 — 它是这个技术运作方式本身的特性。
为什么幻觉是结构性的
回想 LLM 的一句话定义:它根据 context 预测下一个 token。训练过程把模型推向预测合理的文字 — 也就是「这种文档接下来通常会出现的东西」。
模型没有「真实」这个概念,只有「在这种 context 下,通常会接什么样的东西」。你问一个真实但冷门法条的引用,模型会生出看起来像真实法条引用的东西。有时引用真的存在,有时标题对但年份错,有时整段是编的、格式漂亮。
这不是模型「真实性模块」坏了 — 没有真实性模块这种东西。模型就是在做训练要它做的事:产出合理文字。「合理」跟「真实」大多时候重叠,不总是。
幻觉最常出现的时候
四个提高幻觉风险的 pattern:
**模型没被训练到的具体事实。**最近事件、冷门主题、你的私有数据。模型会合理地填空。缓解:RAG、网络搜索工具。
**精确数字。**统计、引用页码、版本号、时间戳。模型对精确记忆很差。缓解:验证步骤、来源检查。
**邻近主题混淆。**问「React 19 的 useTransition hook」 — 模型如果知道之前的 React 但不知道 19,会合理地拼出来。缓解:明确版本锚定、RAG 对当前文档。
诱导性问题。「Yann LeCun 在 2024 年 3 月那场访谈里怎么讲 Anthropic?」 — 如果根本没这场访谈,模型常常还是会编一场。缓解:指令叫模型不确定就拒绝(部分有用)。
什么不能修幻觉
三个流行但误导的「解法」:
**「换更大的模型就好」。**大模型在常见主题幻觉较少,但 edge case 仍会幻觉。趋势是改善,不是消灭。不要赌下个模型发布解决你的可靠性问题。
**「Fine-tune 在『真实』上就好」。**Fine-tuning 教 pattern 不教事实。你可以 fine-tune 模型模仿引用风格,但不能真的知道哪些引用是真的。要事实 grounding,必须 runtime retrieval。
「Prompt 加一句『不要幻觉』就好」。微幅有用。新训练的模型在被问时明显比较会说「我不确定」。但高风险决策不能只靠 prompt。
真的能降低幻觉的方法
四个有效缓解:
**RAG(Retrieval-Augmented Generation)。**Runtime 取相关文档、贴进 prompt、指示模型「只根据检索内容回答」。这是 AI 功能要事实 grounding 的业界标准。模型有对的文字在面前,幻觉大幅下降。
**引用与验证。**要求模型对任何事实声明引用来源,程序化检查所引来源。新版 Claude / GPT-5 / Gemini 在 research mode 都原生这样做。
**用工具拿事实。**不要问模型现在几点 — 给它 get_time 工具。不要问现在比特币价格 — 给它价格查询工具。任何事实有确定来源,把那个来源暴露成工具。
**拒答训练与不确定性。**新版模型明确被训练去识别自己不确定、然后说出来或问澄清问题。利用这个 — system prompt 可以鼓励「不确定就说」。
怎么跟残留幻觉共存
即便缓解都做齐,幻觉仍是 tail risk,不是已解问题。设计上要假设会有错。策略:
- 在错了最贵的点叠人类 review(合同最终稿、对外回复、会花钱的决策)。
- **显示来源。**User 能验证,幻觉被抓到不会扩散。
- **Log 跟审计。**追踪输出对 feedback,识别幻觉 pattern、修根因(prompt、retrieval、模型)。
- **不要承诺 100% 准确。**产品文案写「AI 有时会错 — 重要事实请验」是诚实又建立信任。承诺完美的文案会把一次幻觉变成一场官司。
幻觉什么时候 OK
一个有用的视角:幻觉重要程度 = 错了多贵。下面这几种情境比较不重要:
- 你在 brainstorm 想法(false positive 没关系,你会筛)
- 你要的是会大改的初稿
- 你拿 AI 找灵感,不是找事实
- 模型输出有「知道真相」的人在看
以下情境很重要:
- 输出直接给客户、监管、大众
- 输出驱动自动化决策(财务、医疗、法律)
- User 很难验证(他不知道对不对)
什么时候不要太执着于幻觉
如果你的 app 是创意写作、brainstorm、初稿生成,完美事实准确度不是重点。花工程力气把「写一首星期二的诗」幻觉率从 5% 压到 4%,是浪费。缓解力气放在错了会有代价的地方。
延伸阅读
- 什么是 RAG
- 什么是 LLM
- 什么是 tool use / function calling
- 防 prompt injection:2026 实际的护栏
- 怎么大规模 eval LLM 输出质量