Agentic RAG 是當前 LLM 應用中一個非常火熱的方向。與傳統 RAG 不同它讓模型在推理過程中自主決定要不要檢索、什么時候檢索。這樣就相當于給模型一套工具讓它自己判斷該用哪個。
目前訓練 Agentic RAG 的主流做法是結果監督強化學習:只在推理結束后給一個標量獎勵:對就是對、錯就是錯,而過程中完全沒有任何反饋。
這種方式有幾個明顯的問題:
模型必須跑完整個推理鏈才能拿到分數,中途即使跑偏了也沒法糾正;獎勵信號極其稀疏,模型根本不知道哪些步驟有用、哪些是在浪費時間;而且單一的全局分數太粗糙了,沒法告訴模型到底是哪個環節出了問題,想做細粒度優化幾乎不可能。
DecEx-RAG 的核心思路
DecEx-RAG 把 RAG 建模成一個馬爾可夫決策過程(MDP),分成決策和執行兩個階段。
![]()
圖1:DecEx-RAG 框架示意圖,展示搜索樹的擴展與剪枝過程
決策階段解決兩個問題:該停還是該繼續?如果繼續的話用內部知識還是去檢索外部信息?每一步模型都要做出終止決策 σ? 和檢索決策 δ?。
執行階段關注的是生成質量。不管是子問題還是最終答案,都要求高質量輸出。這個階段用過程級獎勵來優化。
而剪枝策略是 DecEx-RAG 的一大亮點:搜索樹擴展太快會導致計算量爆炸所以需要動態剪枝,每一層做多次 rollout 模擬不同決策,把結果匯總成中間獎勵;超過一半樣本認為該停就停;如果內部知識生成的答案分數夠高,直接跳過檢索。
實測效果也是相當不錯的,平均擴展時間從 743.2 秒壓縮到 134.9 秒,快了將近 6 倍性能卻幾乎沒有損失。
MDP 建模的技術細節
狀態 S 是增量構建的,每一步都在歷史中累積原始問題、子問題和對應的答案或檢索文檔。動作 A 包含兩部分:終止決策 σ? 決定繼續還是停止,檢索決策 δ? 決定用內部知識還是發子查詢拿外部文檔。狀態轉移 P 也直接:停止就輸出答案,不停就把新的子問題和結果加進歷史繼續走。
獎勵 R 的計算方式是對給定(狀態,動作)對做多次 rollout,然后取正確性分數的均值:
R(s?, a?) = (1/n) × Σ v(rollout?)
這里有兩個設計值得注意,子問題和子查詢是分開優化的,因為措辭上的微小差異可能導致檢索結果天差地別。另外決策和執行被解耦了:決策數據用于提升效率,執行數據用于改善輸出質量。
剪枝機制
生成過程監督數據非常耗時,DecEx-RAG 的剪枝機制在這里起了關鍵作用。
終止通過采樣投票決定:每一步多次采樣模型決策超過 50% 同意停止就終止迭代,而分支評分則是對每個子問題做 rollout 模擬,算平均分,只留表現最好的分支進入下一層。還有一個省算力的設計就是如果純靠內部知識的答案分數超過預設閾值,檢索直接跳過。
![]()
圖2:三種擴展方法對比。k 為每個決策的執行分支數,n 為 rollout 次數,l 為層深。
理論上這種剪枝把復雜度從指數級拉到了線性級。在實際測試中單問題擴展時間從 743.2 秒降到 134.9 秒,6 倍提速而且可以保證性能不降。
訓練流程
第一步是監督微調(SFT):從搜索樹中抽取根到葉的最優推理鏈用來做標準監督學習。模型輸入是推理步驟序列,輸出是下一個最佳動作——可能是子問題、答案或子查詢。
第二步是直接偏好優化(DPO):剪枝前模型會生成多組候選決策和執行結果,把這些配對保存下來用于偏好訓練,讓模型學會區分好的和不夠好的選擇。
實驗結果
測試在六個開放域問答數據集上進行:HotpotQA、2WikiMultiHopQA、Bamboogle、PopQA、Natural Questions(NQ)、AmbigQA。
![]()
圖3:DecEx-RAG 與基線方法在六個數據集上的表現。最佳/次佳分數分別用粗體/下劃線標注
DecEx-RAG 拿下了最好成績,平均 EM 43.7、F1 52.4,在所有基線中領先。
復現所需的工程細節
策略模型方面,檢索相關決策用 Qwen2.5–7B-Instruct,其他決策步驟跑在 Qwen3–30B-A3B 上。知識庫是 2018 年的維基百科轉儲,訓練數據從 HotpotQA 抽了 2,000 條,WikiMultiHopQA 抽了 1,000 條。
總結
DecEx-RAG 最值得肯定的地方在于把推理過程結構化了。決策和執行的分離、分層剪枝的引入,把搜索復雜度從指數級壓到近乎線性,對效率和擴展性都是實質性的改進。
不過也有一些可以改進的地方,比如當前系統依賴硬編碼的啟發式規則:"超過半數 rollout 投票停止就停"、"內部答案超過固定閾值就跳過檢索"。這類規則在噪音或不確定性較大時容易出問題,可能會遇到過于激進提前終止或者過于保守浪費計算的情況。一個可能的改進方向是學習信息價值(VOI)函數,根據不確定性或預期收益動態決定是否繼續檢索而不是靠寫死的閾值。
用多次 rollout 的平均 EM/F1 作為獎勵信號,邏輯上沒問題但存在一個不匹配:模型可能中間步驟一塌糊涂,最后碰巧蒙對了答案,照樣拿高分。這樣一來過程中的錯誤就沒機會被糾正,不過增加 rollout 次數可以緩解這個問題,但成本會快速上升。更穩健的做法是引入雙值基線或值加權 rollout,減少對最終結果的過度擬合。
論文:
https://avoid.overfit.cn/post/7c93c6c1703f491e8d68f8156abecfef
作者:Florian June
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.