為了讓大魔聽(tīng)懂 MCP是什么,我寫了MCP的前世今生

云舒
0 評(píng)論 1056 瀏覽 3 收藏 16 分鐘

MCP(Model Context Protocol)作為一項(xiàng)新興技術(shù),正在改變AI模型與外部世界交互的方式。本文深入剖析了MCP的起源、發(fā)展、應(yīng)用場(chǎng)景以及未來(lái)趨勢(shì),通過(guò)生動(dòng)的案例展示了MCP如何讓AI模型“看得見(jiàn)世界,動(dòng)得了手腳”,并為讀者提供了快速上手MCP的實(shí)用指南,幫助大家更好地理解和應(yīng)用這一前沿技術(shù)。

MCP的本質(zhì)是為了讓模型“看得見(jiàn)世界,動(dòng)得了手腳”。

之前假期我們用MCP做了聚會(huì)規(guī)劃,我覺(jué)得體驗(yàn)還蠻不錯(cuò)的,我去和大魔、相柳聊對(duì)MCP的看法;洋洋灑灑的說(shuō)了一堆之后,大魔問(wèn)我:什么是MCP?有什么用,說(shuō)點(diǎn)小白能聽(tīng)懂的。

后邊也有幾個(gè)小伙伴問(wèn)我類似的問(wèn)題,并且有的上手用了之后也會(huì)很困惑,這個(gè)MCP到底有點(diǎn)啥用,這些功能看起來(lái)不用MCP也能搞定呀。

因此寫了這篇文章,希望跟大家聊聊MCP是怎么發(fā)展出來(lái)的、MCP目前有哪些好的應(yīng)用場(chǎng)景、MCP未來(lái)會(huì)是什么樣子的。

要了解MCP的發(fā)展,我們需要先回到22年ChatGPT誕生的時(shí)候。

最早期的ChatGPT是一個(gè)單純只能聊天的AI,它沒(méi)有今天的聯(lián)網(wǎng)、畫圖、畫布等諸多功能。

但模型訓(xùn)練是有語(yǔ)料限制的,在用的時(shí)候我們會(huì)發(fā)現(xiàn),當(dāng)前的一些信息ChatGPT是不具備的,它只會(huì)回答訓(xùn)練語(yǔ)料內(nèi)的內(nèi)容,要么就是開(kāi)始瞎編亂造了。

人們開(kāi)開(kāi)紛紛想辦法解決這個(gè)問(wèn)題,當(dāng)時(shí)有許多谷歌瀏覽器插件解決ChatGPT的搜索問(wèn)題,它會(huì)把你發(fā)給ChatGPT的話先拿過(guò)來(lái)搜索一次,然后把一堆預(yù)料給到ChatGPT,再讓它來(lái)回答問(wèn)題。

就是大力扔數(shù)據(jù)的模式,只不過(guò)是借助插件來(lái)實(shí)現(xiàn)的。

訓(xùn)練增加預(yù)料約束幻覺(jué)、搜索增加信息、RAG填充信息,其實(shí)人們做的都不過(guò)是一件事情:讓模型看得見(jiàn)世界,了解更多的知識(shí)。

