一句话定义
RAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval,递归摘要树检索)是一种面向长文档的AI 词典:检索增强生成">检索增强生成(RAG,Retrieval-Augmented Generation)索引方式:把文档切成小块,让相似的块聚成一簇、由大模型写出摘要,摘要再往上聚类再摘要,层层递归长成一棵树;检索时在树的多个层级上同时找答案。
为什么非要"往上长一层"
先说平铺切片的软肋。一份两百页的行业年报,你问"这份报告认为未来三年最大的三个风险是什么"。答案可能散在第 12 页、第 87 页、第 150 页,但单独拎出任何一段都不像答案。向量检索只按"和问题的字面相似度"挑 top-k,很容易捞回一堆恰好出现"风险"二字的零散段落,主线反而漏掉。切片检索擅长"找点",不擅长"看面"。
RAPTOR 的做法是:每一层的节点都是对下层内容的一次浓缩。叶子是原文块,中间层是"某几十个块的共同主题",根节点就是整篇文档的一句话概括。全局性问题天然和这些摘要节点更"像",匹配得上。
打个图书馆的比方:平铺切片相当于把书撕成单页堆在地上,你只能一页页比对关键词;RAPTOR 相当于保留"目录—章摘要—节摘要—正文"这套层级,问"这本书讲什么"时直接翻目录。也可以理解成地图缩放——要全国视角还是街道视角,由问题自己决定。
和相邻做法的区别
| 做法 | 结构 | 擅长的问题 | 代价 |
|---|---|---|---|
| 平铺切片 RAG | 单层,固定长度块 | 找具体事实、条款、代码 | 便宜快;全局问题答不全 |
| 父子文档检索 | 两层:小块命中、大块回填 | 命中要准、上下文要够 | 依赖文档天然层级 |
| 摘要索引 | 单层摘要 | 粗粒度主题问答 | 粒度写死,细节丢失 |
| RAPTOR | 多层递归聚类摘要树 | 综述型、主题型、跨章节归纳 | 建索引要跑大量摘要调用,更新贵 |
| 长上下文窗口 | 不建索引,整篇塞进去 | 中小文档 | 贵、慢,还容易"中间迷失" |
关键差异在两点:一是树是自动长出来的,不依赖作者原来有没有写小标题;二是检索可以发生在任意层,细节问叶子,全局问上层。
对从业者的实际意义
判断要不要上 RAPTOR,就问一句:用户的提问是"去找某个点",还是"帮我总结这件事"?前者用平铺切片加重排就够了,后者才值得建树。
落地时有几个现实问题:建立索引阶段要发起很多次摘要调用,时间和费用都远高于普通切片,文档一改还得重建受影响的分支;聚类质量差会一路污染到根节点的摘要。常见做法是混合检索——叶子层负责细节,摘要层负责全局,一起召回再统一重排。具体实现和参数以官方页面为准。
