譯者 | 晶顏
審校 | 重樓
作為軟件工程師,我們耗費數(shù)年時間鉆研API集成技藝,攻克了表述性狀態(tài)傳遞(REST)端點難題,調(diào)試了身份驗證流程,并構(gòu)建了無數(shù)適配器以實現(xiàn)不同系統(tǒng)間的互聯(lián)互通。然而,隨著人工智能從實驗性技術(shù)轉(zhuǎn)變?yōu)樯a(chǎn)必備要素,我們正見證軟件系統(tǒng)通信方式的根本性變革。
傳統(tǒng)API VS. MCP
API基石:雙刃劍的特性
我們必須認(rèn)可API的貢獻(xiàn):它們通過為系統(tǒng)提供標(biāo)準(zhǔn)化交互方式,推動軟件開發(fā)實現(xiàn)了革命性突破。例如,Stripe支付API使全球開發(fā)者能通過簡單的超文本傳輸協(xié)議(HTTP)調(diào)用復(fù)雜的金融交易功能,GitHub的REST API則為整個開發(fā)工具生態(tài)系統(tǒng)的構(gòu)建奠定了基礎(chǔ)。這些成功案例塑造了我們對系統(tǒng)集成的認(rèn)知。
API技術(shù)的演進(jìn):從SOAP到MCP
然而,API也存在固有的局限性,在構(gòu)建智能系統(tǒng)時,這些局限性愈發(fā)凸顯。傳統(tǒng)API具有以下特征:
- 無狀態(tài)設(shè)計:每個請求均為獨立存在的個體;
- 范圍固定:端點為預(yù)定義且靜態(tài)的形式;
- 手動集成:開發(fā)人員必須為每個服務(wù)編寫自定義代碼;
- 實現(xiàn)碎片化:存在多樣化的身份驗證方案、響應(yīng)格式及錯誤處理模式。
這些特性對于傳統(tǒng)的Web應(yīng)用程序非常適用,在這些應(yīng)用程序中,開發(fā)人員可以控制集成邏輯和用戶體驗。然而,對于人工智能代理等智能系統(tǒng)而言,這些特性卻構(gòu)成了障礙,因為它們需要在無人工協(xié)助的情況下,自主找到符合其工作流需求的多個服務(wù)和工具并與之交互。
智能代理時代的來臨
大型語言模型(如GPT-4和Claude)的興起催生了前所未有的事物:具備自主推理、規(guī)劃與行動能力的軟件。這些人工智能代理能夠理解自然語言指令,分解復(fù)雜任務(wù),并協(xié)調(diào)多項操作以達(dá)成目標(biāo)。
試想,當(dāng)你向人工智能助手下達(dá)指令:“分析團(tuán)隊上月生產(chǎn)力,安排與利益相關(guān)者的審查會議,并準(zhǔn)備一份總結(jié)報告。”這一簡單請求需要完成以下操作:
- 訪問項目管理數(shù)據(jù);
- 查詢?nèi)諝v系統(tǒng);
- 檢索團(tuán)隊指標(biāo);
- 生成文件;
- 發(fā)送通知。
如果采用傳統(tǒng)API,你需要為每個服務(wù)預(yù)先構(gòu)建集成,處理多個系統(tǒng)的身份驗證,并編寫自定義邏輯以協(xié)調(diào)上述操作,而代理的能力也將局限于專門編碼的集成范圍之內(nèi)。
傳統(tǒng)API方法和MCP方式效果對比
模型上下文協(xié)議:缺失的環(huán)節(jié)
這正是模型上下文協(xié)議(MCP)的價值所在。該協(xié)議于2024年11月推出,并未試圖取代API,而是創(chuàng)建了一個專為人工智能代理設(shè)計的標(biāo)準(zhǔn)化層級。
MCP的三大支柱
模型上下文協(xié)議引入三個基本元素,以增強(qiáng)人工智能集成能力:
- 工具:可供代理動態(tài)調(diào)用的離散函數(shù)。與API端點不同,MCP工具具備自描述功能,可供代理在運(yùn)行時發(fā)現(xiàn)。
- 資源:代理可查詢上下文的只讀數(shù)據(jù)源。通過該資源,代理能夠訪問文檔、配置文件及實時數(shù)據(jù)。
- 提示模板:用于輔助人工智能模型與用戶交互以執(zhí)行特定任務(wù)的預(yù)定義模板,其提供預(yù)設(shè)指令以指導(dǎo)人工智能在不同場景下的行為。
MCP的三大支柱
動態(tài)發(fā)現(xiàn)的作用
這是MCP的核心優(yōu)勢所在。當(dāng)人工智能代理啟動時,可查詢可用的MCP服務(wù)器并發(fā)現(xiàn)其功能。示例如下:
1 {
2 "jsonrpc": "2.0",
3 "method": "tools/list",
4 "id": 1
5 }
其返回結(jié)果可能包含數(shù)十種可用工具:
1{
2 "jsonrpc": "2.0",
3 "id": 1,
4 "result": [
5 {
6 "name": "createJiraTicket",
7 "description": "Create a new JIRA issue with specified details",
8 "input_schema": {
9 "type": "object",
10 "properties": {
11 "title": {"type": "string"},
12 "description": {"type": "string"},
13 "priority": {"type": "string", "enum": ["low", "medium", "high"]}
14 }
15 }
16 },
17 {
18 "name": "analyzeCodeQuality",
19 "description": "Run static analysis on a code repository"
20 }
21 ]
22}
隨后,代理可通過標(biāo)準(zhǔn)化協(xié)議調(diào)用這些工具,無需依賴預(yù)先配置的集成。
實際應(yīng)用場景:構(gòu)建一個DevOps助手
不妨以一個具體案例進(jìn)行闡釋。假設(shè)你正在為DevOps團(tuán)隊構(gòu)建一款人工智能助手,其需具備以下功能:
- 監(jiān)控應(yīng)用程序運(yùn)行狀態(tài);
- 創(chuàng)建事故工單;
- 部署熱修復(fù)程序;
- 更新團(tuán)隊溝通內(nèi)容。
傳統(tǒng)API方法
采用傳統(tǒng)API時,你需完成以下操作:
- 研讀Datadog、PagerDuty、GitHub及Slack等平臺的API文檔;
- 為每個服務(wù)實現(xiàn)身份驗證機(jī)制;
- 處理不同的限流方案;
- 為各集成項編寫自定義錯誤處理程序;
- 手動協(xié)調(diào)服務(wù)間的工作流;
- 在API發(fā)生變更時更新代碼。
這種方法雖能實現(xiàn)功能,但體系脆弱且需持續(xù)維護(hù)。
MCP方法
借助MCP,你的DevOps助手可實現(xiàn):
- 啟動時自動發(fā)現(xiàn)可用的監(jiān)控、票務(wù)及部署工具;
- 動態(tài)適配環(huán)境中新增的工具;
- 對所有交互采用統(tǒng)一協(xié)議;
- 利用內(nèi)置的錯誤處理與重試邏輯;
- 自動協(xié)調(diào)復(fù)雜工作流程。
底層服務(wù)仍沿用其原生API(如REST、GraphQL等),而MCP服務(wù)器則充當(dāng)智能轉(zhuǎn)換器,通過統(tǒng)一接口對外提供功能。
技術(shù)架構(gòu)
MCP基于客戶端-服務(wù)器模型運(yùn)行,采用JSON-RPC 2.0協(xié)議,可在多種傳輸層(標(biāo)準(zhǔn)輸入輸出、HTTP、WebSocket等)上運(yùn)行。這種設(shè)計具有以下優(yōu)勢:
- 語言無關(guān)性:任何可處理JSON-RPC的語言均可實現(xiàn)MCP;
- 傳輸靈活性:支持多種通信渠道;
- 雙向性:兼容請求-響應(yīng)模式與流模式;
- 可擴(kuò)展性:新增功能時不會破壞現(xiàn)有實現(xiàn)。
MCP與傳統(tǒng)API的適用場景
明確兩種方法的適用場景至關(guān)重要:
適用傳統(tǒng)API的場景:
- 構(gòu)建傳統(tǒng)Web應(yīng)用程序;
- 集成少量知名服務(wù);
- 需對每個集成細(xì)節(jié)進(jìn)行精細(xì)化控制。
適用MCP的場景:
- 構(gòu)建基于AI的應(yīng)用程序;
- 需要動態(tài)服務(wù)發(fā)現(xiàn)功能;
- 希望最小化集成維護(hù)成本;
- 規(guī)劃實現(xiàn)自主代理功能;
- 處理頻繁變化的服務(wù)環(huán)境。
智能集成的未來
隨著2025年及未來的臨近,軟件集成領(lǐng)域正呈現(xiàn)快速發(fā)展態(tài)勢。人工智能代理的復(fù)雜性不斷提升,使其能夠自主執(zhí)行高級操作;而持續(xù)變化的環(huán)境則要求組織探索系統(tǒng)通信與協(xié)作的新方式。
MCP不僅是一種新協(xié)議,更代表著智能系統(tǒng)與數(shù)字世界交互方式的徹底變革。通過提供動態(tài)發(fā)現(xiàn)、標(biāo)準(zhǔn)化通信及內(nèi)置適應(yīng)性,MCP使人工智能代理成為真正自主的問題解決者。
MCP入門指南
若你計劃在項目中探索MCP,可參考以下實用步驟:
- 體驗現(xiàn)有MCP服務(wù)器:官方MCP存儲庫包含適用于GitHub、谷歌Drive、PostgreSQL等流行服務(wù)的服務(wù)器;
- 構(gòu)建簡易MCP服務(wù)器:從在MCP接口中封裝現(xiàn)有API入手;
- 將MCP集成至AI應(yīng)用:嘗試在當(dāng)前代理實現(xiàn)中使用兼容MCP的工具。
結(jié)論:演進(jìn)而非革命
MCP對于AI代理而言,正如API對于Web應(yīng)用程序,是一項基礎(chǔ)性推動技術(shù)。但與API靜態(tài)暴露功能不同,MCP帶來了發(fā)現(xiàn)、抽象與適應(yīng)性。
MCP并非要顛覆我們多年構(gòu)建的API生態(tài)系統(tǒng)。相反地,它是彌合傳統(tǒng)API的靜態(tài)確定性世界與AI驅(qū)動應(yīng)用的動態(tài)智能未來之間差距的下一步演進(jìn)。
作為開發(fā)人員,我們的職責(zé)是洞察這些變化并相應(yīng)調(diào)整架構(gòu)。隨著人工智能不斷發(fā)展并重塑軟件的構(gòu)建與部署方式,盡早掌握這一轉(zhuǎn)變的企業(yè)和團(tuán)隊將獲得顯著優(yōu)勢。
問題的關(guān)鍵不在于MCP是否會取代API,而在于我們能否盡快利用這兩種技術(shù)構(gòu)建用戶日益期待的智能系統(tǒng)。軟件集成的未來是動態(tài)化、可發(fā)現(xiàn)且原生適配人工智能的——你準(zhǔn)備好構(gòu)建這樣的未來了嗎?
原文標(biāo)題:The Evolution of Software Integration: How MCP Is Reshaping AI Development Beyond Traditional APIs,作者:Chetan Yeddula