
长文本 AI 处理的 Chunking 策略分割、重叠与上下文保持一、为什么要做 ChunkingAI 模型有上下文长度限制。GPT-4o 的上下文窗口是 128K Token,看起来很大但当你把一部长篇小说、一份上百页的合同、或一整年的日志数据全部塞进 Prompt 时即使技术上不超限也有三个实际问题。第一成本128K Token 的输入意味着每次调用花费数美元不是独立产品能接受的成本。第二质量模型在超长上下文中的「注意力」会稀释它对文档中间部分的信息的提取质量远差于对开头和结尾部分的。第三延迟越长的输入模型推理的时间越长。Chunking(文本分块) 解决的就是这个问题:把长文本拆分成多个小块每次只把相关的块送给 AI,让 AI 在「它最擅长处理的中等长度上下文」中工作。具体而言这一过程通常始于将长达 100,000 Token 的原始文本进行分块处理。系统会将文本切割为多个小块例如每个块包含 500 Token并在相邻块之间设置一定的重叠区域如 100 Token以确保语义连贯性。当需要处理查询时系统通过向量检索结合关键词匹配从所有块中筛选出最相关的 2 到 4 个块。这些被选中的块合计约 1000 到 2000 Token随后被送入 AI 模型。这种机制既保证了上下文的相关性又实现了低成本、高质量和低延迟的处理效果。二、Chunking 的分割策略分块的方式直接影响 AI 能获取到的信息完整性定长分块 (Fixed-size Chunking)。最简单的方式按固定 Token 数 (如 500 Token) 切割不考虑内容边界。优点是实现极简缺点是经常把一个句子或一个段落切成两半破坏信息的完整性。语义分块 (Semantic Chunking)。按段落、章节或自然语言边界切割。先识别文本的语义边界 (段落分隔、标题、话题转换)在边界处切割。优点是每个块内容完整缺点是不同块的长度差异大。递归分块 (Recursive Chunking)。设定一个目标长度 (如 500 Token)按段落切割如果某个段落超过目标长度继续按句子切割如果某句话超过目标长度按字符切割。这种策略兼顾了「按语义切割」和「控制块的大小」。对于独立产品语义分块是推荐的起点。简单实现按\n\n(空行通常是段落边界) 切割如果一个段落超过 500 Token,才按句子切割。三、重叠 (Overlap) 的重要性分块后如何在检索时保证「信息的连续性」一个关键的设计是块与块之间的重叠——相邻两个块共享一部分内容 (如 10-20% 的重叠)。重叠的作用如果一个关键信息刚好位于两个块的边界 (如第 498 个 Token 到第 502 个 Token 之间),没有重叠的话这个信息会被拆分到两个块中AI 看到的每个块都只包含部分信息。有重叠的话边界附近的信息会同时出现在两个块中即使一个块被选中AI 也能获得完整信息。具体而言假设原文为“公司 2026 年第二季度营收为 500 万美元同比增长 30%。”。若不加重叠句子被切断后块 1 只包含营收金额块 2 只包含增长率导致信息断裂而加入重叠后两个块都能包含完整的营收信息确保 AI 无论检索到哪个块都能理解全貌。重叠比例建议对于一般文本10-20% 的重叠足够对于信息密集的文本 (如法律文档、技术规范),可以设 20-30%。四、检索后的上下文扩展在 RAG 系统中检索到相关的块后一个提升质量的技巧是「上下文扩展」——不只用检索到的块还包含这个块前后的相邻块为 AI 提供更多上下文 (上下文在检索到的块前后)。例如检索到第 5 块实际送给 AI 的是第 4、5、6 块。给 AI 的内容是「用户的问题 相关上下文」其中上下文包含了回答所需的核心信息 (来自第 5 块)以及帮助 AI 理解信息背景的辅助内容 (来自第 4、6 块)。这显著提升了 AI 回答的准确性——AI 看到了更完整的信息图景。五、总结长文本 AI 处理的 Chunking 策略,核心是在「节省 Token 成本」和「保证信息完整性」之间找到平衡。定长分块省 Token 但可能破坏信息,语义分块保护信息但长度不齐;重叠确保边界信息不丢失,上下文扩展让 AI 看到更完整的图景。对于独立产品:用语义分块(按段落边界),设 10-20% 的重叠,每个块 500-1000 Token,检索时取 Top 3-5 个块。这个参数组合在大多数场景下,能同时满足成本和质量的平衡。上下文窗口越来越大的趋势下,Chunking 仍然重要——不是因为塞不下,而是因为「精准地给 AI 它需要的信息」比「把所有信息都给它」效果好得多。