成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

痛斥!現(xiàn)在的MCP,就像尿褲子!創(chuàng)業(yè)CTO試用后怒氣值飆升,開懟整個大模型圈怪象:開發(fā)文檔用大模型寫的!網(wǎng)友:召喚MCP適配器

原創(chuàng) 精選
人工智能
MCP如火如荼,但小編了解到一些業(yè)內(nèi)人士仍在持懷疑或觀望的態(tài)度,一方面是因為Anthropic的生態(tài)能否大成,突圍OpenAI尚未可知,另一方面則在于MCP協(xié)議目前尚存在不少局限性,比如本文提到的主打本地而不能遠程、安全問題等等。

作者 | 云昭

出品 | 51CTO技術(shù)棧(微信號:blog51cto)

現(xiàn)在的MCP乃至大模型開發(fā)圈,就像尿了褲子!一開始熱乎乎的,然后就開始難受了!

近日,一篇有關(guān)MCP深度批判的博客文章《A Critical Look at MCP》在網(wǎng)絡(luò)上走紅。

圖像圖像

MCP的熱度暴漲十足,它甚至有望成為一種席卷全球的生態(tài)級別的協(xié)議,是一件有目共睹的事情。

這篇文章的作者Rasmus Holm,是一家創(chuàng)業(yè)公司CTO,三個星期前,他想在自己的實際環(huán)境中親自上手實操一番MCP,結(jié)果大失所望。

Rasmus在這篇文章中非常細節(jié),甚至可以說把MCP的內(nèi)褲都扒光了一遍,不管是協(xié)議層還是傳輸層都把文檔中許多“雷點”都篩了出來。

Rasmus在文中難掩憤怒:自己本意并非想攻擊MCP協(xié)議,但實在是忍無可忍,不吐不快!

“我真心希望這只是我技術(shù)不到位的問題,并希望自己是誤解了什么。”

1.低質(zhì)的MCP文檔,像大模型生成的一樣!

Rasmus在摘要中首先痛斥了自己所看到的大模型圈內(nèi)一眾普遍現(xiàn)象:低質(zhì)量的開發(fā)文檔——

“IBM 最近發(fā)布了他們自己的 MCP‘正交標(biāo)準(zhǔn)’,稱為代理通信協(xié)議 (ACP),緊接著谷歌宣布了Agent2Agent (A2A)。MCP 服務(wù)器和客戶端每天都在構(gòu)建和發(fā)布……

然而,各大廠商花幾十億美元訓(xùn)練和調(diào)教模型,結(jié)果卻讓實習(xí)生寫文檔,提供粗糙的 SDK,幾乎沒有實現(xiàn)指導(dǎo)。”

“讓我震驚的是,整個LLM生態(tài)工程實踐的成熟度非常糟糕!”

可讓Rasmus失望的是,即便是期望值如此之高的MCP,居然也沒有避開這樣的“惡習(xí)”,出現(xiàn)了很多奇怪的設(shè)計決策、糟糕的文檔,以及更糟的協(xié)議規(guī)范。

例如,打開MCP的官方文檔modelcontextprotocol.io,“你會發(fā)現(xiàn)文檔寫得一團糟”,而且Rasmus順帶懟了幾乎所有 LLM 廠商,“這些廠商似乎在比誰寫得更讓人迷惑看不懂”。

具體比如,規(guī)范完全忽略了協(xié)議中的重要細節(jié),也沒有任何會話流程的例子。整站的重點都不是幫你了解協(xié)議,而是引導(dǎo)你去用他們的 SDK 教程。

此外,所有示例服務(wù)器都用 Python 或 JavaScript 編寫,這兩種語言都是部署到別人電腦上的噩夢。所以示例都提供了 Docker 鏡像,開發(fā)者心里也是有數(shù)的。

關(guān)于這一點,Rasmus認為MCP團隊沒有注意到在編寫本地MCP服務(wù)器時,人們未必會首選Python語言,比如作者本人就選擇了用Go語言來構(gòu)建,任何嘗試運行HuggingFace項目的人都該能夠深有體會。

相信大家都知道,教程上Python的pip安裝雖然寫的簡單,但實際對于非主攻Python的人而言,簡直是一場噩夢。

 想一想,你上一次運行 pip install 沒遇到依賴地獄是什么時候?作者如是說:你要是真打算在本地跑 MCP,不是該選 Rust、Go,或者至少 Java、C# 這類更通用的語言嗎?

