LLM 幻觉治理:从 Prompt 到 RAG 到评测
做 AI 面试产品时,用户最不能忍的就是面试官一本正经地胡说八道:编造候选人信息、乱给评价、发明不存在的岗位要求。幻觉是 LLM 的"天性",治理幻觉是系统工程——不是一句 Prompt 能解决的。
一、先理解幻觉从哪来
LLM 是"下一个 token 预测器",它天生会:
- 编造:不知道就"合理猜测"(知识截止后的事件、私有数据)
- 自信:编得还很像真的(流畅 = 可信的错觉)
- 跟随:上下文诱导(用户说"我记得你之前说…",模型顺着编)
治理目标不是"零幻觉"(做不到),是"幻觉不落地":错误信息到不了用户手里,或者用户能识别。
二、四层治理体系
第 1 层:Prompt 约束(最便宜,但最弱)
|
|
效果有限但必要:能降低"主动编造"倾向,拦不住"自信地猜"。
第 2 层:RAG 兜底(给模型"事实源")
幻觉的根源之一是"没有依据"——把事实源喂给它:
关键:RAG 不是"增强",是事实约束——模型的答案必须能从检索结果里找到出处。
第 3 层:引用强制(让幻觉"现形")
|
|
原理:要求模型给来源,等于强制它"检查一遍自己说的有没有依据"——无法标来源的,模型会倾向于不输出(引用约束是幻觉治理性价比最高的手段)。
|
|
第 4 层:评测闭环(量化 + 防回退)
没有评测,幻觉治理就是玄学。建评测集:
每次改动(Prompt/RAG/模型)跑一遍评测集,幻觉率上升就回滚。
三、AI 面试的实战设计
面试产品最容易幻觉的两个点:候选人数据 和 岗位要求。
数据层:全部走 RAG + 权限
流程层:三层 Prompt + 状态机(前文讲过)
- System 强规则:“禁止臆测候选人能力”
- User 每轮注入:“当前是第 3 题,基于简历中的 XX 段提问”
- Assistant 预填:“基于简历中『3 年 Go 后端』经历,接下来问…”
输出层:结构化 + 校验
|
|
四、效果数据
| 指标 | 治理前 | 治理后 |
|---|---|---|
| 编造候选人信息 | 偶发 | 0(引用强制 + 数据校验) |
| 流程越级 | 20% | 0% |
| 无依据自信回答 | 常见 | 降为 0(必须标来源) |
| 用户投诉"面试官乱说" | 周均 3+ | 0 |
五、避坑清单
总结
幻觉治理的完整认知:
- 四层体系:Prompt(弱)→ RAG(事实源)→ 引用强制(现形)→ 评测(闭环)
- 核心矛盾:LLM 天然会编,治理不是消灭它,是让编的到不了用户手里
- 引用强制 + 评测闭环是性价比最高的两板斧
- 幻觉率目标设 <1%,别设 0%(代价是过度保守)
治理幻觉的终点不是"模型不撒谎",是"撒谎的代价系统可见"。 有来源、可校验、能评测——谎言就失去了生存空间。