但模型有了更多的知識(shí),我們讓它把一份內(nèi)容生成一個(gè)Excel表,它依舊是做不到的,因?yàn)樗⒉痪邆湔{(diào)用工具的能力,它只能做純文本上的輸出。

于是大家開(kāi)始開(kāi)發(fā)各種的插件來(lái)讓模型具備一定的工具調(diào)用能力,讓它能夠去查天氣、查網(wǎng)頁(yè)、分析數(shù)據(jù)、畫圖。

給模型更多的工具使用能力,讓它能夠動(dòng)的了手腳。

在23年6月份的時(shí)候ChatGPT發(fā)布了一個(gè)協(xié)議模型調(diào)用工具的協(xié)議叫Function Call,第一個(gè)基準(zhǔn)出現(xiàn)了。

Function Call ≈ “讓模型以結(jié)構(gòu)化方式使用你的 API”的協(xié)議層。

以一個(gè)搜索的Function Call為例,它其實(shí)就是通過(guò)模型喚起搜索函數(shù),然后告訴API我要搜索什么。{??“name”:?“search_web”,??“arguments”:?{? ??“query”:?“MCP 是什么”??}}

雖然各家大模型都陸續(xù)支持了 Function Call 機(jī)制,但它在落地過(guò)程中有幾個(gè)明顯的問(wèn)題:1.?廠商之間機(jī)制不統(tǒng)一, 接入成本高:大家雖然都用的是function call的機(jī)制,但是字段名稱、參數(shù)結(jié)構(gòu)、返回格式也都有各自的區(qū)別,要做多個(gè)模型兼容適配的時(shí)候麻煩的要死,成本高很多。2.?各個(gè)工具也缺乏統(tǒng)一的調(diào)用基準(zhǔn):大家各自API接口開(kāi)發(fā)的內(nèi)容嘛,只能說(shuō)五花八門,基本上就是定制開(kāi)發(fā),沒(méi)啥復(fù)用性,每個(gè)工具跟每個(gè)模型都得單獨(dú)開(kāi)發(fā)一次。

不僅僅是Function Call大家沒(méi)統(tǒng)一,連調(diào)用模型時(shí)候的Token統(tǒng)計(jì)各家大模型都不一致,有的數(shù)據(jù)全都給你,有的需要你做二次開(kāi)發(fā),有的壓根沒(méi)有需要你自己統(tǒng)計(jì),有的還得兼容虛擬緩存,算個(gè)token消耗簡(jiǎn)直累死個(gè)人。

24年AI編程隨著Claude3.5 sonnet的出現(xiàn)邁入了一個(gè)新的臺(tái)階,Cursor代表的AI編程工具開(kāi)始走進(jìn)大眾的視野,當(dāng)普通人能夠借助AI開(kāi)始編寫程序時(shí),行業(yè)對(duì)于模型和外界交互的訴求也到了臨界點(diǎn)。

無(wú)非是誰(shuí)先來(lái)推出這個(gè)基準(zhǔn)。

于是24年11月份,Claude團(tuán)隊(duì)帶來(lái)了第二個(gè)基準(zhǔn):MCP(Model Context Protocol)

如果說(shuō)世界是一個(gè)商場(chǎng),在只有Function Call的商場(chǎng)里,每家店都自己裝修、貨架標(biāo)簽自己命名、自己自由擺放,模型進(jìn)去發(fā)現(xiàn)什么都不一樣,想找個(gè)可樂(lè)都得先研究一下這個(gè)商家的布局是怎么樣的,效率極低。

而MCP是一個(gè)標(biāo)準(zhǔn)化商場(chǎng),所有商家的布局結(jié)構(gòu)都長(zhǎng)得一模一樣,貨架、標(biāo)簽都是統(tǒng)一的規(guī)范,模型只要理解一套基準(zhǔn)就可以從這個(gè)商場(chǎng)里拿走它想要的所有東西。

MCP并未取代Function Call,它只是把商家布局變得更好了,方便去模型去做Function Call。

入駐的商家越多,模型能夠觸達(dá)的世界越大。

自從11月份Claude推出MCP協(xié)議后,各個(gè)公司、開(kāi)發(fā)者們也在做跟進(jìn),在4月份我們可以看到百花齊放的MCP市場(chǎng),阿里云的百煉和idoubi的mcp.so都是很不錯(cuò)的平臺(tái)。

但目前我們想調(diào)用MCP在模型內(nèi)部還是做不到的,一般都是通過(guò)AI編程軟件Windsurf或者Cursor來(lái)實(shí)現(xiàn)調(diào)用。

我個(gè)人更推薦使用Windsurf,只需要填入json即可高效使用,不需要調(diào)試太多的東西,對(duì)小白超級(jí)有好。

阿里云的百煉智能體倒也是支持MCP服務(wù),但在智能體調(diào)試中其實(shí)看不到MCP的具體模塊,可以用來(lái)嘗試但是體驗(yàn)略差越windsurf。

那現(xiàn)在能用MCP做哪些事情呢?我給大家列舉一些案例,先讓大家體驗(yàn)一下MCP的作用。

1.查看北京未來(lái)幾天的天氣并做成網(wǎng)站(高德地圖MCP服務(wù))

本來(lái)我想讓它畫一個(gè)7天的網(wǎng)頁(yè),但是高德的返回值只給了4天的數(shù)據(jù),所以天氣預(yù)報(bào)只有這4天的數(shù)據(jù)。

我們可以從這個(gè)圖中看到,Claude在我發(fā)出把北京未來(lái)7天天氣預(yù)報(bào)做成網(wǎng)頁(yè)后,它激活了高德的MCP服務(wù),并且獲得了近4天的數(shù)據(jù),然后把這些數(shù)據(jù)畫成一個(gè)html網(wǎng)頁(yè)。

整個(gè)環(huán)節(jié)我只需要說(shuō)一句話,剩下的全部由模型自己來(lái)搞定。

2.做一個(gè)從北京西站到環(huán)球影城的出游路線(高德地圖MCP服務(wù))

接著天氣預(yù)報(bào),我告訴Claude明天我要到北京西站了,我要去環(huán)球玩希望它給我做一個(gè)規(guī)劃路線出來(lái)。

同樣是我告訴模型一句話,模型自己規(guī)劃好,然后去調(diào)用MCP最后生成一個(gè)網(wǎng)站。

在北京西站到環(huán)球這個(gè)路線規(guī)劃中,它主要調(diào)用了兩個(gè)MCP服務(wù),一個(gè)是查詢地理位置坐標(biāo)的,它需要先把北京西站轉(zhuǎn)換成地理坐標(biāo),才能調(diào)起第二個(gè)MCP服務(wù),用來(lái)制定具體的路線出游規(guī)劃。

3.把網(wǎng)頁(yè)發(fā)布到上線(騰訊云Pages MCP服務(wù))

既然計(jì)劃做好了那我們把這個(gè)網(wǎng)站發(fā)布上線了看看效果怎么樣。

MCP返回給我們一個(gè)地址:https://beijing-universal-route.windsurf.build/,我用電腦和手機(jī)都看了一下,都是能夠正常訪問(wèn)的。

目前Pages MCP目前更多是支持將html變成快速訪問(wèn)鏈接,如果是復(fù)雜的項(xiàng)目暫時(shí)不支持~

4.AI控制電腦去搜索(browsermcp提供服務(wù))

通過(guò)browserMCP,可以讓AI控制瀏覽器,我們來(lái)試試讓它把即刻近期的AI熱門內(nèi)容搜索總結(jié)做成一個(gè)網(wǎng)站。

它會(huì)自己去逛網(wǎng)站,理解網(wǎng)站的內(nèi)容是什么:

但有一點(diǎn)值得關(guān)注的是,如果我們希望AI能夠通過(guò)browsermcp給到質(zhì)量很好的結(jié)果,我們需要進(jìn)行多次的邏輯調(diào)優(yōu),畢竟browsermcp更核心的還是提供AI瀏覽頁(yè)面的能力,但如何瀏覽頁(yè)面讓結(jié)果更好,這個(gè)事情的結(jié)果取決于我們和AI進(jìn)行多次溝通。

這些案例如果沒(méi)有MCP我能做嗎?能做,每個(gè)功能單獨(dú)寫一套接口邏輯,然后跑腳本去調(diào)用,用一次估計(jì)得先開(kāi)發(fā)個(gè)1-2個(gè)小時(shí),而且想給別人用還得安裝環(huán)境,同步腳本想想就痛苦。

有了MCP,大家都可以一鍵快捷的接入,不用做大量的重復(fù)造輪子的事情了。

MCP并非實(shí)現(xiàn)之前實(shí)現(xiàn)不了的功能,它只是簡(jiǎn)化了我們達(dá)到之前效果的時(shí)間。

看了這么多案例接下來(lái)給大家演示一下如何快速接入MCP服務(wù)。

小白如何快速上手安裝并使用MCP,最省事的辦法就是讓AI自己來(lái)搞定。

首先打開(kāi)你要安裝的mcp服務(wù)的網(wǎng)站,把網(wǎng)址復(fù)制到windsurf的對(duì)話框,告訴它我要接入MCP,讓它自己處理一下,之后就等著Claude自己干活就行了,如果需要你獲取key你就按它給的路徑找一下key,這樣超級(jí)省事。

當(dāng)MCP新添加的是綠色圓點(diǎn),就代表添加成功啦,可以進(jìn)行使用了。

我們了解了MCP的源起、了解了MCP的實(shí)踐效果,是時(shí)候來(lái)看看MCP的未來(lái)了。

在這里我們現(xiàn)忘掉MCP,我來(lái)給大家講個(gè)我用CursorAI編程的故事。

我是在去年8月份開(kāi)始用Cursor進(jìn)行AI編程的,當(dāng)時(shí)Cursor有兩個(gè)模式,一個(gè)是ChatAI、一個(gè)是Composer。現(xiàn)在這兩個(gè)模式都在Cursor上改成了不同的名字。

ChatAI主要是跟AI聊天要代碼,然后人操作為主;Composer則是AI自己直接去文件里寫代碼,全自動(dòng)的模式。

我當(dāng)時(shí)兩個(gè)模式都深度用過(guò)一段時(shí)間,Composer給我寫了無(wú)數(shù)個(gè)bug,我真的要崩潰了;最后我回到了ChatAI的模型,有事沒(méi)事問(wèn)問(wèn)AI,以人為主導(dǎo)進(jìn)行編程。

但Cursor一直在進(jìn)化,模型不能用終端,他們?cè)趯?duì)話處加了終端環(huán)境;模型上下文能力不夠,他們升級(jí)了codebase;模型只會(huì)蠻干,他們追加了agent模式,讓模型具備更強(qiáng)的規(guī)劃和執(zhí)行能力。

