向量不再是唯一答案:Tree‑Based RAG 讓長文件檢索更精準

欸,你有看到那個叫 PageIndex 的新玩意兒嗎?它用樹狀推理取代向量搜尋,讓長文件檢索更精準且可解釋。

向量不再是唯一答案:Tree‑Based RAG 讓長文件檢索更精準

有看到那個叫 PageIndex 的新玩意兒嗎?

最近在 Slack 裡偶然看到同事貼出 VectifyAI/PageIndex 的 repo,說它用「樹狀推理」取代向量搜尋,直接把長 PDF 當成一本書翻。我的第一反應是:哇,這樣真的能解決金融報告、法律條款那種千頁巨檔的痛點嗎?

為什麼傳統向量 RAG 在長文件上會掉分

向量檢索的核心是把整篇文件切成 chunk、embed 進向量 DB,然後靠相似度找最接近的片段。這套流程在短問答或 FAQ 裡跑得不錯,但一旦碰到 200 頁的年報,切塊的邊界常會把關鍵上下文割裂。結果是模型會抓到看起來相似的句子,卻找不到真正的條款位置,準確率直接「掉」到 70% 以下。

我在實驗中也遇過:把一段關於「資產減值」的條款丟給向量 RAG,回覆卻只給了「減值測試」的那段說明,根本沒有指向正確頁碼。

Tree‑Based RAG 的運作方式

PageIndex 的做法是先讓 LLM 把文件轉成階層樹狀索引,像是自動生成的目錄,每個節點帶有標題、頁碼範圍,甚至簡短摘要。查詢時不再是「哪個向量最近」,而是讓模型從根節點開始,一層層判斷哪條分支可能相關,逐步深入到最終頁面。

這樣的好處有兩點:

  • 保留文件結構:模型能『看到』章節層級,避免跨章節的語意斷裂。
  • 可解釋性提升:每一步推理路徑都可以記錄,之後檢查時能說『我為什麼先選了第 3 章』。

根據 當RAG告別向量資料庫的報導,在 FinanceBench 基準上,這套系統跑出 98.7% 的正確率,遠超過大多數向量方案。

實際使用感受與限制

我親自跑過一次 demo:先 pip install pageindex,放入一份 150 頁的財報 PDF,給它一個 OpenAI API key,然後用 query("公司2022年營業收入變化原因")。結果不只給出正確段落,還回傳了『從第 1 章 → 第 4 章 → 第 12 節』的推理路徑。

缺點也很明顯:

  • 目前只能呼叫 OpenAI(或兼容的 API),離線模型支援還沒落實。
  • 每一次查詢都要消耗較多 token,算是「推理成本」的另一種形態。
  • 樹的建構需要一次性讀完整文件,對超大檔案的記憶體需求不小。

不過,對於不想再維護向量 DB、或是對可解釋性有硬性需求的團隊來說,這樣的 trade‑off 還是值得玩。

未來的 RAG 版圖會怎樣?

從我看到的趨勢來看,向量、樹、知識圖、甚至純 Agent 記憶體都在同台競技。像 PageIndex:無向量、推理驅動的RAG框架深度解析 這篇文章提到,樹狀結構其實是把「人類翻書」的行為抽象化,對於醫療、金融這類需要逐層剖析的領域特別有用。

如果未來 LLM 能直接在本地跑推理樹,或是把樹的建構交給更小的專用模型(例如 LLaMA 7B),我們可能會看到「向量+樹」的混合方案,兼顧速度與解釋性。

你有沒有在長文件上被傳統 RAG 卡住過?不妨試試這個 vectorless 的方式,或許會有意想不到的驚喜。

延伸閱讀

結論:向量不再是唯一的選項,樹狀推理讓長文件檢索變得像有人在旁邊指路。


原始來源:https://www.threads.com/@sliven0722/post/DUPjZz_AQ_P