再比如,在一開始Rasmus實現(xiàn)HTTP協(xié)議時,就感到必須反向工程整個傳輸機制。因為文檔里完全沒說清楚 SSE 的細節(jié),甚至連MCP自己的工具都沒支持“Streamable HTTP”,一個典型的例子是npx @modelcontextprotocol/inspector@latest,如果你一不留神,很可能會因為拉錯了版本導(dǎo)致失敗。

還有,架構(gòu)理清了還不算完。因為不管是服務(wù)器還是客戶端,你都會實現(xiàn)MCP都是個巨大的工程。因為 SSE / Streamable HTTP 都試圖模擬套接字行為,卻又不是套接字等等,諸如這些問題簡直把人逼瘋。

2.制造了太多地獄級問題MCP的HTTP傳輸方式應(yīng)被徹底拋棄!

MCP號稱是AI時代的標(biāo)準(zhǔn)化接口,如同可以連接各種工具的“USB-C”。然而Rasmus經(jīng)過一番實踐,從協(xié)議層到傳輸層,都狠狠給MCP了一記耳光。

協(xié)議層方面,Rasmus指出,MCP其實是一個基于JSON-RPC的協(xié)議,定義了一些預(yù)設(shè)方法和端點,供 LLM 使用。“雖然這篇文章不是專門批評協(xié)議本身,但它也存在不少問題。”

不過Rasmus更想吐槽的問題還是在傳輸層。

這個“可在多種傳輸協(xié)議上運行的新協(xié)議”,聽起來非常刺激,然而Rasmus經(jīng)過一番實操之后實錘了MCP的的“言過其實”——

MCP當(dāng)前建議的HTTP傳輸方式,不管是SSE + HTTP 還是所謂的“Streamable HTTP”,都應(yīng)該被徹底拋棄,不如改用類似stdio的東西,比如WebSocket。

具體來講,Rasmus指出,SSE 模式上出現(xiàn)的問題集中在文檔缺失、實現(xiàn)復(fù)雜、服務(wù)端需要綁定多個連接。典型的錯誤就是,一個請求寫到 A 服務(wù)器,SSE 卻連在 B 服務(wù)器上?必須加消息隊列。

而“Streamable HTTP”的問題則在于,復(fù)雜度“更上一層樓”,控制流程比前者更混亂,安全隱患更大。

這就會導(dǎo)致相對應(yīng)的API設(shè)計堪比地獄級難度。

此外,不得不提的就是安全問題。比如:會話狀態(tài)難管理,容易被劫持、中斷或攻擊;多入口擴大攻擊面;實現(xiàn)復(fù)雜,掩蓋惡意行為等等。

此外,MCP協(xié)議在授權(quán)上面也頗為混亂。如果你仔細查看,你就會發(fā)現(xiàn)MCP標(biāo)準(zhǔn)規(guī)定非常、荒唐——

  • STDIO:從環(huán)境變量取憑證,隨便你
  • HTTP:必須實現(xiàn) OAuth2

為啥 HTTP 就要強制走 OAuth2,STDIO 卻可以用 API Key?什么道理呢?不知道。主打一個隨意。

3.三個協(xié)議,只有“本地”相對靠譜!其余兩個都是錯誤實現(xiàn)

這里具體展開看一下。據(jù)官方文檔顯示,MCP 目前支持的主要傳輸方式有兩種,也可以說是三種:標(biāo)準(zhǔn)輸入輸出(stdio)、HTTP + SSE,還有一種則是所謂的“Streamable HTTP”。

然而這三個協(xié)議具體真實的支持程度如何?作者一條條都過了一遍,給出了自己的評價:stdio是目前最靠譜的傳輸方式!

并進一步解釋了原因:


就像很多 2005 年之后的應(yīng)用一樣,MCP 聲稱是“本地優(yōu)先”的協(xié)議。這一點從傳輸協(xié)議的設(shè)計上就能看出 —— 它明顯是為本地開發(fā)者工具準(zhǔn)備的,比如本地 IDE,或者更現(xiàn)實點說,是 Cursor 和 Windsurf。


然而,靠譜并不意味著沒問題。“通過stdio意味著啟動一個本地MCP Server,把服務(wù)器的stdout/stdin接到客戶端上,然后開始發(fā)送JSON,同時用stderr做日志。這種方式違背了 Unix/Linux 使用這些流的初衷——它們本是單向的,但MCP變成了雙向通信。