最終Agent模式掃平了ChatAI和Composer,我當(dāng)時(shí)堅(jiān)持了一段時(shí)間ChatAI,后來(lái)不得不感慨Agent模式真香,只需要你描述清楚需求AI就能自己專注的寫代碼,還可以隨時(shí)糾錯(cuò)。

這一切花了多長(zhǎng)的時(shí)間?6個(gè)月而已。

我現(xiàn)在有點(diǎn)不敢想6個(gè)月后的AI編程是什么樣子的,反正肯定會(huì)比現(xiàn)在再?gòu)?qiáng)上很多倍。

MCP的未來(lái)是什么?我也不知道。

但我肯定一點(diǎn),今天MCP好用不好用都不重要,它是模型進(jìn)化中不可或缺的一環(huán),它一定會(huì)變得好用。

先用起來(lái),一點(diǎn)點(diǎn)解決它的問(wèn)題是對(duì)待MCP最好的態(tài)度。

實(shí)踐永遠(yuǎn)是最好的老師。

最后讓我們用一句話總結(jié)一下MCP吧,讓我們一起擁抱新的時(shí)代。

看得見(jiàn)世界,動(dòng)得了手腳——MCP讓模型能夠更好的了解現(xiàn)實(shí),變得更智能。

本文由人人都是產(chǎn)品經(jīng)理作者【云舒】,微信公眾號(hào):【云舒的AI觀察筆記】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來(lái)自Unsplash,基于 CC0 協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒(méi)評(píng)論,等你發(fā)揮!
专题
12083人已学习12篇文章
在日常生活中,使用APP或者网页加载时,加载按钮常常会出现,加载效率影响着用户体验。本专题的文章分享了加载功能的原理和设计。
专题
13655人已学习13篇文章
本专题的文章分享了如何打造用户“上瘾”的产品。
专题
97382人已学习11篇文章
不管你是产品、运营、设计、还是技术,流程图都是基础技能。
专题
87568人已学习18篇文章
沉住气,学做事,更要学会做人。
专题
17383人已学习13篇文章
出于文本易读性方面的考虑许多app都做了深色模式,本专题的文章分享了深色模式的设计指南。
专题
12774人已学习14篇文章
对电商行业的从业者们而言,GMV这个概念估计都不陌生,不少人也开始拿GMV作为评判各家电商平台市占率的指标之一。本专题的文章分享了GMV破亿的经验总结。