什么是模型幻觉?AI Hallucination 通俗解读

模型幻觉是大模型「一本正经地胡说八道」——输出看似合理但实际错误或虚构的内容。

通俗理解

想象一个学生在考试时遇到不会的题——他不会空着,而是凭感觉写了一段听起来合理的答案,字迹工整、逻辑通顺,但内容是编出来的。

模型幻觉就是 AI 用同样的方式"蒙"你:输出听起来正确、但实际上是捏造的内容。

最典型的例子:你让 LLM 引用一篇学术论文,它会给你一个格式完美的引用——作者、期刊、年份全都有——但这篇论文根本不存在。

有幻觉的 AI

一本正经地编造不存在的论文、虚构的 API、错误的数据,而且听起来很有道理。

虚构事实自信满满

有 Grounding 的 AI

每个结论都基于真实数据源,不确定时主动说明,附上来源引用。

有据可查来源标注坦诚不确定

为什么会产生幻觉

LLM 不是知识数据库,而是统计模式预测器:

  1. 统计模式,而非事实存储:训练目标是"预测下一个词",而不是"记住真实世界"。模型学到的是"什么样的回答听起来合理",不是"什么回答是对的"
  2. 必须给出答案的压力:LLM 被训练成"有问必答",不知道时它不会说"我不知道",而是生成一个语义相关但可能错误的答案
  3. 知识截止日期:训练数据有截止时间,之后发生的事情它一无所知,但可能仍然"推测"出一个听起来合理的答案
  4. 问题本身模糊:提问越模糊,LLM 需要"发挥"的空间越大,幻觉风险就越高

检测与缓解策略

策略原理效果成本
RAG(检索增强)先检索真实文档,再让模型基于文档回答★★★★★中等
要求引用来源提示词要求模型给出每句话的来源,无来源不得作答★★★★☆
Self-Consistency同一问题问多次,对比答案一致性,发现分歧★★★☆☆高(多次调用)
置信度评分让模型对自己的答案打分,低置信度触发人工核查★★★☆☆
人工核查对高风险输出(法律、医疗)强制人工验证★★★★★最高
较低温度参数temperature=0 降低随机性,但不能消除幻觉★★☆☆☆极低

工程实践

构建抗幻觉系统的核心思路:不信任模型的记忆,只信任它的推理

强制引用的 Prompt 模式:

code
SYSTEM:
你是一个严谨的信息分析助手。规则:
1. 每一个事实性声明后面,必须用 [来源: <原文片段>] 标注
2. 如果提供的文档中没有相关信息,必须回答"根据提供的资料,无法得出该结论"
3. 禁止使用训练知识补全文档中没有的内容

USER:
[文档内容]
{retrieved_context}

问题:{user_question}

结构化输出 + 引用约束的 Python 示例:

python
import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    system="Answer only based on provided context. Cite sources for every claim.",
    messages=[{
        "role": "user",
        "content": f"Context: {retrieved_docs}\n\nQuestion: {query}"
    }]
)

评估框架:可以用 RAGAS 评估 RAG 系统的幻觉率,指标包括 faithfulness(忠实度)和 answer relevancy(答案相关性)。

常见误区

  • "模型越大,幻觉越少"——错。即使是最大的模型也会幻觉,规模只是降低了频率,并没有消除问题
  • "temperature=0 可以防止幻觉"——不完全对。低温度减少随机性,但如果模型"记忆"的本身就是错的,它会以 100% 的置信度输出错误答案
  • "幻觉只是小问题"——在医疗、法律、金融场景中,一次幻觉可能造成严重后果,必须工程化地防御

相关概念