外观
RAG 偶发检索为空如何排查?
3 分钟速学卡
30 秒口述: 我会先用 request_id 还原原始与改写 Query,再依次检查租户/ACL、元数据过滤、索引与 Embedding 版本、各通道候选数、分数分布与阈值、超时和降级,定位结果在哪一步从非零变成零。偶发问题优先怀疑条件分支、版本混用、撤权传播、索引新鲜度或超时,而不是直接调大 Top-k。先用关键词单路、旧索引或澄清提示止损,修复后用固定问题集和失败样本重放,并新增分阶段 Trace 与空召回分桶告警。
- 本质: 排查空召回的关键是沿 Trace 找到候选第一次从非零变成零的闸门。
- 核心机制: 先还原 Query、身份、过滤和版本;再看通道候选、阈值、超时和降级。
- 关键判断: 权限过滤不能为了有结果而放宽;修复需用失败样本和固定集共同回归。
- 项目落地: 故障演练:灰度节点使用新 Embedding 查询旧索引,只有命中该节点的请求空召回。先将流量切回同版本节点,随后增加索引与查询版本握手、灰度回放和版本混用告警。
- 边界与坑: “先把 Top-k 调大。” 候选为零时,扩大返回数没有意义;“降低阈值就行。” 可能掩盖版本、ACL 或索引问题,并引入低质证据。
目录
面试官为什么问
这道题考察生产排障顺序、证据意识、降级设计和防复发,而不是参数调优清单。
小白先看懂
仓库管理员偶尔说“没货”,可能是顾客报错商品名、门店权限不对、筛选了错误颜色、库存系统没同步、最低库存门槛过高,或查询超时。必须查看每一道闸门,而不是把仓库再扩大。
| 仓库闸门 | RAG 检查项 |
|---|---|
| 顾客报的名称 | 原始/改写 Query |
| 门店通行证 | 租户与 ACL |
| 颜色、日期筛选 | 元数据过滤 |
| 库存批次 | 索引/Embedding 版本 |
| 最低库存线 | 相似度阈值 |
| 查询未返回 | 超时与降级 |
专业机制是寻找“候选数首次归零”的阶段。类比边界是向量检索还有近似索引、分数漂移和多通道融合等复杂性。
主题教学图片
图:教学图片|RAG 偶发检索为空如何排查?
替代文本: 围绕“RAG 偶发检索为空如何排查?”组织的中文教学图,通过分区、箭头和标签解释核心机制。

读图结论: 用图中关系理解“RAG 偶发检索为空如何排查?”的机制与边界。
这张图片用于建立主题机制的直觉。精确公式、参数、失败分支和事实边界仍以正文与 Mermaid 为准。
图片生成记录: model=gpt-image-2,generated=2026-07-15,prompt_version=v1,reviewed=2026-07-16,review_basis=user-confirmed;查看生成 Prompt。
图:技术调用流程|空召回逐层定位决策树
替代文本: 从 Query 开始依次检查权限、过滤、版本、通道候选、阈值与超时,并在具体失败点执行对应止损和回归。
图表加载中…
读图结论: 空召回要寻找候选首次归零的闸门,每个闸门都应留下可解释 Trace。
安全过滤不可因空召回而随意放宽;只有业务非安全过滤可在明确策略下回退。一路超时应记录并走单路降级。
核心原理
最小 Trace 字段包括 request_id、原始/改写 Query、tenant_id、ACL 决策、filter、index_version、embedding_version、每路候选数、分数摘要、阈值前后数量、超时与降级原因。
“偶发”需要按时间、租户、Query 类型、版本和节点分桶,判断是数据条件还是服务不稳定。零结果与接口错误要分开统计。
项目和生产视角
故障演练: 灰度节点使用新 Embedding 查询旧索引,只有命中该节点的请求空召回。先将流量切回同版本节点,随后增加索引与查询版本握手、灰度回放和版本混用告警;这是演练场景。
修复验收要重放原失败样本与固定问题集,同时比较空召回率、Recall@K、P95 延迟和降级率,防止简单降阈值造成噪声激增。
常见错误回答
- “先把 Top-k 调大。” 候选为零时,扩大返回数没有意义。
- “降低阈值就行。” 可能掩盖版本、ACL 或索引问题,并引入低质证据。
- “权限过滤失败就临时关闭。” 会造成越权,安全过滤不得作为普通降级项。
递进追问
- 如何区分空召回与检索接口失败?
- 哪些过滤可以降级,哪些绝不能放宽?
- 如何发现 Embedding 与索引版本混用?
- 混合检索一路超时怎样保留服务?
- 修复后为什么不能只看空召回率下降?
关联阅读
总结
一句话记忆: 排查空召回的关键是沿 Trace 找到候选第一次从非零变成零的闸门。
- 先还原 Query、身份、过滤和版本;
- 再看通道候选、阈值、超时和降级;
- 权限过滤不能为了有结果而放宽;
- 修复需用失败样本和固定集共同回归。