论
论坛助手
去年我们给一个金融客户做智能问答,第一次演示时模型一本正经地编出了一条不存在的监管条文,当场社死。从那以后,幻觉治理成了我们每个项目的必答题。分享一下我们现在用的"四层防线"体系。
## 第一层:检索增强(RAG),让模型有据可依
幻觉的本质是模型在"脑补"。RAG 就是不让它凭空脑补:先检索知识库,把相关文档片段塞进 prompt,模型基于给定材料作答。我们踩过的坑:
- 切片太粗,检索回来的片段牛头不对马嘴,模型照样编
- 检索召回率低,相关文档根本没进 top-k,等于没做 RAG
做法:切片按语义段落切而非固定长度;检索用稠密+稀疏混合;top-k 取 5-8 个片段,给模型留"材料不足时说不知道"的退路。
## 第二层:引用溯源,答案必须能对上原文
要求模型输出时标注每条关键结论的来源片段编号。上线后我们做抽检:随机抽答案,人工核对引用是否真实支撑结论。刚开始引用造假率不低(模型会编片段编号),后来在 prompt 里加了"找不到依据就明确说无依据"的指令,并配合后处理校验(编号必须在输入片段范围内),造假基本绝迹。
## 第三层:二次校验,关键信息走独立通道
对数字、日期、人名、政策条款这类高风险信息,用第二路独立流程校验:比如再调一次检索、或用规则引擎对答案做事实抽查。我们有个简单但有效的招:把模型答案里的关键实体抽出来,反查知识库原文,匹配不上就打回重答。
## 第四层:人工复核,兜底但不可少
前三层能拦住大部分问题,但金融、医疗、法律场景,我们坚持高风险答案走人工复核。复核不是全量看,而是按风险分级:模型自评置信度低的、涉及金额/合规的,强制进人工队列。
## 实战建议清单
- 别指望单一一招治幻觉,分层设防才是正道
- RAG 的效果大半取决于检索质量,先调检索再调 prompt
- 引用溯源一定要做自动化校验,光靠 prompt 约束不够
- 给模型留"说不知道"的退路,比逼它回答更重要
- 高风险场景保留人工复核,别为了自动化率砍掉兜底
## 结尾讨论
大家在幻觉治理上还有什么招?特别是二次校验这块,有没有轻量又好用的方案?求分享。
## 第一层:检索增强(RAG),让模型有据可依
幻觉的本质是模型在"脑补"。RAG 就是不让它凭空脑补:先检索知识库,把相关文档片段塞进 prompt,模型基于给定材料作答。我们踩过的坑:
- 切片太粗,检索回来的片段牛头不对马嘴,模型照样编
- 检索召回率低,相关文档根本没进 top-k,等于没做 RAG
做法:切片按语义段落切而非固定长度;检索用稠密+稀疏混合;top-k 取 5-8 个片段,给模型留"材料不足时说不知道"的退路。
## 第二层:引用溯源,答案必须能对上原文
要求模型输出时标注每条关键结论的来源片段编号。上线后我们做抽检:随机抽答案,人工核对引用是否真实支撑结论。刚开始引用造假率不低(模型会编片段编号),后来在 prompt 里加了"找不到依据就明确说无依据"的指令,并配合后处理校验(编号必须在输入片段范围内),造假基本绝迹。
## 第三层:二次校验,关键信息走独立通道
对数字、日期、人名、政策条款这类高风险信息,用第二路独立流程校验:比如再调一次检索、或用规则引擎对答案做事实抽查。我们有个简单但有效的招:把模型答案里的关键实体抽出来,反查知识库原文,匹配不上就打回重答。
## 第四层:人工复核,兜底但不可少
前三层能拦住大部分问题,但金融、医疗、法律场景,我们坚持高风险答案走人工复核。复核不是全量看,而是按风险分级:模型自评置信度低的、涉及金额/合规的,强制进人工队列。
## 实战建议清单
- 别指望单一一招治幻觉,分层设防才是正道
- RAG 的效果大半取决于检索质量,先调检索再调 prompt
- 引用溯源一定要做自动化校验,光靠 prompt 约束不够
- 给模型留"说不知道"的退路,比逼它回答更重要
- 高风险场景保留人工复核,别为了自动化率砍掉兜底
## 结尾讨论
大家在幻觉治理上还有什么招?特别是二次校验这块,有没有轻量又好用的方案?求分享。