RAG 文档有哪些切分策略,如何确定块大小?
未标记
询问 AI
考查重点:切片完整性与检索成本。按段落、标题或语义边界切分,设块大小基线后以带证据的问题集比较召回完整性、噪声和 token 成本
本题目录
参考答案
核心回答
RAG 文档切分要在“检索能定位”和“片段足以回答”之间取舍。 常见策略有四类:
- 固定长度切分:按字符数或 Token 数分块,适合快速建立基线。
- 递归切分:优先按段落、句子等边界切分,超长部分再继续细分。
- 结构化切分:依据标题、条款、函数或表格等文档结构组织片段。
- 语义切分:根据相邻内容的语义变化确定边界,同时限制块的最小和最大长度。
确定块大小时,先明确长度单位与 Embedding 输入上限,再看问题需要多大的证据单元。块太小,容易拆开前提和结论;块太大,会混入多个主题,增加检索噪声与生成成本。通常先保留自然边界,超长部分递归细分,再用同一批业务问题比较块大小和重叠量,检查证据召回、答案质量、延迟与成本。
例如运维手册中的适用版本、触发条件和恢复步骤应能一起取回。需要“小块定位、大段阅读”时,可以用父子块,把写入索引的子块与交给模型阅读的父段落分开。
几种策略怎样取舍
- 固定长度切分:按字符数或 Token 数截断,可配滑动窗口重叠。实现简单、便于建立基线,但边界可能落在句子、条件或列表中间。
- 递归切分:按优先级尝试段落、换行、句子等分隔符,遇到超长单元再继续细分。适合结构不完全规范的通用文本;中文要考虑句号、逗号等边界,不能只依赖空格。
- 结构化切分:Markdown 按标题,法规按条款,代码按函数或类。表格应保留表头与数据行的对应关系;超大表格需要分组或拆行时,也要给每块补足列名和必要说明。结构边界仍要受长度预算约束。
- 语义切分:根据相邻句子或段落的语义变化确定边界,适合主题切换明显、结构较弱的文本。它增加了离线计算与维护成本,还需要约束过小块和过大块,是否优于结构化切分要实测。
切分后还要保留来源、章节路径、页码、版本和父块标识。标题中有“Redis 超时处理”,正文却只写“上述配置”时,可以把必要标题加入块内容;仅存入元数据而没有参与编码,不会自动改变该块的向量。
怎样确定块大小和重叠
先明确长度单位,再确定预算。 chunk_size=500 不一定表示 500 Token,例如按 len 计长的分割器统计的是字符。应按目标 Embedding 模型的分词方式检查实际输入,把参与编码的标题、指令和正文一起计入,避免超限报错或被静默截断。生成阶段还要为系统提示、问题、对话历史和输出预留空间,不能让召回片段占满上下文窗口。
再看问题需要多大证据单元。 运维知识库中,查一个配置项可以用较小块;解释故障的触发条件和恢复步骤,就需要连同前提一起保留。可以依据真实段落长度选择几组候选大小,抽查条件句、列表、跨页段落和表格是否被拆坏。
重叠主要用于缓解边界断裂,不必固定为某个比例。重叠过多会增加向量数量,还可能让多个近似重复块占满 Top-K。评测时既看答案依据是否找全,也看去重后保留了多少有效信息。
若小块容易命中、但不足以回答,可以按下图取回父段落:
%%{init: {"themeVariables": {"fontSize": "16px"}, "flowchart": {"nodeSpacing": 16, "rankSpacing": 30, "padding": 10}}}%%
flowchart TB
Q[用户问题] --> C[检索子块索引]
C -->|父块标识| P[取回对应父段落]
P --> D[去重并检查上下文预算]
D --> A[生成有依据的答案]父子块可以同时保留定位精度与上下文,但父段落仍可能过长,也有额外存储与读取成本。
最后做受控评测。 固定语料、问题集、Embedding、检索参数和生成配置,比较切分方案。问题集应标注所需证据,并覆盖事实问答、流程、多段条件和无答案问题。检索侧看证据覆盖与相关性,生成侧看正确性、引用和证据支持,同时记录上下文 Token、索引规模与延迟。切分方案变化后,重新生成受影响块的向量,并记录切分和索引版本,才能回放差异。
追问
增大 Top-K 能代替合理切分吗?
不一定。它可能补回相邻信息,也会带来更多重复和噪声。应先检查缺的是哪条证据,再选择邻块扩展、父子块或调整边界,而不是把更多候选直接拼进 Prompt。
Embedding 支持长输入,还需要切分吗?
通常仍值得切分。输入长度上限说明模型能接收多长文本,并不保证整篇文档形成的单个向量能精确定位每个知识点;是否使用整篇、章节或子块,仍需按查询粒度评测。
对应教程
教程先讲清切块与重叠的基本用法;本文进一步比较结构、语义和父子块的取舍,并补充评测方法。
- 第 19 章 RAG 检索增强生成:2.3 文本分割器:回看切分策略、长度单位及重叠参数。
参考资料
- 国内:JavaGuide:RAG 文档处理与切分策略:参考结构化切分、语义切分与父子块的讲解,比较不同策略如何保留条件、控制检索粒度。
- 国内:Hello-Agents:第八章记忆与检索,8.3.4:结合标题路径与分块代码,说明切分后的片段为什么还需要保留章节位置等信息。
- 国内:阿里云百炼:知识库:参考表头拼装、切片标题与元数据的设置方式,说明表格和章节信息怎样随片段一起保留。
- 国内:JavaGuide:RAG 优化:借鉴切分方案的对照评测与版本记录,说明如何根据检索和回答效果选择块大小。
- 国外:LangChain:Splitting recursively:依据分割器的参数说明,区分字符数与 Token 数,并补充中文标点和重叠边界的处理。
- 国外:Unstructured:Chunking:参考先识别文档结构单元、再按长度组合或细分的做法,解释结构完整性与块大小约束怎样配合。
相关面经
43 篇九方智投
Agent 开发工程师按照标题切割有的很大有的很小该怎么办
小红书
Product Engineer(AI 与全栈方向)Chunk 切得太细和太粗分别有什么问题?
字节跳动
Agent 开发后端实习生知识库如何构建?Markdown、TXT、PDF 分别怎么切块?
恒生电子
AI 应用开发工程师针对跨章节、逻辑强关联的超长文档,如何设计分块策略避免语义割裂?
美团
AI 全栈开发工程师chunk size怎么定?切太大切太小分别有什么问题
展开剩余 38 篇面经
阿里巴巴
AI 应用研发工程师文档切分策略怎么选?Markdown没标题怎么切
靖安科技
后端工程师(RAG/Agent 项目)切片策略是什么
蚂蚁集团
分块策略怎么做的
金蝶
Agent 开发工程师切分策略是怎么设计的?
阿里巴巴
AI 全栈开发工程师如果让你自己基于 LangChain 或 Spring AI 去做一个 RAG,文档切分这一块有哪些策略你有了解过吗?(追问)你自己自定义了一个切分策略,把 Markdown 多级标题合并、内容合并是吧?(追问)如果不是 Markdown 格式的话,你还了解其他切分策略吗?
百度
Agent 开发工程师RAG 项目里,文档切片的粒度是怎么确定的?有什么参考依据?
百度
Agent 应用开发工程师Chunk 太大或太小有什么影响?Chunk 大小怎么确定?
虾皮
Agent 应用开发工程师文档分块具体采用什么分块策略?
中科创达
后端开发工程师(AI / RAG 方向)RAG 的文档切割是怎么实现的?
小红书
AI Native 全栈开发工程师文档分块怎么做的
去哪儿
AI 测试开发工程师怎么确定合适的chunk大小
阿里巴巴
大模型应用开发工程师(RAG 方向)知识库内容的分块是怎么做的?
美团
Agent 开发工程师在RAG场景中,文本切分策略是如何选择的?不同切分方式会带来什么影响?
阿里巴巴(淘天)
Agent 开发文档还是 RAG怎么选,假如文档更新,怎么划分段落? 错误召回怎么反馈
哔哩哔哩(B站)
Agent 开发RAG 了解吗?怎么分片?向量化目标是什么?什么场景用?
字节跳动
RAG 的 chunk 的具体流程和细节
CVTE
AI 应用开发文档切片都有哪些,你提到的按照语义进行切片是什么,原理是什么,是否会有硬编码上限
字节跳动
AI Agent 开发超参数
Agent 开发工程师rag怎么切块
DeepSeek
Agent 开发PDF/表格/条款类文档怎么解析和切分?
商汤
大模型应用算法工程师RAG 原理,项目里有哪些相关经验,向量数据库、相似度计算、chunk 切片策略。
百度
AI 应用开发工程师阿里巴巴
AI 应用算法工程师RAG项目的分块策略有哪些?
腾讯
大模型应用开发工程师(RAG 方向)请介绍你在实习中负责的Agent+RAG项目的背景、整体技术方案,包括文档解析、分块策略、向量数据库的选型与存储方式,以及具体的检索查询流程。
未知公司
Agent 开发rag切分的粒度是怎么定的?具体是怎么实现的?
网易
大模型应用开发工程师(RAG 方向)固定大小切片和语义切片优劣对比,长文档、结构化文档、非结构化文档分别用什么切片策略?
法大大
Java 开发工程师你的文档切片具体怎么做的
腾讯音乐
后端开发工程师想问一下在优化 RAG 检索精度时,你针对文档的分割大小和检索的 topK 参数进行了测试和调优,那文档大小设置得过大或过小,分别会带来哪些负面影响?在确定最优参数组合的时候,你主要权衡了哪些因素?
快手
在RAG中,文档切片的粒度如何选择?
阿里巴巴
Agent 开发工程师RAG系统中,chunk大小怎么确定?不同业务场景的策略差异?
阿里国际
AI 应用 / Agent 开发文档切分方法能说出来几种?或者说当前最主流的切分方式是哪个呢
美团
后端开发工程师文档切片采用的是什么策略?
蚂蚁集团
Agent 应用开发工程师有没有做过rag,rag的分块和召回
未知公司
Agent 开发手动干预切片是怎么实现的
淘天
大模型 Agent你用的切分策略是什么?
顺丰
大模型应用开发工程师(RAG 方向)分段有没有做优化
未知公司
Agent 开发手动干预切片是怎么实现的
顺丰
大模型应用开发工程师(RAG 方向)分段有没有做优化
收录题集
Agent 开发实战追问
传统NLP任务
RAG与知识库
RAG流程与架构
Chunk划分与RAG全链路 项目:RAG的chunk划分策略是什么?请介绍不同文档切分方式及RAG全链路过程。
展开其余 6 条原题
文本分块策略与超参数 RAG中的chunk策略有哪些?









