RAG-MCP 新架構設計解決大模型提示詞膨脹的工具選擇問題 原創 精華
由于提示詞的膨脹以及工具選擇變得復雜,大語言模型(LLMs)很難高效地使用越來越多的外部工具,特別是那些由模型上下文協議(MCP)定義的工具。為此,需要新的架構來解決, RAG-MCP 框架正是解決這個提示詞膨脹的問題。

RAG-MCP 是一種“檢索增強生成”的方法。它通過提前篩選出最相關的工具來解決這個問題。具體來說,在調用大語言模型之前,RAG-MCP 會先用語義檢索技術,從外部的索引中找出和當前查詢最相關的 MCP 工具。只有這些被選中的工具描述才會被傳遞給大語言模型。這樣一來,提示詞的長度大幅減少,決策過程也變得更加簡單。
下文詳細剖析之。
一、RAG-MCP 架構設計剖析
1、提示詞膨脹(Prompt Bloat)問題剖析
提示詞膨脹(Prompt Bloat)是一個嚴重的問題:如果在大模型的上下文中為每一個可能的工具都提供定義或使用說明,會占用大量的空間,并且可能會讓大模型感到“壓力山大”。
我們在 AI 應用落地中發現,隨著工具數量的增加,很難在單個提示詞中描述大量的 API 或工具。而且,許多 API 的功能非常相似,只有細微的差別。如果一次性把太多工具都塞進去,不僅會超出大模型的上下文長度限制,還可能讓大模型感到困惑,分不清這些功能相似的工具。
這直接導致了第二個問題:決策成本太高。面對一長串功能相似的工具,大模型在選擇是否調用以及調用哪個工具時,會面臨更復雜的決策。工具越多,出錯的可能性就越高。比如:大模型可能會選擇了一個不太合適的工具,或者誤解了某個工具的功能。實際上,即使是像 Qwen-3 這樣的先進模型,在面對眾多 API 選項時,也可能會“腦洞大開”,虛構出一個實際不存在的 API;而 Anthropic 的 Claude 可能會為用戶請求選擇錯誤的庫。這些失敗案例說明,簡單地增加工具數量,可能會讓大語言模型(LLM)的性能下降。
2、RAG-MCP 解決方案剖析
為了解決這些問題,提出了 RAG-MCP 新架構設計方案,這是一個將檢索增強生成(RAG)與模型上下文協議框架結合起來的方法。它的核心思想是:不要一次性把所有工具都展示給大語言模型,而是根據用戶的查詢,動態地找出最相關的工具子集。

在 RAG-MCP 架構設計中,大量的工具描述(比如:MCP 函數模式、使用示例等)都存儲在一個外部的語義索引中。當一個新的查詢到來時,一個專門的檢索器(比如:向量空間語義搜索)會先選出最有可能對這個查詢有用的前k個候選工具。然后,只有這k個工具的描述會被注入到大語言模型(LLM)的提示詞中(或者通過函數調用 AP I提供),這樣就能大大減少上下文的長度和復雜性。這個檢索步驟就像是一個“聚焦過濾器”,減少了提示詞的冗余,幫助大模型更容易地做出選擇。
這種方法有點像檢索增強問答系統的工作方式:不是把整個維基百科都給的模型,而是只檢索相關的文章。在這里,我們檢索的不是靜態的知識,而是實時的、可以操作的工具知識。還有一個額外的好處是可擴展性:因為工具信息存儲在外部索引中,新工具或更新的 API 可以通過更新索引來整合,而不需要重新訓練 LLM,這樣就能確保系統始終保持最新狀態。簡單來說,檢索的作用就是在正確的時間提供正確的工具,從而減輕模型的決策負擔。
3、RAG-MCP 新架構設計
3.1、RAG-MCP框架
為了解決提示詞膨脹問題,RAG-MC P將檢索增強生成(RAG)原則應用于工具選擇。我們不再將所有 MCP 描述一股腦地塞給大語言模型,而是維護一個包含所有可用 MCP 元數據的外部向量索引。在處理用戶查詢時,整個過程分為三個關鍵步驟:
步驟一、檢索
一個輕量級的基于大語言模型的檢索器會對用戶的任務描述進行編碼,并在 MCP 索引上執行語義搜索,返回與任務最相似的前k個候選 MCP。
步驟二、驗證
對于每個檢索到的 MCP,RAG-MCP 可以生成一個少樣本示例查詢,并測試其響應,以確保基本兼容性。這一步在調用之前起到了“合理性檢查”的作用。
步驟三、調用
只有單個最佳的 MCP 描述(包括其工具使用參數)會被注入到大語言模型的提示中或通過函數調用 API 傳遞給大模型。然后,大模型在不考慮工具發現的情況下進行規劃和執行。
這種設計帶來了以下好處:
- 縮小提示詞規模:通過僅提供相關的 MCP 元數據,即使完整的工具注冊表很大,RAG-MCP 也能避免上下文窗口過載。
- 降低認知負擔:大語言模型不再需要從數百個干擾項中篩選,從而提高了選擇準確率并減少了幻覺現象。
- 資源高效:與傳統的 MCP 客戶端(比如:Claude 或早期的 GPT-4 集成)不同,它們在交互之前必須實例化所有已注冊的 MCP 服務器,而 RAG-MCP 僅激活所選的 MCP,降低了啟動成本,并能夠在沒有基礎設施瓶頸的情況下支持任意大的工具集。
- 多輪穩健性:在跨越多個輪次的對話中,大語言模型無需重新納入所有 MCP;基于檢索增強生成的 RAG-MCP 檢索器可動態處理工具調用,為特定任務推理騰出上下文空間。
3.2、新架構設計三步流程示意圖
RAG-MCP 的操作可以概括為以下三個核心步驟,架構圖如下圖所示:

