刚接触 RAG时很多人都会有一个疑问“现在的大模型上下文不是已经很大了吗为什么还要把文章切碎其实原因很简单大模型上下文变大并不意味着“整篇文档直接塞进去”就是最优解。真正的问题不是“能不能放进去”。而是模型能不能精准找到答案。为什么不能把整篇文章直接“喂”给大模型很多人刚做 RAG 时会采用一种最直觉的方案直接把整篇文章拼接 Prompt让 LLM 自己找答案。这种方案理论上可行但实际很快会遇到几个严重问题。主要原因有几个上下文窗口有限尽管模型能力在增强但面对海量的企业知识库如数百万字的文档整篇输入依然会超出限制。信噪比与“迷失”即使模型能装下在数以万计的文字中寻找一个具体答案就像在大海里捞针。信息过载会导致模型“走神”不仅推理成本高昂还容易因为噪音太多而产生幻觉或忽略关键细节。因此“化整为零”是必由之路。我们需要在数据进入向量数据库之前通过“文本分块”将长文档转化为一个个语义独立的小片段。常见的分块策略从入门到精通分块策略的选择本质上是在计算成本与语义完整性之间做权衡。我们可以将其分为三个层级基础策略基于规则的“硬切”这一层级的策略不关心文本内容只关心“切在哪里”。固定大小分块原理每隔固定数量的字符或 Token 切一刀。评价实现最简单但极其暴力。它往往会切断句子甚至单词导致严重的语义丢失不推荐在生产环境单独使用。重叠分块原理在固定切分的基础上引入重叠区域例如 10%-20%。评价相比固定分块它缓解了边界处的语义断裂但本质上依然是“盲目”切割且会增加存储冗余。递归分块例如先按章节切-再按段落切-再按句子切-最后才按字符切定义先尝试用最大的分隔符切切完如果某个块还是太大就换一个更小的分隔符继续切直到所有块都在 chunkSize 以内。评价目前最通用的基准策略。它在一定程度上兼顾了语义结构段落/句子和块大小控制。局限依然依赖预设的分隔符对于格式混乱的文本效果不佳。进阶策略基于语义的“智能切”上述策略都有一个共同局限它们都不理解文本在说什么。语义分块引入了 AI 模型来辅助决策。语义分块流程先将文本按句子拆分。对每个句子生成向量。计算相邻句子之间的向量相似度。当相似度低于某个阈值时说明话题发生了转换在此处进行切割。评价优点切割点基于语义而非标点生成的每个块主题高度内聚检索精度最高。缺点需要调用 Embedding 模型每个句子都做向量化计算成本高延迟大且相似度阈值难调太高切不动太低切太碎。适用场景法律文档、医疗知识库、金融合规等对精度要求极高的领域。高级策略混合分块为了兼顾效果与效率工业界常采用混合策略。常见策略递归语义流程先用递归分块做粗切把文本按段落、章节切成大块然后对每个大块再用语义分块做细切。按照文档类型选策略分块 后处理先用递归分块切完然后对结果做一轮后处理合并太短的块、拆分太长的块、给每个块补充元数据.优缺点优点灵活能针对不同内容选择最合适的策略整体效果最好.缺点实现复杂度高需要维护多套分块逻辑和路由规则.策略总结与选型建议没有一种分块策略是万能的最佳选择取决于你的文档类型和应用场景。策略类型核心逻辑优点缺点推荐场景递归分块多级分隔符迭代简单、通用、速度快无法完全保证语义完整通用文档、博客、新闻语义分块向量相似度阈值语义连贯、精度高成本高、速度慢法律、医疗、科研论文混合分块规则模型组合效果最优、灵活开发维护复杂企业级知识库、复杂RAG系统