线上 RAG 应用最典型的故障不是报错,而是"答非所问":系统正常返回了内容,但与用户问题无关。这类问题很难靠看最终答案定位,必须回到检索链路逐层验证。下面给出一条可执行的排查路径(属工程经验总结,具体参数取值与组件行为需以所用组件的官方文档为准)。\n\n一、先统一判断标准,把"不相关"变成可复现样本\n排查前先把一次失败请求还原成固定四元组:原始问题、实际送入检索器的查询文本、召回文档 ID 及得分、最终拼进提示词的片段。同时把问题分类:召回列表里根本没有包含答案的文档(召回问题);答案文档在列表里但排在后面(排序问题);答案片段已进入提示词而模型仍未答对(生成问题)。三类问题的排查方向完全不同,混在一起调参只会左右摇摆。\n\n二、查询改写环节\n常见失效有三种:改写过程丢掉了关键实体或把专有名词换成近义表达,导致查询向量偏离主题;多轮对话中错误继承上一轮指代,把"它"解析成了错误的实体;把短问题扩写成一段长指令,使查询向量落到"任务意图"而非"内容主题"区域。验证方法是把改写前后文本分别送入同一嵌入模型,比较与已知正确文档的相似度排序是否发生变化;若改写后排序变差,先关闭改写做对照实验,再决定保留哪些改写策略。\n\n三、向量化环节\n第一,检查嵌入模型的输入长度限制与截断行为。超长文本会被截断,截断点之后的语义完全丢失。做法是统计送入嵌入接口的文本长度分布,若大量样本堆积在模型上限附近,基本可确认存在截断。\n第二,确认索引侧与查询侧使用同一模型、同一版本、同一归一化方式。两侧模型不一致会系统性拉低相似度,表现为所有查询的分数都偏低且区分度差。\n第三,检查查询是否被附加了与文档侧不一致的预处理:大小写、全半角、去停用词,或只在一侧添加的指令前缀。这类不对称处理不会报错,但会稳定地劣化召回。\n\n四、召回与过滤环节\n分数阈值:向量检索的相似度分数量纲取决于度量方式(内积、余弦或欧氏距离),跨模型、跨版本不可直接比较。阈值应由标注样本的分数分布确定。若所有查询的得分都集中在很窄的区间,说明阈值实际没有起到区分作用。\n元数据过滤:时间范围、租户、权限、状态等过滤条件写错时,正确文档会被直接排除,外在表现就是"召回了,但都不相关"。检查过滤前后候选数量,若过滤后骤减,先核对过滤字段与取值。\ntop-k:k 过小会漏召,k 过大则把噪声全部交给重排序,超出重排序处理能力的部分会被丢弃。注意是否所有请求都使用同一个 k,没有按问题类型区分。\n分块策略:块过大,一个块里混合多个主题,向量被稀释,块与问题的相似度整体下降;块过小,答案被切断,语义不完整。对比不同分块粒度下的召回排序,重点看块边界是否切断了表格、代码、条款编号这类结构化内容。\n\n五、重排序环节\n重排失效的典型信号是:重排后的顺序与向量召回的初始顺序高度一致,而初始顺序本身是错的——这说明重排没有真正参与排序,常见原因包括候选列表未正确传入、重排模型对长候选发生了截断、重排分数未写回排序结果。排查时对比重排前后的文档顺序变化,若几乎不变,就应先验证重排环节的输入输出是否完整。\n\n六、上下文拼接环节\n召回了正确文档但答案仍不对,问题常出在拼接:按分数排序后顺序放反,低分片段占用了靠前位置;总长度超限,导致后面的片段被静默丢弃;片段缺少标题、来源或章节标识,生成模型无法判断内容归属;多个文档互相冲突时没有指定优先级。建议记录最终进入提示词的片段 ID 与各自长度,确认关键片段没有被截断掉。\n\n七、最小日志埋点集合\n每条请求至少记录:改写前后查询、嵌入模型与版本、召回 top-k 列表及分数、过滤前后候选数、重排前后顺序、最终进入提示词的片段 ID 与长度、生成答案。有了这些字段,"不相关"才能被定位到具体一层,而不是停留在主观评价。\n\n八、推荐的排查顺序\n从后往前推进:先确认进入提示词的片段中是否包含答案,若包含则问题在生成侧或提示词组织;若不包含,检查重排前后是否出现过正确文档,出现过则定位到重排序;若召回阶段就没有,回到向量化与查询改写;若正确文档存在但分数贴着阈值被滤掉,则调整阈值与分块策略。每一步都用固定样本集验证,避免一次改动多个变量导致结论不可归因。
RAG 检索结果不相关时的检索链路排查路径
原创
1小时前
4
评论 0
暂无评论,来说两句吧
精选推荐
1
Anthropic向Linux基金会新Agentic AI Foundation捐赠MCP
255
2
DeepSeek API 401 排查:密钥与请求头配置检查清单
251
3
Constitutional AI:用自我批评与 AI 反馈训练无害且非回避助手
234
4
RAG 知识库分块参数怎么调:粒度、重叠与验证方法
230
5
向量检索延迟优化:索引结构、量化与查询参数调优
218
6
Claude Opus 4.5 发布:编程与 Agent 旗舰能力,定价更低
211
7
AI编程工具接入CI流水线的集成点选择与稳定性验证清单
209
8
TypeScript AI 工具库:从 vercel/ai 看多模型接入与 Agent 构建
207
9
Spring Boot 应用接入 Spring AI:迁移核对项与配置边界
206
10
RAG 检索召回率低:分块与嵌入调用的工程排查
203
11
vercel/ai AI SDK:多 Provider 接入与 Agent 工程分析
201
12
从传统RAG到Agentic RAG:面向业务约束的RAG架构选型判断框架
199
13
DeepSeek 迁移 OpenAI:兼容适配层设计与验证清单
198
14
AI编程工具怎么选:四类形态边界与核验清单
192
15
RAG 入门:用向量库和嵌入模型搭最小检索链路
184
16
从 vercel/ai README 看 TypeScript AI Agent 的工具链结构
181
17
Perplexity 用 Astra 改软件与监控生产:人工检查减少的前提
178
18
Copilot 自动模型选择三档:成本、质量、响应时间如何权衡
177
19
Anthropic B轮融资5.8亿美元:投向大规模模型安全研究设施
175
20
企业RAG选型:传统、Graph与Agentic能力边界检查
172