ByteByteGo梳理 8 种RAG分块策略:从固定长度到Agent按文件选法
ByteByteGo在系统设计周报中列出固定长度、递归、文档结构、语义、LLM、Agent、Late Chunking和层级共 8 种分块方法,并简述各自的切分依据与代价。
AI解读:ByteByteGo在EP229系统设计周报中整理了 8 种面向RAG智能体的文本分块策略,逐条说明每种方法如何决定切分位置。
固定长度按token数切分并保留小幅重叠;递归优先按段落切,仍过大时依次退到行、词和字符。
文档结构法依标题、章节、HTML标签等原有断点切分,例如Markdown文件按节成块;语义法对句子做嵌入并比较相邻句相似度,相似度下降处开新块。
LLM法要求模型把文本改写为独立命题、一行一个想法再成块,原文称质量高但处理大规模语料昂贵;Agent法由智能体判断文件属于代码、合同还是表格,再为该文件选分块方式。
Late Chunking先对整篇文档做嵌入,再按常规边界切分,并在每个边界内做均值池化生成块嵌入;层级法则把文档拆成章节、段落、句子的多层结构。
原文以“你在生产环境用哪种分块策略”向读者提问,未给出不同策略的效果对比或测评数据。
ByteByteGo在EP229系统设计周报中列出 8 种用于RAG智能体的分块(chunking)策略,并逐条说明每种策略的切分依据和它自己提到的代价。
8 种分块策略的切分依据
这 8 种方法按“在哪里断开文本”区分。ByteByteGo的表述中,固定长度法每固定数量的token切一次,并保留少量重叠;递归法先按段落切,某块仍过大时依次回退到行、词、字符。
文档结构法沿用文档已有的断点,如标题、章节、HTML标签,一篇Markdown文件因此按节自然成块。语义法先对每个句子做嵌入,再比较它与前一句的相似度,相似度下降处开新块,原文称这是按真实话题转换切分,而非按长度猜测。
依赖模型与结构的两类做法
LLM法让模型把文本改写为独立命题、一行一个想法,再把每一行作为一个块。原文注明这种方法质量高,但在大规模语料上成本昂贵。
Agent法则由AI智能体读取每份文档,判断它是代码、合同还是表格,再为该文件挑选分块方法,而不是对所有文件套用同一条规则。
嵌入与层级两种处理方式
Late Chunking先把整篇文档送入嵌入模型,再套用常规切分边界,并在每个边界内做均值池化,生成各块的嵌入。层级法把文档拆成多层:先章节,再段落,最后句子。
原文末尾以“你在生产环境用哪种分块策略”向读者提问,没有给出这些策略之间的效果对比或评测数据。