大模型胡说八道怎么治?我试过的 7 种防幻觉方法
陈陈老师58 阅读
大模型编造事实是最让人头疼的问题。它可能一本正经地说出一个不存在的 API 或者假数据,如果不是专业领域,你根本发现不了。这篇记录我防幻觉的实战,按效果排序。
1. 检索增强(RAG)——最有效。让模型基于检索到的真实资料回答,而不是凭记忆。对事实类问题,能把幻觉率从 20% 降到 5% 以下。这是最值得投入的方向。注意:检索不到相关内容时,要明确告诉模型"资料库中没有相关内容",而不是让它自由发挥。
2. 要求模型标注不确定。在 prompt 里写:"如果你不确定或资料中找不到,明确说'我不确定',不要猜测。"实测能让模型更诚实,但偶尔还是忍不住编。
3. 引用来源。要求回答时附上资料来源(哪篇文档的哪一段)。当模型需要提供证据时,幻觉会显著减少——因为编造引用比编造内容更难。
4. 降低温度。温度从 0.7 降到 0.1,事实类任务的幻觉率能降一半。代价是回答变得机械,但防幻觉值得。
5. 自我检查。让模型先回答,再让(同一个或另一个)模型检查回答的合理性。实测能发现一部分明显的错误,但对"看起来合理的错误"无效,而且成本翻倍。
6. 置信度阈值。让模型同时输出置信度,低于阈值就拒绝回答或转人工。这个作为兜底有效,但模型对自己的置信度判断并不可靠,经常过度自信。
7. 事实核查工具。让 Agent 在回答事实类问题前,先调搜索或数据库工具核实。效果最好但最慢最贵,适合关键场景。
实测结论:单靠 prompt 约束,幻觉率只能降 20-30%;RAG + 引用来源 + 低温度组合,才能降到可接受水平。防幻觉的本质是"别让模型凭记忆回答",记忆不可靠,那就给它资料。
评论0
还没有评论,来抢沙发~