别再乱喂文档了:2026年RAG效果差的七个真实原因

📅 2026/10/4 ✍️ 小文 📖 约 1 分钟

很多人抱怨RAG答不准,就归咎于模型不行。其实九成问题出在检索和数据处理环节。本文列出RAG效果差的七个真实原因,并给出对应的排查方法。

模型是无辜的

RAG 效果差,大多数人的第一反应是”换个更强的模型”。但实践中,九成的问题出在检索环节,换模型基本没用。下面七个原因,几乎覆盖了所有”RAG 答不准”的场景。

原因一:切分方式粗暴

把文档按固定字数硬切,是最常见的错误。一句话被拦腰截断,检索出来的片段语义不完整。正确做法是按语义结构切分——段落、章节、问答对,而不是按字符数。

原因二:只做向量检索,忘了关键词

纯向量检索擅长语义相似,但对精确术语、编号、专有名词不敏感。用户查”条款 3.2”,向量检索可能返回语义相近但编号不对的内容。**混合检索(向量 + BM25)**几乎总是优于单一路径。

原因三:没有重排序

初步检索出一堆候选,直接按相似度取前几条,质量参差。加一层**重排序模型(reranker)**对候选精细打分,能显著提升送入模型的片段质量。这一步性价比极高,却常被跳过。

原因四:元数据丢失

切分时丢掉了文档来源、时间、版本、章节标题等元数据。结果检索到的内容模型不知道出处,无法判断新旧,也无法引用。元数据是 RAG 的隐形骨架。

原因五:没有处理表格和图表

真实文档里大量信息在表格和图示中。这些内容被当纯文本处理时,常常面目全非。表格需要专门的结构化解析,不能和正文一锅切。

原因六:上下文塞太满

为了”多给点信息”,把检索到的一大堆片段全塞进上下文。结果关键信息被淹没,模型注意力被稀释。相关且精炼远胜于多而杂。

原因七:从未做评估

最致命的一条:很多团队上线 RAG 后从不量化评估,全凭感觉。没有评估集,就不知道改进了还是退步了。至少要建一批”问题-标准答案-相关文档”的测试集,每次改动都跑一遍。

一套实用的排查顺序

遇到 RAG 答不准,按这个顺序查:

  1. 先看检索到的内容对不对(检索问题比生成问题常见得多);
  2. 再看切分是否破坏语义;
  3. 检查是否用了混合检索和重排序;
  4. 确认元数据和表格处理是否到位;
  5. 最后才考虑换模型或调 prompt。

按这个顺序,你会发现大部分问题在前两步就暴露了。

结语

RAG 的瓶颈从来不在生成端,而在如何把正确的信息、完整地、精炼地送到模型面前。把功夫花在检索和数据工程上,比反复换模型有效得多。

📤 分享到