RAG 系统为什么效果不稳:先排查检索链路再谈生成

很多人做 RAG 时,最先盯着的是模型回答得准不准。但实际项目里,RAG 效果不稳的时候,问题往往不在“生成”这半段,而在“检索”前面就已经歪了。
用户觉得回答不靠谱,常见现象通常有:
- 明明知识库里有内容,却没检出来
- 检出来的片段很多,但和问题不贴
- 回答看着流畅,实际上引用错了上下文
- 同一个问题多问几次,答案风格和依据飘得很厉害
这些问题如果只从 prompt 或模型温度去修,通常治标不治本。
第一步先分清楚:是没检到,还是检到了没用上
RAG 排查最关键的一步,是先把问题拆成两层:
- 检索是否正确
- 生成是否正确利用了检索结果
很多人把两层混在一起看,结果会非常难定位。其实只要把检索结果单独拿出来,你很快就能知道问题发生在哪一段。
如果检索内容本身已经不对,那后面生成再强也救不回来。
切块策略是最容易被低估的一环
知识文档切块如果做得太粗,模型拿到的信息块会太大,噪声很多;切得太碎,又会让上下文断裂,重要信息被拆开。
这一步最常见的问题包括:
- 按固定长度机械切分
- 不考虑标题和段落边界
- 代码、表格、说明文混切
- 上下文延续信息没保留
RAG 的很多“回答不稳”,其实从切块那一刻就埋下来了。
向量检索不是加上就万事大吉
不少系统一接入向量库,就默认检索问题已经解决了。实际中,向量检索也很容易出现偏差,尤其是在:
- 问题很短
- 用户说法和文档表达不一致
- 文档中概念很相近
- 需要时间、版本、状态等结构化条件过滤
这时候只靠相似度,往往不够。
更稳的做法通常是把:
- 关键词召回
- 向量召回
- 元数据过滤
一起组合起来,而不是单押一种方式。
重排这一步经常决定上限
很多系统召回了十几条片段,就直接把前几条喂给模型。问题是召回不等于排序正确。
如果没有重排,真正最相关的内容可能排在后面,模型最终吃到的上下文就不够准。
所以在中小项目里,哪怕先不上很复杂的架构,至少也值得考虑:
- 对召回结果做相关性重排
- 按问题意图重新排序
- 控制进入生成阶段的上下文数量
不然文档越多,噪声越大,效果反而更不稳。
很多问题其实不是“模型幻觉”,而是证据不完整
用户看到答错,第一反应常常是“模型幻觉了”。但在 RAG 里,更常见的情况其实是:
- 检索片段不完整
- 关键约束没被召回
- 引用片段互相矛盾
- 历史版本和当前版本混在一起
这种情况下,模型不是完全凭空乱说,而是在不完整证据上做了看似合理的拼接。
所以提升 RAG 稳定性,很多时候优先级应该是“提升证据质量”,而不是一味压模型自由度。
元数据设计会直接影响可控性
如果文档入库时没有带好元数据,后面排查和过滤会很难做。
比较有价值的元数据通常包括:
- 文档来源
- 更新时间
- 业务分类
- 产品版本
- 权限范围
一旦这些信息缺失,系统就很难在检索阶段把“旧文档”和“当前文档”、“公开文档”和“内部文档”分清楚。
一个更实用的排查顺序
如果你的 RAG 回答不稳,我更建议按这个顺序查:
- 先看原始问题
- 再看召回的片段是不是对
- 再看排序是不是合理
- 再看送进模型的上下文是不是太多或太杂
- 最后才去调 prompt 和生成参数
这样你能更快判断问题到底在数据、检索还是生成层。
中小项目先把哪几步做好最划算
如果资源有限,我更建议优先补这几件事:
- 合理切块
- 召回结果可观测
- 基础重排
- 文档元数据过滤
- 回答里保留引用依据
只要这几步做稳,RAG 系统的可靠性通常就会比“只接一个向量库 + 直接问模型”高很多。
结语
RAG 效果不稳,很多时候不是因为模型不够强,而是检索链路本身没有梳顺。只要先把切块、召回、重排和上下文质量这几个环节看清楚,再去谈生成,系统效果才更容易稳定下来。
对个人知识库和中小型应用来说,这一步往往比盲目换模型更值。


钱哆哆♥官方正规流量卡♥1 个月前
生死门虽繁星灿烂,但活着的人才是最重要。
钱哆哆♥官方正规流量卡♥1 个月前
《技术博客图文文章怎么做得不单一:封面、结构图与场景插图的组合方法》已更新:技术博客图文文章怎么做得不单一:封面、结构图与场景插图的组合方法 很多技术博客的正文其实不差,问题常常出在视觉层太单一。首页列表里大家都只有一张封面,点进去以后又是一大段连续文字,读者很难在几秒钟内判断这篇文章到底值不值得继续看。内容本身也许很扎实,但呈现方式没有把价值推出来。…
钱哆哆♥官方正规流量卡♥1 个月前
《技术博客图文文章怎么做得不单一:封面、结构图与场景插图的组合方法》已更新:技术博客图文文章怎么做得不单一:封面、结构图与场景插图的组合方法 很多技术博客的正文其实不差,问题常常出在视觉层太单一。首页列表里大家都只有一张封面,点进去以后又是一大段连续文字,读者很难在几秒钟内判断这篇文章到底值不值得继续看。内容本身也许很扎实,但呈现方式没有把价值推出来。…
钱哆哆♥官方正规流量卡♥1 个月前
《技术博客图文文章怎么做得不单一:封面、结构图与场景插图的组合方法》已更新:技术博客图文文章怎么做得不单一:封面、结构图与场景插图的组合方法 很多技术博客的正文其实不差,问题常常出在视觉层太单一。首页列表里大家都只有一张封面,点进去以后又是一大段连续文字,读者很难在几秒钟内判断这篇文章到底值不值得继续看。内容本身也许很扎实,但呈现方式没有把价值推出来。…
钱哆哆♥官方正规流量卡♥1 个月前
你和学霸的区别就是,你所有的灵光一闪,都是他的基本题型。