面试知识库
进阶

大模型幻觉与缓解#

一句话答案#

LLM 幻觉指生成看似合理但不真实的内容,缓解方案:RAG 提供事实依据、提示约束、降低温度、自我验证。

核心要点

缓解方案:

  1. RAG:用检索的事实作为生成依据
  2. 提示工程:要求引用来源/“不确定就说不知道”
  3. 温度调低:减少随机性
  4. 自我验证:让模型反思检查自己的输出
  5. 人工审核:关键场景加人工环节
面试回答(2分钟版)

大模型幻觉是指模型生成的内容看起来流畅合理,但实际与事实不符。本质原因是LLM的生成机制是基于概率预测下一个token,它在”编”而不是在”查”,所以会自信地输出错误信息。缓解幻觉我总结为五个层次:第一是RAG检索增强,让模型基于检索到的真实文档生成回答,相当于把闭卷考试变成开卷考试,这是最有效的手段;第二是Prompt工程约束,在提示词中明确要求模型引用来源,不确定的时候说不知道,从指令层面限制编造行为;第三是降低温度参数,减少生成的随机性,让输出更保守更确定;第四是自我验证,让模型对自己的输出做反思检查,或者用另一个模型做交叉验证;第五是在关键业务场景加人工审核兜底。实际项目中这几种方法通常组合使用,比如我们的RAG系统同时用了检索增强加Prompt约束加低温度,幻觉率从裸模型的百分之三十多降到了百分之五以下(这里的幻觉率是按抽样人工核查的粗口径估算,与项目实测的 Faithfulness 0.812→0.849 是两套不同指标)。

追问与易错

追问方向:

  • 你们项目的幻觉率是多少?怎么测量的? → DocMind Faithfulness 0.849(LLM-as-Judge 评分),用 52 query 测试集 × 3 轮取均值。从 0.812 提升到 0.849 靠 Self-Reflection 四维评分
  • RAG 系统也会产生幻觉吗?什么情况下会? → 会。检索质量差时 LLM 基于错误/不相关的文档”编”得更像。检索分数低于阈值时应该拒答而非强行生成
  • 幻觉检测有哪些工程手段?线上怎么实时检测? → 四层:引用验证(生成内容能否回溯到原文)+ 置信度阈值(低分拒答)+ LLM 自检(让模型反思”是否基于给定上下文”)+ 关键事实规则校验(数字/日期/人名)
  • 降低温度就能解决幻觉吗?为什么? → 不能。温度只控制随机性,不解决知识缺失。低温时模型可能更”自信地”输出错误内容。根本解决靠 RAG 提供事实依据 + 置信度分流

易错点:

  • ❌ 认为用了 RAG 就没有幻觉 → 检索质量差时 RAG 照样幻觉,甚至会基于错误的检索结果”编”得更像
  • ❌ 只靠降低温度解决幻觉 → 温度只控制随机性,不解决知识缺失问题,低温时模型可能更”自信地”输出错误内容
  • ❌ 幻觉检测只靠人工 → 需要自动化检测管线:引用验证 + 置信度阈值 + LLM 自检 + 关键事实规则校验

项目实践(DocMind): Faithfulness 从 0.812 提升到 0.849(+0.037),通过 Self-Reflection 四维评分(事实一致性/完整性/引用准确性/表达质量)。70% 高分查询直接短路跳过反思(rerank top1 ≥ 0.85 且候选 ≥ 3),30% 低分查询用 qwen-turbo 做轻量反思,反思成本降到原来的 1/8。三档置信度分流:HIGH(绿色,≥0.85)/ MEDIUM(黄色)/ LOW(红色,附”仅供参考”声明)。