第一、任務輸入 → 檢索器
用戶的自然語言任務被編碼并提交給檢索器。
第二、檢索器 → MCP 選擇與驗證
檢索器搜索 MCP模式 的向量索引,根據語義相似度對候選對象進行排序,并可選擇通過合成示例對每個候選對象進行測試。
第三、使用選定的 MCP 執行大語言模型
大語言模型僅接收選定的 MCP 模式和參數,并通過函數調用接口執行任務。
通過將工具發現與生成解耦,RAG-MCP 確保大語言模型能夠擴展到數百或數千個 MCP,而不會出現提示膨脹或決策疲勞。這類似于 RAG 系統通過僅檢索相關段落來避免用整個語料庫使大語言模型不堪重負。
4、RAG-MCP 新架構測試驗證
4.1、實驗設置
我們在 MCPBench 的網絡搜索子集上進行了評估,將其作為測試平臺。每個基線方法進行20次獨立試驗,若產生超過10個正確答案,則認為該方法成功。每次試驗中,大模型最多與 MCP 服務器進行10輪交互以得出最終響應。我們使用 Deepseek-v3 作為評估器,確保實驗在可控網絡環境下進行,避免因連接問題導致請求失敗。所有試驗由 qwen-max-0125 驅動。
4.2、基線方法
實驗評估了以下三種選擇策略:
- 空白條件(Blank):一次性向大語言模型提供所有 MCP 描述,讓其選擇正確的一個。
- 實際匹配(Actual Match):通過關鍵詞匹配預過濾候選池,然后提示詞大模型。
- RAG-MCP:使用向量索引檢索器對所有 MCP 進行語義排序,僅將排名最高的候選者注入大模型提示詞。
4.3、評估指標
我們使用以下三個關鍵指標評估性能:
- 準確率(%):大模型選擇正確 MCP 的試驗百分比。
- 平均提示詞元數:提示詞所消耗的詞元平均數量。
- 平均完成詞元數:大模型生成的最終輸出詞元平均數量。
最終答案的正確性由基于 Llama 的驗證器自動判斷。
4.4、結果
下表總結了基線方法的性能,結果顯示 RAG-MCP 的有效性:

- 準確率:RAG-MCP 達到43.13%,顯著高于實際匹配(18.20%)和空白條件(13.62%)。
- 平均提示詞元數:RAG-MCP為 1084,遠低于空白條件(2133.84)。
- 平均完成詞元數:RAG-MCP 為 78.14,略高于實際匹配(23.60),但與更高的準確率和任務成功率相關。
RAG-MCP 新架構設計的出色表現源于以下幾點:
- 聚焦上下文:僅注入最相關的 MCP 模式,避免了無關工具描述的干擾,使決策更清晰。
- 提示詞效率:大幅減少提示令牌,讓大模型有更多空間用于任務推理,而非處理無關元數據。
- 平衡生成:雖然完成令牌略有增加,但這反映了更全面的推理和驗證,與更高的準確性相匹配。
總體而言,這些發現表明,檢索增強的 MCP 選擇有效控制了提示詞膨脹,提升了大語言模型(LLM)的工具選擇可靠性,使 RAG-MCP 成為可擴展外部工具集成的理想方案。
本文轉載自???玄姐聊AGI?? 作者:玄姐

