盡管有批評之處,但作者對這種做法表示理解,這樣做是為了更簡單、容易推理、跨平臺無需額外配置,而不需要管socket。

而接下來的兩個遠程傳輸協(xié)議的方式,Rasmus則完全表示不解!HTTP 傳輸方式就很混亂了。這是兩個版本的“錯誤實現(xiàn)”

  • 使用 Server-Sent Events (SSE) 來流式傳輸數(shù)據(jù);
  • “Streamable HTTP” —— 這是一個杜撰的詞,用 REST 方式包裹 SSE,但增加了大量復(fù)雜度和邊緣情況。

總結(jié)來說,MCP團隊不想用 WebSocket,于是“造了一個 WebSocket”,然后美其名曰“Streamable HTTP”,讓它聽起來像是被廣泛接受的做法。

作者還深扒MCP團隊在Github上PR #206 中試圖解釋為何不用 WebSocket,但論證非常牽強。評論區(qū)也有人表達了相同的不滿。

4.整個大模型開發(fā)生態(tài)像是在尿褲子

“我試圖用 Go 實現(xiàn)一個 MCP Server —— 結(jié)果簡直就是精神摧殘。”

Rasmus的心情可以用“崩潰”二字來形容。他甚至毫不客氣地把MCP甚至整個模型圈的這種現(xiàn)象比喻為“在尿褲子” —— 現(xiàn)在熱乎乎的,但之后會很難受。

Ras并對MCP協(xié)議給出了三點統(tǒng)一行為模式的建議

  • 協(xié)議只有一個:JSON-RPC
  • 首選傳輸方式:Stdio
  • HTTP 模式下,該用 WebSocket 模擬 stdio,而不是玩花的

STDIO 模式

HTTP 模式

環(huán)境變量

HTTP Header

流/雙向通信

WebSocket

尤其關(guān)于最后一點,Rasmus解釋到,因為WebSocket 完全可以做同樣的事情,而且更合理,支持雙向、去中心化的會話狀態(tài)管理,避免各種邊角問題。

按照MCP官方所強調(diào)的——

客戶端和服務(wù)器可實現(xiàn)任何自定義傳輸協(xié)議,MCP 協(xié)議是傳輸無關(guān)的,只要支持雙向消息交換即可。
—— modelcontextprotocol.io

我們應(yīng)該為最常見的使用場景做優(yōu)化,而不是為邊角情況做妥協(xié)。

5.MCP的替代方案與補充

IBM 和 Google 推出的 ACP 與 A2A 實際上是 MCP 的變體。MCP 是“讓 LLM 使用 API”,ACP/A2A 則是“讓 LLM 使用 Agent”。

A2A 的很多功能其實 MCP 也能做。IBM 甚至表示:

Agent 可以被視為 MCP 的資源,也可以作為工具調(diào)用
—— IBM / agentcommunicationprotocol.dev

Rasmus認為,ACP 更像是 IBM 推廣其 BeeAI agent 構(gòu)建工具的手段。

這兩種協(xié)議最大的貢獻:更清晰的傳輸層設(shè)計Agent 的發(fā)現(xiàn)機制

6.網(wǎng)友:的確,文檔難懂是LLM廠商的通病等MCP適配器出來之后就好了

整篇文章,Rasmus可謂是直言直語,在一篇叫好聲中,點出了MCP協(xié)議目前存在的大量問題:文檔規(guī)范成熟度不夠、協(xié)議層面的實現(xiàn)不合理、本地實現(xiàn)工程難度大等等。

正是因為實際所感,這一篇激情吐槽在Hackernews上引起了網(wǎng)友的共鳴,1天之內(nèi)迅速引起了多達317條的評論。

很多網(wǎng)友就像被打開了“話閘”一樣,紛紛表示:現(xiàn)在大模型開發(fā)相關(guān)的文檔寫得很差!

更有網(wǎng)友曝料:MCP spec [0] 里到處都是 LLM 的痕跡。他們幾乎都在用 LLM 來寫文檔,但這仍然是個很糟糕的主意。

甚至這位網(wǎng)友打趣地說道:事實上,濫用大模型來構(gòu)建規(guī)范比濫用它們來避免編寫優(yōu)秀的文檔要糟糕得多,因為對于規(guī)范和 RFC 來說,編寫規(guī)范的過程才是關(guān)鍵所在。

