MCP 與 RAG 功能定位差在哪?
下列何者最能正確說明 Model Context Protocol(MCP)與檢索增強生成(Retrieval-Augmented Generation, RAG)在功能定位上的主要差異?
題目直接問:Model Context Protocol(MCP)和 RAG(Retrieval-Augmented Generation)這兩個技術,在「功能定位」上的主要差異是什麼?
問你:MCP 與 RAG 在功能定位上的主要差異,下列哪個描述最正確?
一句話總結
MCP 讓模型與外部工具系統互動(執行操作),RAG 讓模型從外部知識庫搜尋資料後再生成回答:一個是「動作協定」,一個是「知識補充」。
先感受問題:同樣是「讓 AI 取得外部資訊」,差在哪?
假設你是「科技先鋒」軟體公司的 AI 產品經理,老闆要你建一個內部 AI 助理,能做兩件事:一是回答員工關於公司政策和產品手冊的問題,二是讓員工直接叫 AI 查資料庫、送 Email、建立工單。
第一件事(回答政策問題):AI 模型訓練時沒有你公司的內部文件,要讓它回答準確,必須在問問題的時候同時提供相關的政策段落。這就是 RAG 在做的事,先「搜尋」出最相關的段落,再讓 AI 「生成」答案。
第二件事(查資料庫、送 Email):這不是知識搜尋,而是要 AI 跟系統「互動」,執行動作。MCP 就是定義這個互動規格的標準協定,告訴 AI 說:「你想查資料庫,就用這個格式呼叫;你想送 Email,就用另一個格式呼叫。」
這就是為什麼 MCP 和 RAG 看起來都在「讓 AI 用外部資訊」,但本質截然不同。
沒搞清楚 MCP 與 RAG 定位,會踩哪些坑
- 把 RAG 當萬能擴充工具:以為 RAG 可以讓 AI「做任何事」,但 RAG 只是把文字資料餵進 AI,不能讓 AI 真的執行操作(送郵件、改資料庫)
- 以為 MCP 是知識搜尋:MCP 是一種通訊協定,規範 AI 如何和外部工具溝通,不是「搜尋文件」的工具
- 混淆兩者的使用場景:用 RAG 解決「AI 需要執行操作」的問題,結果 AI 只能輸出「你應該去做 X」,但沒辦法真的幫你做 X
- 認為兩者互斥:MCP 和 RAG 可以同時使用,讓 AI 既能查知識庫,又能執行外部系統操作
- 忽視 MCP 是「協定」這個本質:MCP 是 Anthropic 提出的標準,讓不同工具和 AI 模型之間有統一的溝通格式,類似 Web 世界的 HTTP 協定
用一個比喻記清楚 MCP 和 RAG 的差異
回到「科技先鋒」的 AI 助理:
RAG 是「去圖書館查資料再回答問題」。你問 AI「公司的年假政策是什麼」,RAG 系統先去搜尋員工手冊,找到「年假政策第三條」這個段落,把它附在你的問題旁邊,AI 讀了之後給你一個有根據的答案。RAG 的核心動作是:搜尋 → 補充知識 → 生成回答。
MCP 是「給 AI 一支萬能遙控器」。你叫 AI「幫我查一下王小明今天有沒有登入系統」,AI 透過 MCP 協定,用標準格式呼叫公司的登入紀錄 API,拿回結果,再告訴你。MCP 的核心動作是:定義協定 → 呼叫工具 → 取得操作結果。
兩者差別一句話:RAG 補充「知識」,MCP 執行「動作」。
這就是選項 B 講的:MCP 著重模型與外部工具或系統互動;RAG 著重補充模型知識來源。
技術版:MCP 與 RAG 的架構定位
RAG(Retrieval-Augmented Generation)的架構:RAG 系統通常包含三個組件:向量資料庫(儲存文件的語意嵌入)、檢索器(找出最相關段落)、生成模型(把段落和問題一起輸入,生成回答)。它的設計目標是在不重新訓練模型的情況下,讓模型能使用最新的、企業私有的文字資料。
MCP(Model Context Protocol)的架構:MCP 是由 Anthropic 於 2024 年提出的開放標準協定,定義了 AI 模型如何以標準化格式呼叫外部工具(Tools)。透過 MCP Server 和 MCP Client 的架構,AI 可以呼叫檔案系統、資料庫、API、瀏覽器等各種工具,不需要每個工具都寫自訂整合。
兩者可以同時使用:一個完整的 AI Agent 系統可以同時用 RAG(搜尋知識庫)和 MCP(執行外部操作)。例如:AI 先用 RAG 查到相關政策文件,再用 MCP 呼叫 HR 系統幫員工申請年假。
為什麼出題者要考這題:MCP 是 2024-2025 年 AI 應用的熱門新概念,與 RAG 同時出現在很多 AI 產品設計中。初級規劃師必須能區分這兩個工具的定位,才能在實務中正確選擇架構。
為什麼其他選項是錯的
AMCP 主要用於降低模型訓練成本;RAG 主要用於提升推論速度
把 MCP 定位成節省訓練費用的工具,把 RAG 定位成讓模型跑更快的工具。
MCP 跟模型訓練成本完全無關,它是執行期(runtime)的工具互動協定。RAG 也不是用來加速推論的,它的目的是補充知識,實際上因為多了搜尋步驟,推論過程會稍微變慢。這個選項完全搞錯兩者的定位。
對 MCP 和 RAG 完全陌生,只靠字面猜測的人。「Protocol 協定」聽起來很底層,就猜跟訓練有關;「Retrieval 檢索」感覺跟搜尋速度有關,就猜跟推論速度有關。
CRAG 必須依賴向量資料庫;MCP 不需任何外部整合
RAG 一定要用向量資料庫才能運作,MCP 則是完全獨立不需要外部系統。
RAG 的「檢索」步驟常用向量資料庫,但不是唯一方式,傳統關鍵字搜尋也可以做 RAG。更重要的是,MCP 的整個存在意義就是「讓 AI 整合外部系統」,說 MCP 不需任何外部整合是完全說反了。
對 RAG 有一點認識(知道向量資料庫)但對 MCP 完全不熟的人。前半句印象中好像對,就沒有認真檢驗後半句是否也正確。
DRAG 屬標準化通訊協議;MCP 屬資料搜索技術
把 RAG 說成是通訊協定,把 MCP 說成是搜尋技術。
這是把 MCP 和 RAG 的定義完全對調。RAG 是一種生成方法(先搜尋再生成),不是通訊協定;MCP 才是通訊協定。MCP 跟「資料搜索」沒有關係,它是工具互動的標準規格。
把名稱和定義對調的人。「Protocol」這個英文詞代表協定,MCP 才是協定;RAG 名稱裡有「Retrieval(檢索)」,聽起來跟搜尋更相關,但它的整體定位是「生成方法」而非「通訊協定」。
同個考點下次怎麼變形
企業要讓 AI 能查詢公司內部資料庫並生成報告,應該用 RAG 還是 MCP?
都是「取得外部資訊」,到底用哪個?
如果要「查詢資料庫」是指執行 SQL 或 API 呼叫,那是 MCP 的工作;如果內部資料庫存的是文件型知識,要讓 AI 搜尋相關段落輔助生成,那是 RAG。兩者也可以結合:MCP 呼叫資料庫 API 取資料,RAG 從文件庫取知識,最後一起生成完整報告。
RAG 的「R(Retrieval,檢索)」和「G(Generation,生成)」各做什麼?
RAG 三個字母各代表什麼動作?
R(Retrieval):從知識庫搜尋出跟問題最相關的段落。A(Augmented):把這些段落加進提示詞,「增強」輸入給模型的上下文。G(Generation):模型根據增強後的提示詞生成答案。三步合起來就是「先查資料、再輔助生成」。
什麼情況下需要 MCP 而不是直接寫程式整合外部系統?
不用 MCP、直接寫 API 呼叫不就好了?
如果只整合一個工具,直接寫程式沒問題。MCP 的價值在於:當 AI Agent 要整合多個不同工具(資料庫、郵件、檔案、網頁)時,MCP 提供統一的標準格式,讓每個工具都用同一種方式接入,不用為每個工具寫不同的客製整合程式碼。
RAG 解決的核心問題是什麼?為什麼不直接重新訓練模型?
如果公司有很多內部文件,為什麼不直接把文件加進訓練資料,讓模型學起來?
重新訓練模型需要大量算力和時間,成本極高,而且每次文件更新都要重訓,不切實際。RAG 讓模型在不改變本體的情況下,透過「查詢時補充資料」的方式使用最新的外部知識,成本低且可以隨時更新知識庫。
MCP 和 Function Calling 有什麼關係?
OpenAI 的 Function Calling 也是讓 AI 呼叫外部工具,跟 MCP 是一樣的東西嗎?
Function Calling 是各家 AI 模型廠商(如 OpenAI)提供的功能,讓模型可以呼叫預先定義好的函式。MCP 是 Anthropic 提出的更上層的標準協定,目標是讓不同 AI 模型和不同工具之間有統一的溝通格式。MCP 的層次比 Function Calling 更高,試圖成為 AI 工具整合的通用標準。
想再往下看,這 5 個
- 檢索增強生成(Retrieval-Augmented Generation)先從外部知識庫搜尋相關段落再生成回答,著重「補充知識來源」,是本題與 MCP 功能定位差異的一端
- AI 代理(AI Agent)能自主規劃、呼叫工具、執行多步驟任務的 AI 系統,MCP 是 Agent 整合外部工具和系統的核心標準協定
- 向量資料庫(Vector Database)將文字轉換為語意向量並支援相似度搜尋,是 RAG 系統常用的知識庫儲存工具,但 RAG 不限於向量搜尋
- 函數呼叫(Function Calling)讓 LLM 以標準格式呼叫外部函式的機制,與 MCP 都是讓 AI 執行「動作」的技術,但 MCP 層次更高是跨廠商標準
- 提示工程(Prompt Engineering)設計輸入提示引導模型輸出,RAG 和 MCP 都會影響提示詞的組成方式,但各自在架構中扮演不同角色