面试题 07:如何有效缓解大模型的幻觉问题?
一、 什么是大模型的“幻觉”?
定义:幻觉是指大语言模型生成了看似连贯、合理,但实际上违背客观事实、捏造数据、或与用户提供的上下文相矛盾的内容。
底层原因:大模型的本质是一个“基于概率的下一个词预测器(Next-token Predictor)”,它并没有真正的“逻辑思考”或“事实查证”能力。它不是在查数据库,而是在根据训练语料的概率分布进行“合理推测”。当它遇到知识盲区时,为了完成生成任务,就会用概率最高的词汇进行“填补”,从而产生幻觉。
二、 缓解幻觉的三大核心工程手段
在企业级落地应用中,我们通常采用以下三种手段(或组合)来控制幻觉:

1. RAG(检索增强生成)—— 提供事实锚点
这是目前工业界解决幻觉最主流、最有效的手段。
- 原理:将“闭卷考试”变为“开卷考试”。模型不再依赖自身参数中模糊的记忆,而是依赖外部提供的准确信息。
- 做法:
- 用户提问后,先在企业私有向量数据库中检索出最相关的文档片段(Chunks)。
- 将这些文档片段作为上下文(Context)拼接在 Prompt 中。
- 强制要求模型:“请严格基于以下提供的文档回答问题,严禁引入外部知识。”
2. Prompt 约束与参数调优 —— 戴上紧箍咒
通过系统级的指令和底层参数,掐断模型的发散性思维。
参数调优:
将
Temperature(温度)设置为0或0.1。将
Top-P调低。这会让模型每次都选择概率绝对最高的词,消除随机性,使其变得极其保守和确定。
负向 Prompt 约束(Negative Prompting):
明确告知模型不知道时的行为:“如果在提供的上下文中找不到答案,请直接回答‘抱歉,资料中未提及’,严禁自行捏造或推断。”
要求模型提供引用:“请在回答的每一句话后面,标注引用了上下文中哪一段落的内容。”(Citation 机制)。
3. 多智能体交叉验证(Multi-Agent Verification / CoVe)
不要相信单个模型的第一次输出,引入“自我反思”或“第三方裁判”机制。
自我反思(Self-Correction):模型生成答案后,再发一个 Prompt 给它自己:“请仔细检查你刚才生成的答案,对比原始文档,指出其中是否有捏造的事实,并重新输出修正后的版本。”
LLM-as-a-Judge(裁判模型):
使用一个专门的、能力更强的模型(如 GPT-4)作为 Reviewer。
Generator 模型生成结果后,Reviewer 模型负责核对:提取答案中的所有实体(人名、数据、时间),去原文中一一比对。如果发现原文没有的实体,直接拦截并要求 Generator 重写。
三、 面试高分答题策略(💡 划重点)
- 明确幻觉的本质:在回答开头,一定要向面试官点明:“幻觉不是 Bug,而是大模型的 Feature。幻觉的另一面就是创造力。”这能体现你对底层原理的深刻认知。
- 强调业务容忍度:
- “在实际工程中,我们无法 100% 消灭幻觉。”
- “我们的策略是根据业务场景进行取舍。如果是写营销文案,我们会放宽限制,允许一定的幻觉以换取创意;如果是做医疗问答或财务分析,我们会把 Temperature 设为 0,上 RAG,并加上严格的交叉验证,宁可让它回答‘不知道’,也绝不允许它瞎编。”
- 落地经验:如果你在简历里写了相关项目,一定要结合项目说:“在我们的 XX 项目中,主要通过 RAG 加上严格的 System Prompt 负向约束,将幻觉率从 30% 压低到了 5% 以内,达到了业务上线的标准。”