“大模型的幻觉(Hallucination)和漂移(Drift)”是当前 LLM(大语言模型)应用中两个非常核心但容易混淆的问题,本质上分别对应**“内容正确性问题”和“行为稳定性问题”**。
我直接给你拆清楚本质区别 + 机制 + 风险。
一、什么是幻觉(Hallucination)
定义
模型生成了“看起来合理但实际上错误或不存在”的内容。
👉 本质:模型在“编”而不是在“查”
典型表现
-
编造不存在的事实
“某论文发表于Nature 2023”(实际上没有)
-
虚构引用 / 数据
-
错误推理但语言流畅
-
自信地说错话(最危险)
为什么会产生幻觉
核心原因:
LLM不是检索系统,而是概率生成系统
它在做的是:
“在这个上下文下,最可能出现的下一句话是什么?”
而不是:
“这句话是真的还是假的?”
技术层原因
训练目标问题(Next Token Prediction)
→ 优先“像人说话”,不是“说真话”
知识压缩(参数化记忆)
→ 信息被压缩在权重里,不是数据库
缺乏事实校验机制
→ 没有内置“查证”
长尾知识缺失
→ 数据少 → 编造补全
幻觉的风险
-
法律/金融错误
-
医疗误导
-
商业决策错误
-
自动化系统失控(Agent)
二、什么是漂移(Drift)
定义
模型的输出或行为随时间、环境或上下文发生系统性偏移。
👉 本质:模型“不稳定”或“变了”
典型表现
1️⃣ 时间漂移(Model Drift)
同一个问题,不同时期回答不同
→ 原因:
-
模型版本更新
-
数据分布变化
2️⃣ 上下文漂移(Context Drift)
对话越长,回答越来越偏
例:
-
开始讨论A问题 → 后面逐渐跑偏到B
3️⃣ 指令漂移(Instruction Drift)
模型逐渐不遵守最初的指令
例:
-
一开始要求“只用英文” → 后面开始用中文
4️⃣ 分布漂移(Data Drift)
输入数据变化 → 模型效果下降
为什么会产生漂移
上下文窗口限制
→ 长对话中早期信息被“遗忘”
注意力机制稀释
→ 越往后越弱
模型更新(线上系统)
→ 不同版本行为不同
提示不稳定(Prompt Sensitivity)
→ 小变化 → 大结果差异
漂移的风险
-
产品行为不可控
-
用户体验不一致
-
自动流程(Agent)失效
-
评测结果不稳定
三、幻觉 vs 漂移(核心区别)
| 本质 | 内容错误 | 行为变化 |
| 关注点 | 真 vs 假 | 稳 vs 不稳 |
| 发生时机 | 单次回答 | 多轮/时间维度 |
| 表现 | 编造事实 | 偏离任务 |
| 风险 | 错误信息 | 不可控系统 |
四、一句话理解
-
幻觉 = 模型“胡说但很像真的”
-
漂移 = 模型“开始不按原来的方式说话”
五、工程上如何应对(关键)
针对幻觉
-
RAG(检索增强生成)
-
引入知识库
-
强制引用来源
-
结构化输出(JSON)
-
事实校验模型(Verifier)
针对漂移
-
Prompt 固化(system prompt)
-
会话截断 / 重置
-
状态机控制(Agent)
-
输出约束(schema)
-
版本锁定(model version pinning)
六、中文总结(用于校验逻辑)
大模型的幻觉是指模型生成看似合理但实际错误的信息,本质是概率生成而非事实检索问题;漂移是指模型在时间或上下文中行为发生偏移,本质是稳定性问题。幻觉影响内容真实性,漂移影响系统可控性,两者分别需要通过RAG和Prompt/系统设计来解决。




