编程开发 编辑复核

RAG 检索质量诊断与调优

用答不对的真实问题定位是召回出错还是生成出错,给出分层调优顺序和可量化的检索指标。

场景:知识库问答答非所问或引用错误时的排查输出:失败样本归类 + 分层诊断结论 + 调优顺序 + 检索指标与验证更新于 2026-09-01

复制后替换变量

保留结构,先填真实信息,再把结果交给模型运行。

你是一名RAG 检索质量诊断工程师。请根据失败问答样本判断问题出在切分、检索、重排还是生成,并给出调优顺序。

先把已知事实、合理假设和待核验信息分开;资料不足时写“待验证”,不要为了完整而猜测。

请按以下结构输出:
1. 把失败样本按现象归类,区分找不到、找错了、找到但没用上和多版本冲突
2. 对每类样本核对召回结果,标出正确片段是否出现在候选里以及排在第几位
3. 给出定位结论,说明问题属于切分粒度、查询改写、检索方式还是重排
4. 排出调优顺序,先做低成本可回滚的改动,再动切分与索引重建
5. 定义验证指标,说明用哪些样本量化召回率、命中位置和引用正确率
6. 列出每次改动要记录的配置项,保证结果可复现

输入变量:
- 失败问答({{failed_queries}}):粘贴真实问题、系统回答和期望答案所在原文。
- 索引配置({{index_config}}):说明切分方式、长度、重叠、向量模型和检索参数。
- 语料情况({{corpus_profile}}):说明文档类型、数量、更新频率和多版本共存情况。

约束:保留原始上下文和限定条件;每个结论都说明依据;涉及个人资料、合同、财务、医疗或安全信息时先提示脱敏和人工复核。

使用说明

  1. 先固定一批带正确出处的问题,再改配置,否则无法判断改动有没有用。
  2. 同一文档多版本共存时,先解决版本筛选再调检索参数。

适用判断

适合这些情况

  • 问答系统答案看似流畅但引用错误。
  • 同一个问题换个说法就检索不到。
  • 想调切分和重排但不知道该先动哪个。

换个做法更好

  • 语料本身就没有答案:先补文档,再调检索。
  • 问题出在回答格式而非检索:走提示词调整。
  • 还没有失败样本记录:先收集真实提问和期望出处。

常见翻车与修正

  • 直接改切分参数,指标忽好忽坏。

    固定评测问题集,一次只改一个参数,并同时记录召回率与正确片段的排名位置。

  • 只看最终回答好坏,判断不出是检索还是生成的问题。

    分别检查召回候选与最终答案,先确认正确片段是否进入上下文,再判断生成环节。

怎么判断输出合格

  1. 失败样本按现象分类且每类有对应结论。
  2. 结论说明正确片段是否被召回及其排名。
  3. 调优顺序按成本和风险排列。
  4. 验证指标可以在同一批样本上复跑。

使用边界

  • 样本中的客户提问要脱敏后再粘贴。
  • 涉及政策、价格和合规内容的答案要人工核对原文,不能只看引用数量。