RAG 文档有哪些切分策略,如何确定块大小?
未标记
考查重点:切片完整性与检索成本。按段落、标题或语义边界切分,设块大小基线后以带证据的问题集比较召回完整性、噪声和 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:参考先识别文档结构单元、再按长度组合或细分的做法,解释结构完整性与块大小约束怎样配合。
相关面经
56 篇滴滴
大模型算法岗RAG 的 chunk 划分策略是什么?
公司未注明
AI 应用开发工程师文本切割策略
字节跳动
Agent文档拆分用的什么拆分器
东方财富
AI 应用开发工程师字节跳动
Agent 开发工程师文档切块大小是怎样确定的?你依据哪些因素设置 Chunk 的范围?
展开剩余 51 篇面经
拼多多、荣耀、立元科技、得物、华橙
知识库文档切分策略
顺丰科技
AI 开发工程师文档切分是根据文档结构,还是根据文档类型?
网易
Agent 开发工程师RAG的核心流程?Chunking策略、Query Rewrite、Rerank怎么做?
字节跳动
后端开发实习生乐堡互娱
AI应用开发岗文档怎么分割的、召回环节怎么实现的、怎么判断召回结果是否准确、上下文压缩怎么设计的
公司未注明
测试开发岗文档切片策略,你用的什么切分器,切分大小怎么确定,切分过大过小分别带来什么问题。
字节跳动
Agent 开发文档具体怎样切分?如何处理切分边界和块大小?(30:13)
哔哩哔哩
AI Agent 开发### 7、文档切片有哪些常见策略?RecursiveCharacterTextSplitter的实现逻辑是什么?针对中文文档处理需要注意哪些问题?
九方智投
Agent 开发工程师按照标题切割有的很大有的很小该怎么办
小红书
Product Engineer(AI 与全栈方向)Chunk 切得太细和太粗分别有什么问题?
字节跳动
Agent 开发后端实习生知识库如何构建?Markdown、TXT、PDF 分别怎么切块?
恒生电子
AI 应用开发工程师针对跨章节、逻辑强关联的超长文档,如何设计分块策略避免语义割裂?
美团
AI 全栈开发工程师chunk size怎么定?切太大切太小分别有什么问题
阿里巴巴
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大小
阿里巴巴
AI 应用开发工程师知识库内容的分块是怎么做的?
美团
Agent 开发工程师在RAG场景中,文本切分策略是如何选择的?不同切分方式会带来什么影响?
阿里巴巴(淘天)
Agent 开发文档还是 RAG怎么选,假如文档更新,怎么划分段落? 错误召回怎么反馈
哔哩哔哩(B站)
Agent 开发RAG 了解吗?怎么分片?向量化目标是什么?什么场景用?
字节跳动
Agent 应用开发工程师RAG 的 chunk 的具体流程和细节
CVTE
AI 应用开发文档切片都有哪些,你提到的按照语义进行切片是什么,原理是什么,是否会有硬编码上限
字节跳动
AI Agent 开发超参数
Agent 开发工程师rag怎么切块
DeepSeek
Agent 开发PDF/表格/条款类文档怎么解析和切分?
商汤
大模型应用算法工程师RAG 原理,项目里有哪些相关经验,向量数据库、相似度计算、chunk 切片策略。
百度
AI 应用开发工程师阿里巴巴
AI 应用算法工程师RAG项目的分块策略有哪些?
腾讯
AI 应用开发工程师请介绍你在实习中负责的Agent+RAG项目的背景、整体技术方案,包括文档解析、分块策略、向量数据库的选型与存储方式,以及具体的检索查询流程。
公司未注明
Agent 开发rag切分的粒度是怎么定的?具体是怎么实现的?
网易
AI 应用开发工程师固定大小切片和语义切片优劣对比,长文档、结构化文档、非结构化文档分别用什么切片策略?
法大大
Java 开发工程师你的文档切片具体怎么做的
腾讯音乐
后端开发工程师想问一下在优化 RAG 检索精度时,你针对文档的分割大小和检索的 topK 参数进行了测试和调优,那文档大小设置得过大或过小,分别会带来哪些负面影响?在确定最优参数组合的时候,你主要权衡了哪些因素?
快手
在RAG中,文档切片的粒度如何选择?
阿里巴巴
Agent 开发工程师RAG系统中,chunk大小怎么确定?不同业务场景的策略差异?
阿里国际
AI 应用开发文档切分方法能说出来几种?或者说当前最主流的切分方式是哪个呢
美团
后端开发工程师文档切片采用的是什么策略?
蚂蚁集团
AI Agent有没有做过rag,rag的分块和召回
公司未注明
Agent 开发手动干预切片是怎么实现的
淘天
大模型 Agent你用的切分策略是什么?
顺丰
大模型分段有没有做优化
公司未注明
Agent 开发手动干预切片是怎么实现的
顺丰
大模型分段有没有做优化
收录题集
Agent 开发实战追问
传统NLP任务
RAG与知识库
RAG流程与架构
Chunk划分与RAG全链路 项目:RAG的chunk划分策略是什么?请介绍不同文档切分方式及RAG全链路过程。
展开其余 6 条原题
文本分块策略与超参数 RAG中的chunk策略有哪些?
















