RAGAI Engineering

生产环境 RAG: 检索为何失败, 又该如何修复

生产环境中大多数 RAG 失败都发生在检索阶段。本指南覆盖切片设计、混合检索、重排序以及 RAGAS 指标, 帮助你在 2026 年构建可上线的 RAG 流水线。

11 min read

第 01 节 · 问题

为什么大多数 RAG pipeline 在生产里失败

问题几乎不在生成端。当一个 RAG 系统给出错误、幻觉或不完整的答案, 根因通常是检索 — 系统取回了错的 chunks, 或者根本没取到。

快速回答

简短答案: 生产 RAG pipeline 的失败, 是因为检索器返回了无关或不完整的上下文。生成器没有可靠材料可依, 要么幻觉, 要么含糊其辞。先修检索。

2026 年, 朴素 RAG — 定长切块加上单一向量相似度检索 — 大约有 40% 的概率取不回正确上下文。文档集合越大、query 越具体, 这个数字还会更高。生成器在尽职工作。问题是检索器没把它需要的素材给它。

有四个根因。每个对应一种修复, 修复按投资回报排序。从最上面开始。

RAG 检索失败的四个根因: chunk 边界错误、关键词召回缺失、未做重排, 以及检索没有置信度评分。
四种失败模式出现在检索 pipeline 的不同阶段。多数团队按图示顺序遇到它们。

第 02 节 · 切块

别再按字符数切了

切块策略对检索准确率的约束, 比 embedding 模型选择更大。2025 年的一项临床研究在同一数据集上得到: 自适应切块取得 87% 检索准确率, 而定长 baseline 只有 13%。

定长切块 — 不看内容, 每 512 或 1024 字符切一刀 — 把句子在思维中途切开, 把问题与答案分离, 把让一段话有意义的上下文丢掉。Embedding 模型编码的是不完整的意思。相似度分数比应有的要低。检索器就漏。

语义切块

用 embedding 相似度检测主题边界。当相邻句子的余弦距离越过阈值, 切块器就开新的 chunk。每个 chunk 包含一个连贯的观点。这是 2026 年大多数 RAG 系统的实用默认。

命题切块

把文档拆解为原子化的事实主张, 每条恰好表达一个可验证的陈述。对法务研究、医疗 QA 这类知识密集型应用, 这是精度最高的方案 — 检索一条错误归属的事实都不可接受。

层级切块

同时维护摘要 chunk 和它的子 chunks。查询时系统取摘要做上下文, 取子 chunk 求精度。适合长文档 — 段落级内容的解读需要章节级上下文支撑。

不管选哪种策略, 上线前都用一组样本 query 上的召回率指标做验证。切块质量在你度量它之前是不可见的。

第 04 节 · 评估

RAGAS: 生产里真正重要的五个数字

RAGAS 提供无参考的评估指标, 你可以在生产流量上跑而不需要人工标注。这五个指标覆盖了从检索到回答的整条 pipeline。

RAGAS 生产指标 — 一个可靠 RAG 系统的目标值
指标衡量什么生产目标
Faithfulness回答里只包含被检索上下文支持的论断吗?高于 0.90
Answer relevancy回答是否回应了问题真正问的内容?高于 0.85
Context precision取回的 chunks 是不是真和问题相关?高于 0.80
Context recall检索是否把回答所需的全部信息都呈上来?高于 0.75
Answer correctness对照 ground truth, 回答在事实上是否正确?高于 0.80

Faithfulness 是生产安全里最重要的指标。Faithfulness 低于 0.85 意味着模型经常在生成检索结果不支持的论断 — 按定义就是幻觉。上线前先修检索或调高 top-k。

RAGAS 评估应该异步跑在生产流量的样本上, 不要和用户请求串行。把响应 pipeline 卡在评估上只会增加延迟, 对用户没有任何好处。收集、夜间评估、阈值越界告警。

第 05 节 · 架构

Adaptive RAG: 2026 年的架构标准

Adaptive RAG 在检索之前对每条进来的 query 进行分类, 然后路由到合适的策略。这就是把生产系统和原型分开的架构。

朴素 RAG 系统对每条 query 一视同仁: 取回, 然后生成。Adaptive RAG 在前面加了一层分类。简单事实型 query 走快速向量检索。复杂多步 query 走迭代或层级检索。在知识库以外的 query 直接走模型的参数化知识, 完全跳过检索。

路由逻辑通常是一次小型 LLM 调用或一个分类器。代价很低 — 几毫秒、几个 token — 而精度提升显著。当检索置信度低时跳过检索的系统, 比那种总是检索并把低质量上下文塞进去的系统, 幻觉要少得多。

