上一周,智能體迎來(lái)里程碑式的一周。 從Manus及其開(kāi)源復(fù)現(xiàn),到Opera的瀏覽器操作AI智能體、AI工作伴侶Archer,再到多種個(gè)人項(xiàng)目,將Agent推向熱議風(fēng)口。 在處理動(dòng)輒需要十幾甚至幾十分鐘的復(fù)雜任務(wù)時(shí),涉及到3個(gè)核心能力: 1、規(guī)劃 2、工具使用 3、記憶 其中,第二趴是讓智能體「動(dòng)起來(lái)」的關(guān)鍵,真正與現(xiàn)實(shí)世界進(jìn)行交互。 舉個(gè)例子,當(dāng)前最強(qiáng)的開(kāi)源復(fù)現(xiàn)OWL在查找倫敦今日放映的電影時(shí),AI智能體主動(dòng)調(diào)用Chrome搜索工具后,精準(zhǔn)返回影院的實(shí)時(shí)信息。 而最火的開(kāi)源項(xiàng)目OpenMauns,在查找Karpathy個(gè)人信息主頁(yè)信息時(shí),也是基于強(qiáng)大的工具使用能力。 這些案例生動(dòng)地證明了,工具使用,能讓智能體跳出空想局限,進(jìn)化出會(huì)做事的能力。 而作為最強(qiáng)的標(biāo)準(zhǔn)化接口協(xié)議,MCP也在一夜間爆紅硅谷,無(wú)人不知。 對(duì)于圈外的人來(lái)說(shuō),可能對(duì)此有所陌生。而它的本質(zhì),就是智能體系統(tǒng)的一種。 一次搭建,代替1億次配置 去11月,Anthropic首次提出「模型上下文協(xié)議」,即MCP,賦予了Claude模型超級(jí)能力,一次構(gòu)建,讓AI與工作流深度集成。 其主要優(yōu)勢(shì)如下: 開(kāi)發(fā)簡(jiǎn)化:一次編寫(xiě),多次集成,無(wú)需為每個(gè)新集成重寫(xiě)定制代碼 靈活性:切換AI模型或工具時(shí),不需要復(fù)雜的重新配置 實(shí)時(shí)響應(yīng):MCP連接保持活躍狀態(tài),支持實(shí)時(shí)上下文更新和交互 安全性和合規(guī)性:內(nèi)置訪(fǎng)問(wèn)控制機(jī)制和標(biāo)準(zhǔn)化的安全實(shí)踐 可擴(kuò)展性:隨著AI生態(tài)系統(tǒng)的擴(kuò)展,只需連接新的MCP服務(wù)器即可輕松添加新功能 用通俗的話(huà)講,MCP就像是專(zhuān)為AI應(yīng)用設(shè)計(jì)的通用接口,類(lèi)似我們?nèi)粘J褂玫腢SB-C。 正如USB-C簡(jiǎn)化了不同設(shè)備與計(jì)算機(jī)的連接方式,MCP簡(jiǎn)化了AI模型與數(shù)據(jù)、工具和服務(wù)之間的交互方式。 通過(guò)MCP,AI助手不僅能夠「讀懂」代碼,還能「理解」團(tuán)隊(duì)討論、涉及文檔等外部信息,提供更加精準(zhǔn)的回答。 MCP是一種標(biāo)準(zhǔn)化協(xié)議,用于連接AI智能體與各種外部工具和數(shù)據(jù)源 相比之下,在沒(méi)有MCP之前,AI助手要想與外部工具互動(dòng),必須通過(guò)編寫(xiě)代碼并調(diào)用API,這意味著每一種具體的連接都需要提前手動(dòng)編程,效率低下且耗時(shí)費(fèi)力。 更棘手的是,每個(gè)AI助手與每個(gè)外部工具之間都需要單獨(dú)進(jìn)行配置。如果有1000個(gè)AI助手和1000個(gè)外部工具,理論上需要編寫(xiě)1000×1000=100萬(wàn)個(gè)獨(dú)立的連接代碼,工作量簡(jiǎn)直是個(gè)天文數(shù)字。 打個(gè)比方:API就像是不同的門(mén),其中每扇門(mén)都有自己獨(dú)特的鑰匙和使用規(guī)則: 傳統(tǒng)API要求開(kāi)發(fā)人員為每個(gè)服務(wù)或數(shù)據(jù)源編寫(xiě)定制化的集成代碼 而MCP的出現(xiàn)就像為AI助手和外部系統(tǒng)打造了一套通用的「標(biāo)準(zhǔn)語(yǔ)言」,堪稱(chēng)是智能體生態(tài)的一次「標(biāo)準(zhǔn)化革命」。 一旦某個(gè)AI助手實(shí)現(xiàn)了MCP協(xié)議,它就能通過(guò)這個(gè)協(xié)議無(wú)縫連接上成千上萬(wàn)的外部工具,無(wú)需再為每種連接單獨(dú)編寫(xiě)代碼。 同樣,外部工具(比如郵件、天氣應(yīng)用等)也只需搭建一次MCP服務(wù)器,之后所有支持MCP的AI助手都可以直接與之交互。 假如有1萬(wàn)個(gè)AI助手和1萬(wàn)個(gè)外部工具。在MCP模式下,每方只需實(shí)現(xiàn)一次協(xié)議,總共只需2萬(wàn)次配置。 而按照傳統(tǒng)編碼方式,每種AI助手與每種外部工具都要單獨(dú)對(duì)接,那將是1萬(wàn)×1萬(wàn)=1億次配置! 這直接使配置效率提高了不止一個(gè)維度。 MCP的靈活性也非常突出,它既可以在云端運(yùn)行,也可以在本地設(shè)備上部署,適應(yīng)性極強(qiáng)。 可以說(shuō),MCP就像為AI助手和外部系統(tǒng)之間架設(shè)了一條高速路,取代了過(guò)去需要技術(shù)人員一橋一橋手工搭建的低效模式。 什么是MCP? 正如前文所說(shuō),MCP(Model Context Protocol)是一種新的開(kāi)放協(xié)議,目的是為L(zhǎng)LM提供標(biāo)準(zhǔn)化的上下文信息傳遞方式,從而實(shí)現(xiàn)AI智能體與外部數(shù)據(jù)及工具的結(jié)合。 和傳統(tǒng)的API相比,MCP的區(qū)別在于: 單一協(xié)議:MCP作為一種標(biāo)準(zhǔn)化的「通用接口」,集成一個(gè)MCP意味著可以訪(fǎng)問(wèn)多個(gè)工具和服務(wù),而不僅僅是單一服務(wù)。 動(dòng)態(tài)發(fā)現(xiàn):MCP允許AI模型動(dòng)態(tài)發(fā)現(xiàn)并與可用工具交互,無(wú)需預(yù)先設(shè)定每個(gè)集成的固定代碼。 雙向通信:MCP支持持續(xù)、實(shí)時(shí)的雙向通信——類(lèi)似于WebSockets。AI模型既可以獲取信息,也可以實(shí)時(shí)觸發(fā)操作。 其中,實(shí)時(shí)雙向通信的機(jī)制如下: 拉取數(shù)據(jù):LLM向服務(wù)器查詢(xún)上下文信息。例如,查看你的日歷安排。 觸發(fā)操作:LLM指示服務(wù)器執(zhí)行具體操作。例如,重新安排會(huì)議、發(fā)送電子郵件。 不過(guò),如果應(yīng)用場(chǎng)景需要精確、可預(yù)測(cè)的交互模式,并有嚴(yán)格的限制條件,傳統(tǒng)API可能更為適合。 MCP提供了廣泛、動(dòng)態(tài)的能力,非常適合需要靈活性和上下文感知的場(chǎng)景,但對(duì)于高度受控的、確定性的應(yīng)用可能不是最佳選擇。 在以下情況下推薦使用傳統(tǒng)API: 需要精細(xì)控制和高度特定、受限的功能場(chǎng)景 追求性能優(yōu)化而需要緊密耦合的系統(tǒng) 要求最高可預(yù)測(cè)性和最小上下文自主性的應(yīng)用 架構(gòu)MCP采用簡(jiǎn)單的客戶(hù)端-服務(wù)器架構(gòu)模式: MCP主機(jī):需要訪(fǎng)問(wèn)外部數(shù)據(jù)或工具的應(yīng)用程序(如Claude Desktop或AI驅(qū)動(dòng)的集成開(kāi)發(fā)環(huán)境) MCP客戶(hù)端:與MCP服務(wù)器維持專(zhuān)屬的一對(duì)一連接 MCP服務(wù)器:輕量級(jí)服務(wù)器,通過(guò)MCP協(xié)議提供特定功能,連接到本地或遠(yuǎn)程數(shù)據(jù)源 本地?cái)?shù)據(jù)源:MCP服務(wù)器安全訪(fǎng)問(wèn)的文件、數(shù)據(jù)庫(kù)或服務(wù) 遠(yuǎn)程服務(wù):MCP服務(wù)器訪(fǎng)問(wèn)的基于互聯(lián)網(wǎng)的外部API或服務(wù) 將MCP比作一座橋梁可以更清晰地理解:MCP本身不處理復(fù)雜邏輯;它只是協(xié)調(diào)AI模型和各種工具之間的數(shù)據(jù)和指令流通。 具體來(lái)說(shuō),服務(wù)器就是與API進(jìn)行交互的東西。它可以在遠(yuǎn)程服務(wù)器上(例如,在云上),或者在你的本地系統(tǒng)上。 它包含了所有系統(tǒng)上需要與之交互進(jìn)而采取行動(dòng)的代碼,比如發(fā)送Slack消息、創(chuàng)建文件等等。 如下圖所示,可以通過(guò)MCP服務(wù),調(diào)用GitHub API在倉(cāng)庫(kù)里創(chuàng)建代碼文件。 MCP客戶(hù)端負(fù)責(zé)與服務(wù)器進(jìn)行通信。客戶(hù)端的一個(gè)非?岬奶攸c(diǎn)是它可以同時(shí)與多個(gè)服務(wù)器進(jìn)行交互。 所以你可以設(shè)置專(zhuān)門(mén)的服務(wù)器來(lái)處理GitHub交互和Slack交互,然后把它們接入同一個(gè)客戶(hù)端。 最重要的,協(xié)議是使一切運(yùn)作的關(guān)鍵?梢詫⑺暈橐环N永遠(yuǎn)不會(huì)改變的通用語(yǔ)言,MCP服務(wù)器和MCP客戶(hù)端都能使用。 它就像USB接口一樣,用于將MCP客戶(hù)端連接到MCP服務(wù)器。 USB接口讓手機(jī)連接到筆記本電腦,MCP協(xié)議讓你可以將第三方API連接到桌面應(yīng)用程序。 針對(duì)各種類(lèi)型的MCP客戶(hù)端,Total TypeScript的作者M(jìn)att Pocock還進(jìn)行了一波對(duì)比。 可以看到,Claude Desktop和Continue支持資源、提示、工具,功能很全面。5ire和BeeAI Framework就比較有限,工具支持還可以,但其他方面基本不行。Cline也支持資源和工具,但不支持提示。Cursor和Emacs Mcp主要支持工具,其他功能都不行,適合簡(jiǎn)單工具操作。 應(yīng)用場(chǎng)景在實(shí)際應(yīng)用中,MCP客戶(hù)端(例如,client.py中的Python腳本)會(huì)與管理各種特定工具(如Gmail、Slack或日歷應(yīng)用)交互的MCP服務(wù)器進(jìn)行通信。 這種標(biāo)準(zhǔn)化大大降低了復(fù)雜度,使開(kāi)發(fā)人員能夠快速實(shí)現(xiàn)復(fù)雜的交互功能。 1. 行程規(guī)劃助手 使用傳統(tǒng)API需要為Google日歷、電子郵件、航空公司預(yù)訂API分別編寫(xiě)代碼,每個(gè)都需要單獨(dú)的認(rèn)證、上下文傳遞和錯(cuò)誤處理邏輯。 使用MCP則容易得多,AI助手能夠無(wú)縫地檢查日歷可用時(shí)間,預(yù)訂航班,并發(fā)送確認(rèn)郵件——所有這些都通過(guò)MCP服務(wù)器完成,無(wú)需為每個(gè)工具單獨(dú)開(kāi)發(fā)集成代碼。 2. 高級(jí)IDE(智能代碼編輯器) 使用傳統(tǒng)API需要手動(dòng)將開(kāi)發(fā)環(huán)境與文件系統(tǒng)、版本控制、包管理器和文檔系統(tǒng)集成在一起。 而使用MCP,開(kāi)發(fā)環(huán)境將通過(guò)單一MCP協(xié)議連接這些服務(wù),實(shí)現(xiàn)更豐富的上下文感知能力和更智能的代碼建議 3. 復(fù)雜數(shù)據(jù)分析 使用傳統(tǒng)API需要手動(dòng)管理與各個(gè)數(shù)據(jù)庫(kù)和數(shù)據(jù)可視化工具的連接。 使用MCP AI分析平臺(tái)能夠通過(guò)統(tǒng)一的MCP層自動(dòng)發(fā)現(xiàn)并與多個(gè)數(shù)據(jù)庫(kù)、可視化工具和模擬系統(tǒng)進(jìn)行交互。 快速入門(mén)MCP集成流程: 定義功能:明確規(guī)劃M(mǎn)CP服務(wù)器將提供哪些功能 實(shí)現(xiàn)MCP層:遵循標(biāo)準(zhǔn)化的MCP協(xié)議規(guī)范進(jìn)行開(kāi)發(fā) 選擇傳輸方式:在本地傳輸(stdio)或遠(yuǎn)程傳輸(服務(wù)器發(fā)送事件/WebSockets)之間選擇 創(chuàng)建資源/工具:開(kāi)發(fā)或連接MCP將要交互的特定數(shù)據(jù)源和服務(wù) 設(shè)置客戶(hù)端:在MCP服務(wù)器和客戶(hù)端之間建立安全穩(wěn)定的連接通道 MCP用例爆發(fā) 大模型爆火之后,提示工程師成為新型職業(yè)。如今,已經(jīng)有大佬建議,開(kāi)發(fā)者們趕快去構(gòu)建商業(yè)化MCP服務(wù)器吧。 Total TypeScript的作者M(jìn)att Pocock僅用28行代碼就開(kāi)發(fā)出了一個(gè)MCP服務(wù)器。 Cursor+MCP夢(mèng)幻聯(lián)動(dòng),即可迅速構(gòu)建出客戶(hù)需求的功能,全程無(wú)需人類(lèi)干預(yù)。 對(duì)于碼農(nóng)來(lái)說(shuō),又是效率的一次極致提升。AI不僅能幫你寫(xiě)代碼,還能自動(dòng)完成從需求分析到功能上線(xiàn)的全流程。 客戶(hù)通過(guò)Slack發(fā)送功能需求,Cursor自動(dòng)讀取消息、構(gòu)建功能,并創(chuàng)建Pull Request 前Meta研究員、CopilotKit創(chuàng)始人Atai Barkai剛剛開(kāi)源了一個(gè)Open MCP Client的項(xiàng)目。 它可以讓任何應(yīng)用,直接與MCP服務(wù)器直接對(duì)話(huà),實(shí)現(xiàn)更更多智能的功能。 只需從Composio中獲取一個(gè)URL,開(kāi)發(fā)者即可在自己的應(yīng)用中集成這個(gè)MCP的能力,無(wú)需從0開(kāi)發(fā)。 項(xiàng)目地址:https://open-mcp-client.vercel.app/ Agno的開(kāi)發(fā)者Ashpreet Bedi打造了一款「通用MCP智能體」UAgl,可以借此輕松連接和管理多個(gè)MCP服務(wù)器。 開(kāi)發(fā)者Will Brown開(kāi)源了MCP Test Client,可以在開(kāi)發(fā)過(guò)程中測(cè)試MCP服務(wù)器時(shí)既充當(dāng)服務(wù)器(對(duì)Claude而言),又充當(dāng)客戶(hù)端(對(duì)被測(cè)試的服務(wù)器而言)。 參考資料: https://norahsakal.com/blog/mcp-vs-api-model-context-protocol-explained/ https://x.com/AtomSilverman/status/1898148065896546385 https://x.com/mattpocockuk/status/1897932371799810314 本文來(lái)源:新智元 |
原創(chuàng)欄目
IT百科
網(wǎng)友評(píng)論
聚超值•精選