RAG 切分策略全解:为什么你的检索总是召回一堆废话

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

RAG 效果差,八成死在切分上。本文讲清固定长度、语义切分、递归切分、父子切分的适用场景,并给出按文档类型选策略的实战决策表。

很多人搭 RAG 时把精力全花在选模型和调提示词上,却忽略了一个更致命的问题:你的文档被切成了什么样。切分(chunking)决定了检索单元的信息完整性,切错了,再强的模型也召不回有用内容。

一、切分本质是在做取舍

每段文本被切成块后要单独转向量。块太大,噪声多、语义被稀释;块太小,上下文断裂、答案不完整。所有策略都在”信息完整”和”检索精度”之间找平衡。

二、四种主流切分策略

1. 固定长度切分

按 token 数硬切,比如每 500 token 一块,带 50 token 重叠。

  • 优点:实现简单、速度快、成本可控。
  • 缺点:会把一句话、一张表格拦腰截断。
  • 适用:结构松散、没有明显层级的日志、聊天记录。

2. 递归字符切分

按”段落 → 句子 → 词”的优先级递归尝试,能在自然边界断开。

  • 优点:基本不破坏句子,兼容各种文本。
  • 缺点:不保证语义主题一致,一段可能混多个主题。
  • 适用:通用默认选项,绝大多数知识库先用它。

3. 语义切分

计算相邻句子嵌入的相似度,低于阈值处断开,保证每块讲同一件事。

  • 优点:主题一致性强,召回精准。
  • 缺点:块大小不均,计算开销大。
  • 适用:长篇论述、法律条款、学术论文。

4. 父子切分(Parent-Child)

检索用小儿子(子块),生成用大父块。子块精准命中,父块提供完整上下文。

  • 优点:兼顾检索精度与答案完整性,目前效果最好的方案之一。
  • 缺点:存储和检索逻辑更复杂。
  • 适用:高价值知识库、客服问答、技术文档。

三、按文档类型选策略

文档类型推荐策略关键参数
技术文档 / API递归 + 按标题保留代码块完整
长论述 / 论文语义切分相似度阈值 0.75 左右
表格 / 财报整表成块,不切附加表头描述
客服 FAQ一问答一块问题+答案绑定
杂类网页递归字符500 token / 50 重叠

四、三个常被忽视的细节

  1. 元数据别丢:每个块都带上来源、章节标题、页码。检索时可过滤,回答时可引用。
  2. 重叠要适度:50–100 token 重叠能救回跨块语义,太多则浪费存储、拉高重复。
  3. 加”块摘要”:切分后让模型为每块生成一句话摘要,一并入库,检索命中率能明显提升。

五、验证切分是否合格

别凭感觉改参数,做一套可量化的检查:

  • 抽 20 个真实问题,看正确内容是否排进 Top 3。
  • 随机翻看切好的块,检查有没有”半句话开头”。
  • 对比不同策略的召回率与最终答案评分。

切分不是一次性配置,而是随语料变化持续调优的工程活。先把切分做对,RAG 才谈得上调优。

📤 分享到