為什么這么確定?

這位網(wǎng)友解釋道:最終,MCP 規(guī)范是 LLM 的產(chǎn)物的最大標(biāo)志不是它有些不連貫,或者它完全由項目符號列表組成,或者它具有那種獨特的平淡風(fēng)格:而是它顯示出相對于我們對主要規(guī)范的期望而言它幾乎沒有經(jīng)過人類思考

因為一般而言,一份高可讀的合格的輸出文檔,通常還要努力找出你當(dāng)前思維的所有缺陷、不足和不完整之處。你需要批判性地閱讀規(guī)范,識別邊緣情況,并不斷修改規(guī)范,直到它能夠解答規(guī)范設(shè)計人員和相關(guān)社區(qū)的所有疑問。

當(dāng)然,還有不少網(wǎng)友相信MCP團隊的成員,相信他們會快速跟進,修改文章中所提到問題。因為Anthropic中確實有一些很敏銳的人才!

此外,也有海外的網(wǎng)友提到了DeepSeek的開源文檔同樣也有不少讓人讀不懂的地方。主要還是因為內(nèi)容翻譯方面太過“Chinglish”的原因。


不過,話說回MCP,有網(wǎng)友表示,對于更多MCP服務(wù)器構(gòu)建的大眾程序員而言,現(xiàn)在還是太難了,只需要有人會編寫一個MCP適配器,讓Claude使用OpenAPI即可,因為這樣大家就可以忘掉MCP的存在了!

不得不說,這也是一枚典型的“等等黨”了!

最后,MCP如火如荼,但小編了解到一些業(yè)內(nèi)人士仍在持懷疑或觀望的態(tài)度,一方面是因為Anthropic的生態(tài)能否大成,突圍OpenAI尚未可知,另一方面則在于MCP協(xié)議目前尚存在不少局限性,比如本文提到的主打本地而不能遠程、安全問題等等。

那么,問題來了,咱們?nèi)绾慰创齊asmus有關(guān)MCP的無情痛批呢?

參考鏈接:

https://raz.sh/blog/2025-05-02_a_critical_look_at_mcp

https://news.ycombinator.com/item?id=43945993

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2025-03-28 07:32:49

2025-04-01 08:05:00

智能體人工智能MCP

2012-09-19 15:29:26

Worklight適配器

2025-04-27 02:22:00

MCP大模型Agent

2025-04-16 04:20:00

2025-03-18 08:14:05

2025-03-27 10:15:39

2025-06-23 08:05:00

2025-06-04 00:00:00

DifyMCP服務(wù)

2025-04-02 10:06:00

2025-05-08 00:00:00

2025-05-09 06:30:52

2015-08-07 10:05:37

recyclervie超省寫法

2012-12-10 10:53:04

IBMdW

2018-10-11 10:38:31

前端JavaScript編程語言

2025-04-09 08:25:20

2025-04-10 10:41:36

2025-03-18 09:10:00

MCPAI模型上下文協(xié)議

2022-02-13 23:33:24

設(shè)計模式Java

2021-08-06 06:51:16

適配器配置Spring
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 最新国产精品视频 | 天天操综合网站 | 九九热在线视频免费观看 | 亚洲精品91 | 精品国产一区二区三区久久狼黑人 | 国产精品免费视频一区 | 久久久精品综合 | 一区二区三区视频在线 | 中文字幕免费视频 | 国产又色又爽又黄又免费 | 亚洲综合色自拍一区 | chinese中国真实乱对白 | 国产成人精品亚洲日本在线观看 | 久久久亚洲精品视频 | 成人伊人 | 国产精品日韩一区二区 | 亚洲精品免费视频 | 欧美大片黄 | 99视频网站| 一区欧美| 午夜av成人 | 国产一区二区三区在线免费 | 国产视频久久 | 日韩中文不卡 | 国产免费麻豆视频 | 日韩伦理一区二区 | 视频一区二区在线观看 | 欧美一区二区三区在线视频 | 毛片一区二区三区 | 国产精品久久久久久久久久 | 国产精品毛片一区二区在线看 | 国产欧美精品区一区二区三区 | 久久综合一区 | 99精品一区二区三区 | 一区二区三区免费观看 | 韩日一区二区三区 | 黄网站在线播放 | 久久不卡 | 天天夜碰日日摸日日澡 | 97国产精品 | 久久99网 |