Adaptive RAG 流程: query 分类器根据 query 类型和检索置信度, 路由到快速检索、迭代检索或直接生成。
Adaptive RAG 把每条 query 路由到合适的检索策略。生成之前那道置信度检查, 是阻止低质量上下文到达模型的关键。

如果你 2026 年要新建一个 RAG 系统, 一开始就按自适应路由来设计。后期再加要重构整条检索 pipeline, 不是简单包一层就够。

对于把 RAG 当作记忆或知识层的生产 agentic AI 系统, 参见我的 agentic AI 咨询服务 , 了解检索如何嵌入更广的 agentic 架构。

第 06 节 · 成本

不同复杂度下, RAG 每条 query 的成本

升级路径是有真实成本的。从朴素到自适应, 你应该按下面这个表来做预算。

不同 RAG 复杂度下每条 query 的成本估算 (2026)
架构每条 query 的典型成本质量上限
纯朴素向量0.0005 到 0.002 美元中等 — 在精确匹配和多概念 query 上失败
混合检索 + 重排0.002 到 0.008 美元良好 — 应付得了大部分生产 query 类型
带路由的 Adaptive RAG0.005 到 0.015 美元高 — 接近基于检索的系统能达到的上限
Agentic RAG (迭代)0.02 到 0.10 美元非常高 — 面向研究级和分析师工作流

FAQ

常见问题

为什么 chunks 看上去对的, RAG 还是失败?

Chunk 的内容和检索的排序是两个分开的问题。一个 chunk 可以包含正确信息, 但 embedding 相似度比那些不相关却表面相似的 chunks 要低, 所以排在 top-k 之外。修复办法是用一个重排器, 基于实际的问题与 chunk 之间的关系重新打分, 而不是只看 embedding 的接近度。

语义切块和定长切块的区别是什么?

定长切块不看内容, 每隔 N 个字符就切, 经常把句子或观点切成两半。语义切块用相邻句子之间的 embedding 相似度来识别主题边界, 把连贯的观点保留在同一个 chunk 里。在检索准确率的 benchmark 上, 语义切块稳定地优于定长切块。

加一个重排器对 RAG 质量提升多少?

Cross-encoder 重排器能稳定地把正确的 chunk 从第 8 或第 12 位推进到 top 3, 而 top 3 才是语言模型能看到的全部内容。在已有的混合检索 pipeline 上加重排, 团队通常能看到 faithfulness 分数提升 20% 到 40%, 其他组件无需改动。

上线前 RAGAS 分数应该达到多少?

Faithfulness 0.90 以上, answer relevancy 0.85 以上。如果在一组有代表性的生产 query 样本上有任一指标低于这两个阈值, 上线前先把失败原因诊断清楚。生产中 faithfulness 低于 0.85, 大致意味着每 7 条响应里就有 1 条包含一个幻觉式论断。

什么时候用 Adaptive RAG, 什么时候用标准 RAG?

当你的 query 集合是异质的 — 有的需要快速检索、有的需要迭代检索、有的完全在你的知识库以外 — 用 Adaptive RAG。如果所有 query 性质相近、知识库边界清晰, 标准的混合 RAG 加重排就够了。

常见问题

切片内容看起来正确, 为什么 RAG 还是会失败?
切片内容与检索排名是两个独立的问题。某个切片可能确实包含正确信息, 却因为 embedding 相似度低于其他表面相似但实际无关的切片, 没能进入 top-k。解决办法是引入 reranker, 让它基于问题与切片之间的真实相关性重新打分, 而不是只看 embedding 距离。
语义切片和固定长度切片有什么区别?
固定长度切片不论内容每隔 N 个字符切一刀, 经常把一个句子或一个观点切成两段。语义切片则用相邻句子之间的 embedding 相似度判断主题边界, 把同一思路完整保留在一个切片中。在检索准确率的基准测试中, 语义切片几乎总是占优。
增加 reranker 能提升多少 RAG 质量?
Cross-encoder 类型的 reranker 能稳定地把本应排在第 8 或第 12 的正确切片提到 top 3。在已有的混合检索流水线上加入 reranker 的团队, 通常能在不修改其他组件的前提下, 让 faithfulness 提升 20% 到 40%。
上线前 RAGAS 指标应达到什么水平?
Faithfulness 应高于 0.90, answer relevancy 应高于 0.85。如果在代表性生产 query 样本上任何一个指标低于该阈值, 就需要在上线前先排查问题。生产环境 faithfulness 低于 0.85 意味着大约每 7 条回答里就有 1 条包含幻觉。
什么时候用 adaptive RAG, 什么时候用标准 RAG?
如果你的 query 集合差异很大 — 一部分需要快速检索, 一部分需要迭代搜索, 一部分根本不在知识库范围内, 就适合用 adaptive RAG。如果 query 类型同质、知识库边界清晰, 那么带 reranker 的标准混合 RAG 就足够了。