大模型一本正经地胡说八道,是所有 AI 应用落地的头号障碍。幻觉无法根除——这是概率生成模型的固有属性——但可以通过工程手段把它压到业务可接受的范围。这篇聊三板斧:检索约束、输出校验、置信度管理。
第一板斧:检索增强,让模型有据可依
幻觉高发的场景是模型在编造它不知道的细节:产品参数、政策条文、内部数据。解法是让模型只基于检索到的资料回答(RAG 模式),并在提示词里明确约束:仅根据提供的资料回答,资料中没有的信息明确说不知道。
这个约束的实际效果取决于检索质量:检索没召回正确文档,模型照样编。所以 RAG 抗幻觉的本质是检索系统建设——切块、混合检索、重排序,每个环节都在为「把对的资料递到模型面前」服务。
第二板斧:输出校验,把幻觉挡在门外
对格式化输出(结构化数据、代码、数字),校验是最硬的防线。让模型输出 JSON,用 Schema 校验字段类型;涉及数字的结论,用代码重新计算核对;引用的文献,程序化验证出处存在性。
更进一步的方案是双模型交叉:让第二个模型扮演审查者,对照资料检查第一个模型的回答。成本翻倍但效果显著,适合高风险场景(法律、医疗、金融)做兜底。
还有一类实用技巧是证据绑定:要求模型每个关键论断后面附上资料编号,后处理时验证编号对应的资料里确实包含该论断。验证失败的段落自动降级为资料未支持、仅供参考。
第三板斧:置信度管理,让不知道就承认不知道
比起让模型永远正确,更现实的目标是让它知道自己什么时候不可靠。三个可操作的信号:一是模型自评置信度(让它在回答时标注确定程度,虽不完美但有参考价值);二是检索相似度分数(检索到的文档与问题的相关度低,说明知识库里可能没有答案);三是回答的确定性语言特征(大量模糊措辞、前后矛盾,往往意味着编造)。
把这些信号组合成路由策略:高置信直接答,中置信附带免责说明,低置信直接转人工或提示用户换个问法。用户体验不会因为「我不知道」变差,只会因为一本正经的错误变差。
一个认知前提
三板斧的每一条都在降低幻觉频率和危害,但没有一条能清零。立项时要做的第一件事是评估业务对错误的容忍度:写创意文案的容忍度高,医疗问答的容忍度为零。用容忍度决定架构投入,而不是反过来。