标准答案

  1. 按标题、段落、列表、代码函数、表格行组等结构优先切分,避免在句子、JSON 或代码块中间硬截断。切片大小要以 Token 衡量,而不是只看字符数。
  2. 重叠用于保留跨边界的语义,但不是越大越好。重叠过大会造成重复召回、成本上升和结果排序偏斜;边界清晰的文档可以少重叠。
  3. 长章节可先按结构切成父节点,再生成可检索的子切片,回答时返回父标题和来源。代码、表格和规范条款应采用适合自身结构的专用切分策略。

题目解析

切片太小会丢失指代和条件,太大则相关信息被无关内容稀释。选择应通过固定问题集观察召回率、上下文精确率、引用完整性和 Token 成本。

重叠不能修复错误的文档结构。比如一个表格的表头与数据行被拆开,简单增加字符重叠仍可能无法表达列含义,应先做表格结构解析。

切片 ID 要稳定,更新时可按文档版本重建,删除时要清理旧版本。否则同一段内容可能以多个版本返回,用户无法判断哪个有效。

常见误区

  • 所有文件统一使用固定字符数切片。中文、英文、代码和表格的有效边界不同。
  • 用很大的重叠长度“保证上下文”,反而让重复片段占满上下文。
  • 把切片边界问题归因于模型能力,没有检查解析结果和结构信息。

作者信息