猎豹AI实战派立即报名 ↗

方法与工具 / PRACTICE NOTE

RAG 落地效果差的五个真实原因:先排数据,再调模型

RAG 答错,七成以上根因在检索而非模型。本文给出排查清单:先建 30 到 50 题的测量集,再按摄入结构、切块上下文、混合检索、rerank、引用兜底的顺序逐一排查。

摘要

RAG 答错七成以上是检索问题而非模型问题,按摄入结构、切块上下文、混合检索、rerank、引用兜底的顺序排查。

体裁
实践文章
适用对象
AI 落地工程师、知识库项目负责人、企业 AI 实践者
参考来源
3 项 · 详见文末
猎豹AI实战派约 4 分钟阅读

答案先行

RAG 答错时,七成以上的根因不在模型,而在检索:正确的证据根本没送到模型手里,再强的模型也只能对着错误的证据一本正经地输出。排查 RAG 永远先查数据链路,最后才轮到模型。

零、先量化:没有测量就没有排查

动手改之前,先准备 30 到 50 个带标准答案的真实问题,跑一遍,记下"检索失败率"(正确答案的文档没进 Top-K 的比例)。这是你唯一的北极星:Anthropic 公开的检索实验、以及后来第三方的独立复测,量的都是这个指标。改完任何一处,重跑一遍。没有这一步,所有优化都是玄学。

原因一:文档摄入时结构就丢了

症状:表格、标题层级进系统后变成一坨纯文本,"退款政策"那一节的表格丢了列名,答案自然对不上。

验证:随机抽 10 篇源文档,对比原文和入库后的文本,看标题、表格、列表是否完整。

修法:摄入阶段保留结构信息(标题路径、表格转 Markdown);扫描件先过 OCR 再谈别的。结构丢在摄入,后面切块、向量化再怎么做都补不回来。

原因二:切块把上下文切没了

症状:单个块写着"满 30 天后免除费用",但不写这是哪个产品、哪个套餐的规则——块本身是对的,离了文档就没法用。

验证:随机抽 50 个块,不看原文,只看块文本,问自己"这段话能独立回答问题吗"。

修法:两种成熟做法——按标题层级切块并保留标题路径;或给每个块加一段模型生成的上下文说明(Anthropic 的 Contextual Retrieval 实测把 Top-20 检索失败率降低约 49%,注意这是官方自测口径)。2026 年 10 月一份独立复测还发现,对稠密检索,按标题切块的效果甚至好于加上下文说明——先试最便宜的方案。

原因三:纯向量检索漏掉了精确词

症状:用户问订单号、报错码、产品型号,语义相近的块排在前面,写着精确编号的块沉底。

验证:构造 20 个含精确词(编号、代码、人名)的问题,看召回率。

修法:向量检索加关键词检索(BM25)双路并行,结果融合。语义归语义,精确词归精确词,这是生产 RAG 的标配,不是选配。

原因四:没有 rerank,排序靠运气

症状:正确的块在候选里(比如 Top-50),但没进最终给模型的 Top-5。

验证:对比"正确答案在 Top-50 的比例"和"在 Top-5 的比例",差距大就是排序问题。

修法:加一层 reranker,对候选做精排。Anthropic 的实验里,rerank 是单步收益最大的一环;独立复测也证实 reranker 能把失败率砍半。代价是延迟,先在真实候选数下测好再承诺响应时间。

原因五:没有引用和兜底,答错了也理直气壮

症状:检索没命中,模型照样输出一个看起来很对的答案。

验证:故意问 10 个知识库里没有的问题,看系统是拒绝还是编造。

修法:强制引用来源(每个论断挂出处),检索无命中时明确拒绝回答而不是猜。引用不是装饰,它是让答案"可核查"的唯一机制。

排查顺序总结:先建测量集,再查摄入结构、查切块上下文、上混合检索、加 rerank,最后补引用兜底。按这个顺序走,大部分 RAG 的问题在第三步之前就现形了。

参考来源

  1. RAG Chatbot for Customer Service: How It Uses Your Docs
  2. Why Your RAG System Returns Wrong Answers, and How to Fix Retrieval
  3. Does Contextual Retrieval Work in Japanese? (AQUA LLC, Oct 2026)

相关阅读

CONTINUE READING

继续阅读转型经验

查看全部文章 ↗