RAG 的成本失控,問題不在 Token 數,而在於「控制流」
許多團隊在優化 RAG 成本時,往往只專注於減少 token 數量,卻忽略了更深層的問題:系統是否為每個查詢都執行了昂貴的檢索與生成?本文將深入探討為何 RAG 的成本瓶頸其實是「控制流」問題,並提出如何透過智慧架構設計,判斷「何時不該檢索」,從而大幅降低維運成本,將你的 RAG 系統從實驗原型推向可持續的產品階段。
許多團隊在優化大型語言模型(LLM)應用成本時,往往陷入了 token 經濟學的迷思,專注於如何減少單次呼叫的 prompt 長度、選用更便宜的模型。然而,對於檢索增強生成(RAG)系統而言,真正的成本黑洞往往不是單次執行的費用,而是系統架構過於單純,導致對每一次使用者輸入都執行了完整、昂貴的檢索與生成流程。我認為,要將 RAG 從實驗原型推向能規模化、可持續維運的產品,我們必須轉變思維:成本問題的根源,其實是控制流(control flow)問題。
為什麼傳統 RAG 架構會導致成本浪費?
典型的 RAG 流程直觀而有效:接收使用者查詢、將查詢向量化、在向量資料庫中進行相似性搜索、取回相關文件片段、將這些片段與原始查詢一同塞入 LLM 的 context window,最後生成答案。這個流程在概念驗證階段非常出色,因为它確保了每個回答都有最新的外部知識支持。然而,當系統上線面對真實世界、每個月處理上百萬次請求時,這個「一視同仁」的設計就成了災難。
問題在於,並非所有使用者輸入都需要如此大費周章。想像一個客服機器人,使用者可能會說:「你好」、「謝謝你」、「剛才那個問題,可以再解釋一下嗎?」或是「你們的退貨政策是什麼?」
在前三種情況下,執行完整的 RAG 流程是極大的浪費。一個簡單的問候,完全可以用預設腳本回應;一個感謝,也只需要禮貌性回覆。對於一個沒有引入新主題的追問,LLM 在其短期記憶(conversation history)中很可能已經具備足夠的上下文來回答,根本無需重新檢索。只有第四個問題,一個全新的、需要精確知識的查詢,才真正需要啟動昂貴的 RAG 流程。當系統不加區分地對所有輸入都執行檢索時,成本便會失控。
如何設計「非每次檢索」的智慧型 RAG 架構?
解決方案是從架構層面著手,在 RAG 流程前加上一個「路由器」(Router)或「調度器」(Dispatcher)。這個元件的核心任務,是在接收到使用者查詢後,不直接送入檢索流程,而是先進行判斷與分類,決定最有效率的處理路徑。這個判斷可以基於規則、關鍵字,甚至是一個更小、更快的分類模型。
一個設計良好的路由器,至少應該能將查詢分派到以下幾種路徑,以實現成本效益最大化:
- 罐頭回應 (Canned Response):對於簡單的問候、感謝或常見的閒聊,直接回傳預設好的答案。這是成本最低的路徑。
- 對話記憶 (Conversational Memory):判斷查詢是否為前一輪對話的延伸。若是,則直接將查詢與對話歷史送給 LLM,而不進行外部知識檢索。
- 快取查詢 (Cache Retrieval):利用語義快取(semantic caching)技術,判斷新查詢是否與歷史查詢在語義上高度相似。如果命中快取,可以直接回傳儲存的答案,完全跳過檢索與生成。
- 完整 RAG (Full RAG):只有在判斷查詢是一個需要外部知識的全新問題時,才啟動完整的檢索與生成流程。
根據日本 Zenn.dev 上一篇技術實踐分享,透過實施這種「非每次檢索」的架構,一個每月處理 100 萬次查詢的系統,其 LLM 相關成本可以從每月 50,000 美元大幅降低至 3,000 美元。這近 94% 的成本節省,清晰地展示了架構優化遠比單純的 token 壓縮更具影響力。
RAG 的成本問題,本質上不是 token 經濟學問題,而是系統的控制流(control flow)問題。優化的關鍵在於賦予系統「判斷力」,讓它知道何時該做、何時不該做昂貴的操作。
這是否意味著系統變得更複雜了?
答案是肯定的,但這種複雜性是值得的。引入路由器意味著系統多了一個需要維護的元件,也可能輕微增加延遲。路由本身的準確性也成為一個新的挑戰——錯誤的分類可能導致答非所問。然而,這種架構上的演進,正是 AI 應用從玩具走向產品的必經之路。
近年來,許多研究與框架都在朝這個方向發展。例如,Self-RAG 這樣的論文,就探討了讓模型自行判斷是否需要檢索以及檢索內容是否相關的機制。而主流的開發框架如 LlamaIndex 和 LangChain 也都內建了 Router 模組,幫助開發者實現更複雜的查詢邏輯。這說明,業界已經意識到,單純的「檢索-生成」鏈條不足以應對真實世界的挑戰。
總結來說,當我們在建構 RAG 系統時,與其將精力全部投入在如何把 context 塞得更滿、更精簡,不如退一步思考整個系統的資訊流。透過智慧地控制何時啟動檢索,我們不僅能大幅降低營運成本,更能打造出反應更快速、體驗更合理的 AI 產品。這不僅是成本優化,更是對 AI 系統設計理念的一次重要升級。
延伸閱讀
- Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (Lewis, et al., 2020)
- LLM-powered Autonomous Agents by Lilian Weng
- LlamaIndex Router Query Engine Documentation
我是江中喬,一位具有 TPM 與產品管理背景的 AI 系統建構者,目前專注於 AI 認知增強系統與多 Agent 協作架構的設計與實踐。