VecTree-RAG: An Agentic Retrieval-Augmented Generation Framework Combining Vector and Tree Retrieval for Efficiency and Accuracy
Xinyan Zhong, Yuwei Shi, Yuqi Wei, Chen Shen, Tianhang Zhou, Zhenghao Wu
cs.IR, cond-mat.mtrl-sci, cs.AI
2026-07-25
向量检索负责跨语料选论文、章节树遍历在论文里定位证据,三个科学问答基准答案分全最高,证据页精度 0.274 对基线 0.046 至 0.071。
科学文献问答要解决两个层次的问题:先在整个语料库里挑出哪几篇论文相关,再在这些论文里定位到支撑答案的具体证据。主流 RAG 的做法是把每篇文档切成等长片段,对所有片段做相似度检索。
这种切法丢掉了论文的章节结构。一个方法描述被切成片段后,常常和它依赖的实验设置、图表、限定条件分了家;检索回来的片段越多,冗余越多,读者要的「这个结论在论文哪一页、靠什么方法得到」反而对不上。
VecTree-RAG 把两个任务交给两套互补的机制,核心思路是「先定位、再导航、最后读」,分层逐步暴露内容。
向量层负责跨文档筛选。用 SPECTER2 稠密向量加 BM25 稀疏检索的混合,对每篇文档和章节的紧凑表示打分,通过相关性门控(稠密相似度不低于 0.35 或 BM25 不低于 1.0)过滤,先圈定候选论文。
树层负责文档内部导航。每篇论文被解析成它本来的章节层级,做成一棵「章节树」,每个节点带标题、摘要和它覆盖的页码范围。关键是用确定性子串匹配去校验 LLM 抽出来的页码,误差容忍 1 页,避免幻觉页码。全文按页存进 page store,只有定位到具体节点后才按需取出对应页。
执行的是一个 ReAct 风格的 agent,带七种工具,跨这三层调用,最多 30 轮。系统提示里写死两条规矩:先读章节树摘要、再调页;不许连取超过 5 页还不去合成答案。
在三个基准上,VecTree-RAG 的答案分都是被测方法里最高的:
| 基准(规模) | VecTree-RAG | 最强基线 |
| QASPER(300 题,LLM-judge 正确率) | 0.800 | 0.757(rerank Dense RAG / Search-o1) |
| LitQA2(54 题,准确率) | 0.925 | 0.889(rerank Dense RAG) |
| MOSAIC(49 题,复合分) | 0.547 | 0.503(Dense RAG) |
差距最大的是证据定位。QASPER 上 VecTree-RAG 的证据页精度 0.274,几个基线只有 0.046 至 0.071,相差近 4 到 6 倍。它不只是答对,还能指回原文具体位置。
代价是 token。LitQA2 上每题约 12.8 万 token,而 Dense RAG 只要 9700。作者强调的「效率」指的是索引表示和导航本身,不是端到端推理成本,多轮 agent 调用本来就比单次检索贵。
消融很说明问题:去掉树层准确率掉到 0.904,去掉向量层准确率掉到 0.811 而且每题 token 涨到 49 万。两层缺一不可,但向量层省的钱更多。
对做科学文献问答、需要可追溯证据的场景(科研助手、合规审查、医学问答),这是一条比「多检索几段」更对路的方向:尊重文档结构,先定位再精读。证据页精度这一项,直接解决了 RAG 答案「对但说不清从哪来」的老毛病。
它不算便宜,多轮 agent 的 token 成本摆在那。适合答案质量比单次推理成本更重要的场景,不适合追求低延迟的轻量问答。
作者自己列了一串:方法依赖论文本身有清晰的章节结构,换到非结构化文档可能水土不服;章节摘要是 LLM 生成的,目前没有校验忠实度;证据定位只到段落或页,不到句子级。MOSAIC 这个多文档基准是自动生成和筛选的,没经人工独立验证,而且构造和打分用的是同一个模型族(DeepSeek),存在自评偏置。最后,「效率」这个卖点只覆盖索引和导航,端到端 token 反而比基线高,别被摘要里的 efficiency 一词误导。