RAG 系统回答不正确时,如何排查?

考查重点:答案失败的证据链归因。原文是否有证据、解析索引是否保留、召回排序是否进入上下文、模型是否忠实逐段核首次失误

本题目录

参考答案

核心回答

先沿证据链定位第一次出错的位置,再改对应环节。 不能看到回答不对,就同时更换模型、改提示词和扩大召回数量。

排查分四层:原始知识是否足够且有效;解析、切分和索引是否保留了正确证据;检索、重排和上下文组装是否把它送给模型;模型是否正确使用证据并生成最终回答。固定失败问题和各阶段输入输出,找到断点后做局部对照,最后用回归集验证修复有没有引入新问题。

先保存能够复现问题的材料

保留原问题、必要会话历史、用户可访问范围,以及当时的文档、索引、模型和提示词版本。还要保存:

  • 实际用于检索的查询,包括改写后的内容。
  • 候选片段的正文、文档与片段标识、元数据、分数和排序。
  • 最终发给生成模型的完整上下文,以及模型原始输出。
  • 生成后解析、格式转换和页面展示的结果。

检索接口返回的片段,不等于最终送入模型的片段。 中间可能经过过滤、重排、去重、合并和长度截断,只看最终答案或向量库中的原文,无法区分这些环节。

按断点检查,而不是盲目调参数

发现的现象 优先检查 对应验证
原文没有答案,或只有过期答案 知识覆盖、版本、适用范围和问题是否可答 对照权威原文,明确缺口;无依据时应澄清或说明无法判断
原文有答案,但索引片段缺失 文档处理状态、解析、表格/OCR、切分边界与增量索引 对照原页与实际片段,确认关键条件、单位和例外是否保留
片段在索引中,但没进入候选池 查询改写、术语/型号匹配、过滤条件、Embedding 模型与索引版本、检索方式 在相同权限和版本范围内,比较关键词、向量和混合召回
候选池有正确片段,但没进入最终上下文 重排、融合、去重、阈值和上下文预算 跟踪片段标识,检查它在哪一步被删除、排后或截断
正确证据已进入上下文,答案仍错 条件理解、冲突版本、提示词、模型和输出处理 用少量充分证据做局部对照,再区分生成错误与解析/展示错误

例如,用户问设备 A 的复位步骤,系统引用了设备 B 的手册。先检查文档元数据、型号过滤和实际检索查询,而不是先调生成参数。如果 A 的正确段落已经召回,但重排时被截断,就应修复排序输入或上下文组装。只有正确的完整段落确实进入模型输入后,才进一步检查模型为何忽略型号、步骤或前置条件。

文档上传成功也不代表已经完成解析和索引。应查看实际处理状态,再验证目标片段能否检索到。修正切片或重建索引后,也要确认查询使用的是更新后的版本。

用局部对照确认原因

可以固定生成模型与提示词,临时用人工确认的正确证据替换检索结果。如果回答明显恢复,说明问题更可能在证据供给链路;但这一结果还不能证明是某个检索参数造成的,需要继续拆分解析、召回、排序与组装阶段。

反过来,固定同一组正确上下文,比较提示词、模型或输出处理,可以判断生成侧的影响。每次只验证一个明确假设,并保存对照条件;单个问题恢复后,再在同类问题和留出问题上检查,避免只修好这一种问法。

增大 Top-K 不一定改善结果:它可能补齐证据,也可能增加噪声、引入冲突版本,或让关键段落在输入截断时丢失。应同时观察证据覆盖、答案质量、延迟和成本。

分开评估检索与生成

检索侧检查必要证据是否找全、排名和最终上下文是否合适;生成侧检查回答是否回应问题、关键结论是否由上下文支持,以及在业务事实上是否正确。

这几个判断不能互相替代:相似度高不代表片段能回答问题;回答忠实于过期文档,也不代表现实中正确。模型裁判可辅助批量分类,但重要样本仍需对照原文和人工标注校准。

把已确认的失败输入、期望证据和判定条件加入回归集,同时保留原本正确的问题。修复后不仅看答案是否变对,还要看拒答、权限过滤、其他型号和版本是否受影响。

对应教程

参考资料

  • 国内:JavaGuide:RAG 优化:借鉴先检查候选池、排序和最终上下文的排查顺序,并将检索指标与生成指标分开。
  • 国内:阿里云百炼:RAG 效果优化:根据其中解析、切片、元数据、重排和模型理解的分类,解释不同断点应查什么;不把页面中的起步样本数或阈值当作通用最优值。
  • 国内:Datawhale:记忆与检索:参考查询扩展与真实文档检索的分工,说明词语和表述差异可能造成漏召回,改写仍需保留原意。
  • 国内:腾讯云:RAG 操作指南:用于解释文档提交、解析、拆分和索引完成是不同阶段,排查时应确认处理状态及实际可检索内容。
  • 国外:LangChain:Evaluate a RAG application:核对回答正确性、回答相关性、上下文忠实度和检索相关性的不同比较对象。
  • 国外:Microsoft:Retrieval augmented generation and indexing:参考检索不足、输入预算和有依据仍可能答错的限制,说明为什么接入检索不等于结果正确。

相关面经

9 篇

公司未注明

面经合集
查看原面经 →
RAG 召回率或准确率低时,如何逐层排查与优化?(6篇)

小天才

AI 应用工程师(穿戴)
校招秋招一面
查看原面经 →
RAG 效果不好怎么排查?

阿里巴巴

AI 应用研发工程师
校招秋招一面
查看原面经 →
RAG召回高但答案不准,怎么排查

蚂蚁集团

面经合集
查看原面经 →
追问
检索效果不好的话,如何排查和优化

汇川技术

全栈开发
秋招一面
查看原面经 →
项目追问
对于RAG系统的问答效果不对,你是怎么排查的?
展开剩余 4 篇面经

阿里巴巴(淘天)

Agent 开发
社招一面
查看原面经 →
文档还是 RAG怎么选,假如文档更新,怎么划分段落? 错误召回怎么反馈

公司未注明

后端开发
查看原面经 →
详细说下RAG的完整流程,以及召回不准、问答跑偏怎么优化?

网易

AI 应用开发工程师
查看原面经 →
RAG检索内容不相关和答案幻觉问题,从哪些维度优化?

蚂蚁集团

Agent 应用开发工程师
暑期一面、二面、三面
查看原面经 →
比如你的RAG系统大模型回答有错如何排查

收录题集

6 个来源,共13 份题集
展开剩余 8 份题集

相关题目

4 题