在 RAG(Retrieval-Augmented Generation,检索增强生成)系统中,大家往往关注 Embedding 模型、Chunk 切分策略、向量数据库和重排序,但在真实的企业级文档场景中,一个经常被忽视、却非常有效的优化点是:
TOC Enhance(Table of Contents Enhance,目录增强)
它不是一个复杂的模型技巧,而是一种结构级增强方法 ,核心目标是:
让 RAG 系统"理解文档结构",而不只是"吃进去一堆文本块"。
一、为什么 RAG 系统需要 TOC Enhance?
1. 传统 RAG 的结构盲区
经典 RAG 流程通常是:
- 文档解析 → 切 Chunk
- Chunk 向量化 → 入库
- Query → 相似度检索 → LLM 生成
问题在于:
-
Chunk 彼此是"平铺的"
-
模型不知道:
- 当前 Chunk 属于哪一章?
- 这一章讲的是"背景 / 原理 / 操作 / FAQ"?
-
检索命中内容正确,但语义上下文缺失
这在以下文档中尤为明显:
- 技术白皮书
- 产品说明书
- 法律/合规文档
- 长篇 Markdown / PDF / Word
2. 人是怎么理解文档的?
人阅读文档时,通常是:
先看目录 → 知道结构 → 再看具体内容
而传统 RAG:
❌ 跳过了"目录"这一步
TOC Enhance 的本质,就是把人类的阅读路径引入到 RAG 系统中。
二、什么是 TOC Enhance(目录增强)?
一句话定义
TOC Enhance 是一种在 RAG 中显式引入文档目录结构的方法,用于增强 Chunk 的语义、层级和可检索性。
它并不是简单地"把目录存起来",而是:
- 让 Chunk 与目录节点产生绑定关系
- 让 检索和生成阶段都能感知结构
三、TOC Enhance 的核心设计思路
1. 抽取文档目录结构(TOC)
来源包括:
- Markdown 的
# / ## / ### - Word / PDF 的标题样式
- 自动章节识别(基于规则或 LLM)
示例 TOC:
text
1. 系统概述
2. 架构设计
2.1 数据采集
2.2 向量化与索引
3. 部署与运维
4. 常见问题
这是 结构信息的"骨架"。
2. Chunk 与 TOC 节点绑定
每个 Chunk 除了正文内容,还应附带:
json
{
"content": "...",
"toc_path": ["架构设计", "向量化与索引"],
"section_level": 2
}
这样做的好处是:
- Chunk 不再是孤立文本
- 它拥有 "我属于哪一章" 的身份
3. TOC Enhance 的三种常见方式
方式一:TOC 作为 Chunk 前缀(最常见)
在向量化前,拼接目录上下文:
text
【架构设计 > 向量化与索引】
这里介绍如何将文档切分并进行向量化......
👉 Embedding 更准确,因为语义更完整。
方式二:TOC 单独建索引(结构检索)
- TOC 节点本身也向量化
- 用户问题先命中 TOC,再限定 Chunk 范围
示例流程:
- Query → 检索目录
- 命中「常见问题」
- 只在该章节下检索 Chunk
👉 大幅减少噪音召回
方式三:生成阶段注入目录结构(Generation Enhance)
在 Prompt 中显式告诉 LLM:
text
以下内容来自文档:
章节:3. 部署与运维 > 日志管理
👉 LLM 更容易:
- 给出结构化回答
- 不"跨章节胡乱总结"
四、TOC Enhance 能解决哪些实际问题?
1. 提升检索准确率(Recall & Precision)
- 同义但不同章节的内容不再混淆
- "原理"和"操作步骤"不再被一起召回
2. 减少 LLM 幻觉(Hallucination)
- 模型清楚"内容来源章节"
- 不容易拼接不相关内容
3. 提升回答的结构感
用户问题:
"系统是如何进行向量化的?"
有 TOC Enhance 的回答往往是:
text
在「架构设计 > 向量化与索引」章节中,文档描述了以下流程:
1. 文本切分
2. Embedding 生成
3. 向量入库
而不是一段无来源的自由发挥。
五、TOC Enhance 的工程实现建议
1. 优先级建议
| 场景 | 是否推荐 |
|---|---|
| 长文档(>20页) | ✅ 强烈推荐 |
| 技术/规范类文档 | ✅ |
| FAQ 碎片文档 | ⚠️ 价值有限 |
| 搜索型 RAG | ✅ |
2. 实践注意事项
- ❌ 不要把整个目录树塞进 Chunk(会稀释向量)
- ✅ 只保留 路径信息(1~2 层即可)
- ✅ 保证 TOC 语义自然、人类可读
3. 与其他优化的关系
TOC Enhance 不是替代,而是增强:
- Chunk 策略 ✅
- Rerank ✅
- Multi-query / HyDE ✅
- TOC Enhance ✅(结构维度)
六、总结
TOC Enhance 的本质不是"技巧",而是"尊重文档结构"。
在 RAG 系统逐渐从 Demo 走向生产的过程中:
谁更懂结构,谁的系统就更稳。
如果你发现你的 RAG 系统:
- 命中内容"看似相关却答非所问"
- 长文档效果明显变差
那么,TOC Enhance 往往是性价比极高的一步优化。