RAG 系统从检索到生成是一条级联管线——前一个环节的输出是后一个的输入。任何一个环节出问题,错误会逐级放大。了解失败模式才能精准定位问题根源。
RAG失败的两大阶段
RAG 的失败模式分成两大阶段,一共七种典型故障。检索阶段有四种,生成阶段有三种。先分清阶段,再定位问题,这是排查的第一步。
检索阶段的四种故障,本质都是「该找到的没找到」。第一种是内容缺失——知识库里根本没有用户问的答案。检索器再强也找不到不存在的内容。
第二种是查询不匹配——用户用的词和文档用的词不一样(如同义词、行业术语),导致 Embedding 编码后相似度低。比如用户问「如何退款」,文档里写的是「退货流程」,语义匹配不上。
第三种是 Top-N 未命中——正确答案在知识库中存在,但排名靠后没进入 Top-N 返回列表,被其他「看似相似」的文档挤掉了。
第四种是上下文截断——检索到的正确文档排在第 N+1 位,因窗口限制被截断丢弃,导致关键信息丢失。
生成阶段的三种故障,本质都是「找到了却没用好」。第一种是幻觉编造——模型在上下文中找不到充分依据时,会「补全」看似合理但事实错误的内容。表现是回答自信满满,但与文档矛盾。
第二种是上下文整合失败——检索到了正确的多条文档,但模型未能将它们有效整合,只用了其中一部分或理解出错。
第三种是矛盾信息处理不当——检索到的文档之间存在矛盾(如新旧制度冲突),模型随机选择或混淆,导致输出不可靠。