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

開源大佬炮轟MCP:我不是MCP的忠實擁躉!MCP是一個死胡同!根本不是為無推理自動化而設計的! 原創

發布于 2025-7-4 12:37
瀏覽
0收藏

編輯 | 云昭

今天凌晨,知名開源 Web 框架作者 Ronacher 發表了一篇引起熱烈反響的博客。雖然他自謙地在X上稱這篇“爛文章”,但網友們卻非常認同。

開源大佬炮轟MCP:我不是MCP的忠實擁躉!MCP是一個死胡同!根本不是為無推理自動化而設計的!-AI.x社區圖片

這篇文章標題為:《Tools:Code is all your need》。文中,作者開門見山的指出自己不是 MCP 的忠實擁躉,并認為 MCP 現在的宣傳言過其實。

開源大佬炮轟MCP:我不是MCP的忠實擁躉!MCP是一個死胡同!根本不是為無推理自動化而設計的!-AI.x社區圖片

此外,Ronacher 指出 MCP 并不具備真正的可組合性,而且依賴且消耗本可以不必如此多的推理上下文,遠不如單純運行代碼那么簡單。

基于此,MCP 的可擴展性,變成了一個很大的問題。沒有可擴展性,就不能自動化。

進而,作者提出了一種Agentic Coding場景下的可擴展的方式:代碼生成 + 評審 + 批量運行。

網友看罷,大多表示贊同。“如今的 LLM 有點像3D打印機,無論是炒作還是實用性方面。”

在某種程度上,我現在把 LLM 看作是“3D 打印機”——不管是炒作程度還是實用性都很相似。它們在快速連接模塊方面表現出色,就像 3D 打印在快速原型制造中一樣。

但要想實現可靠性和規模化運行,你最終還是希望由 LLM 或工程師來把那個“打印/推理”出來的連接件換成更堅固、更確定的材料(比如金屬/代碼)——這樣才能在大規模下便宜又高效地運行。

開源大佬炮轟MCP:我不是MCP的忠實擁躉!MCP是一個死胡同!根本不是為無推理自動化而設計的!-AI.x社區圖片

此前,小編有報道過 MCP 存在的一些安全問題,但回到其本身所有達到的效果而言,究竟還有哪些挑戰呢?如何看待未來大模型、Agentic AI 的走向呢?相信本篇文章能給大家啟發。建議大家收藏細品。

1.開源大佬:“我不是MCP的擁躉”

如果你有關注我在 Twitter 上的動態,你會知道我現在并不是 MCP(Model Context Protocol)的忠實擁躉。并不是我不喜歡這個理念,而是我發現它的實際效果遠未達到宣傳中的那樣。在我看來,MCP 存在兩個主要問題:

  1. 它并不真正具備可組合性,大部分所謂的“組合”其實是依賴模型的推理完成的;
  2. 它對上下文的依賴過重:你需要預先提供大量輸入信息,而且每次調用工具時消耗的上下文甚至比你自己寫代碼還多。

一個簡單的實驗就能看出問題:試著用 GitHub 的 MCP 工具完成一個任務,然后用 ??gh?? 命令行工具再做一遍。你幾乎一定會發現后者的上下文使用效率更高,也能更快地得到你想要的結果。

2.但,MCP 是不是未來?至少編碼場景下,并不是

我想回應一些人對我上述觀點的反饋。

我主要在 Agentic Coding(智能體式編程)的語境中評估 MCP,而這正是 MCP 弱點最明顯的場景。有人指出,MCP 可能并不適合通用代碼生成場景——畢竟模型已經很擅長生成代碼了——但它在面向終端用戶的場景下,比如金融公司中的特定任務自動化,可能更有意義。也有人建議我應該從“未來世界”的視角看問題:屆時模型可以調用更多工具,處理更復雜的任務。

我目前的看法是:從數據來看,現階段的 MCP 在使用難度上幾乎始終高于直接寫代碼,主要因為它過度依賴推理。

你看看當下各種擴展工具數量的方案,無一例外都引入了“篩選層”:你把所有工具喂給 LLM,然后讓它基于任務從中選出一個。這類方案目前還沒有更優的替代品。

我也傾向認為,就算是非編程類的特定領域任務,用 MCP 也并不劃算,因為代碼生成依舊是組合性更強、驗證性更高的方式

3.用 Shell 腳本替代你自己

可以換個方式思考這個問題:

在沒有 AI 的時代,作為工程師解決問題的工具就是代碼;如果你不是程序員,那代碼對你來說可能是遙不可及的。

但現實中,很多日常重復性的任務,其實都可以被自動化。問題是,你未必能找到程序員為你定制工具,也未必愿意自己學會編程。

也許你的任務需要推理,但并不是每一步都需要。我們常說“用 shell 腳本替代自己”,因為這就是自動化的本質。而如今,有了 LLM,新的替代邏輯是“用 LLM 替代自己”。

但這帶來三個問題:成本、速度和可靠性。這三者是我們在談論工具調用或 MCP 之前必須優先解決的問題。我們需要確保自動化流程在規模化運行時依舊是正確的。

4.可擴展的自動化的可行方案

自動化的真正價值,在于那些會反復出現的任務。沒人會去自動化一次性的操作,自動化是為了把一件事情做一次之后交給機器去重復上千次。要做到這點,使用代碼始終是更具優勢的方式。

用推理去做小任務也許能成功,但驗證過程所耗的時間可能和你自己做一遍差不多。相比之下,讓 LLM 生成一段 Python 代碼去計算,就更具確定性。為什么?因為你可以審查它寫的公式,而不是猜測計算結果是否正確。

不僅如此,你還能請另一個 LLM 審查前者寫的代碼。這種代碼生成 + 評審 + 批量運行的閉環,是當前推理主導流程做不到的。

5.舉個例子:博客格式轉換

比如這篇博客,我最近才把它從 reStructuredText 格式轉為 Markdown。我拖延了很久,部分原因是懶,部分是因為我不信任 LLM 會完整正確地進行轉換。如果它在中途用完了上下文,可能會開始“幻覺”,甚至改動原文的表述。

我最后還是用了 LLM,但用的是另一種方式:讓它寫代碼

我讓 LLM 把 reStructuredText 解析成 AST(抽象語法樹),再轉換成 Markdown 的 AST,最后渲染成 HTML。然后我請它寫了一個腳本,比較轉換前后的 HTML 差異,自動清理一些無關因素(比如 footnote 渲染差異),再分析哪些差異是可接受的。

最終我跑了幾十輪,先用 10 篇測試,差異減少后再跑完全部內容。整個過程只用了 30 分鐘左右。

最關鍵的是,我信任這個流程的原因,是我能看到、能檢查它的操作。

甚至,我還能請另一個 LLM 審查第一位 LLM 的代碼。這讓我確信不會出現數據丟失或結構回退的問題。

而且,推理的成本是穩定的,不隨文檔數量成倍增長。你分析 15 篇還是 150 篇,最終 diff 腳本工作量差不多。

6.MCP 做不到這些事

說了這么多,我其實只是想表達一個核心觀點:整個轉化過程都是通過代碼完成的

這個流水線其實就是:

人類給出目標 → 生成代碼 → LLM 審核 → 反復迭代

這個結構幾乎可以泛化到所有其他通用自動化任務上。舉個例子,你可能會使用的某個 MCP 工具是 Playwright。

但我發現,在很多場景下,用代碼來替代 Playwright 的調用其實是非常困難的,因為它本質上是在遠程控制你的瀏覽器

你給它的任務通常包括:讀取頁面、理解頁面內容、點擊“下一步”按鈕……

這是典型的每一步都需要推理的場景,很難徹底消除 LLM 推理過程中的不確定性。

但如果你已經知道頁面內容——比如你在操作自己正在開發的 App ——那就可以讓它寫一個 Playwright 的 Python 腳本來跑這個流程。

這個腳本可以順序執行多個步驟,幾乎不需要推理。我發現這種方式運行更快、出錯更少,因為它理解的是你自己的代碼。

它不需要實時地去判斷按鈕在哪、輸入框在哪,而是一次性生成一整個自動化流程。

而且這個過程是可復用的:腳本寫好之后,我可以執行 100、200,甚至 300 次,而不需要任何額外的推理開銷。

這正是 MCP 工具難以提供的巨大優勢。

要讓 LLM 理解抽象、通用的 MCP 調用非常困難。我多希望可以直接把 MCP 客戶端嵌進 shell 腳本里,通過代碼生成高效調用遠程服務。

但現實是,這些 MCP 工具根本不是為了“無推理自動化”而設計的,所以實現起來極其困難。

而且,諷刺的是:我畢竟是人類,不是 MCP 客戶端。

我可以手動運行、調試一個腳本,但我連怎么可靠地調用 MCP 工具都搞不明白。每次都像在賭運氣,難以調試。

相比之下,我更喜歡 Claude Code 在生成代碼時順便產出的那些小工具,有些我已經長期加入自己的開發流程中。

7.我們會走向哪里?這是一個思考的關鍵時刻

說實話,我也不知道。但我覺得,這是一個值得思考的關鍵時刻:我們該怎么改進代碼生成,從而真正為“agentic coding”(智能體式編程)賦能?

說來奇怪,MCP 在成功運行用的時候其實挺不錯的。但它現在的形式給人的感覺太像死胡同了 —— 特別是在規模化自動化任務中,因為它對推理依賴太強,幾乎沒法擴展。

也許我們應該去尋找一種新的抽象層,重新劃分 MCP 和代碼生成各自擅長的任務領域。這可能需要我們打造更好的沙盒環境,甚至重新思考如何以更高效的方式暴露 API,讓 LLM 在任務執行前可以做一些“分發”和“收斂”的操作(fan out / fan in for inference)。

理想的模式是:讓 LLM 盡可能生成大量代碼,然后在執行完之后,再用 LLM 來做判斷和優化

我也設想過一個很有意思的方向:讓代碼生成過程足夠透明,便于 LLM 向非程序員用人類語言解釋腳本在做什么。如果能做到這點,就有可能讓非技術用戶也能參與到這類自動化工作流中。

總之,我只想說一句:大家別被 MCP 局限住了,去探索更多可能性吧。

只要你讓 LLM 寫代碼,它的能力還遠遠沒有被發揮出來。

8.寫在最后:LLM 編程存在的問題

文章到這里就結束了。不過正如開頭所說,作者 Ronacher 在今天的 X 上建議一位粉絲去讀一讀另一位大佬 Mario Zechner 的博客文章。

小編翻閱了一下,的確 Mario 更進一步的表述了對于 Coding 場景而言,現有編程 AI 產品的不足,讓程序員用自然語言編程 LLM,多少有些:宰牛用了殺雞刀!

作為程序員,我們已經習慣用編程語言表達精確意圖。與 LLM 互動時,別因為它是“自然語言”就放棄結構化思維。我們需要一種橋梁思維:把“聊天”變成“建模”。

比如:想想“輸入、狀態、輸出”這些基本組件,而不是“和 AI 聊聊”,你就更接近在“工程化”地使用它,而不是在“碰運氣”。

總結下來,AI 編程目前存在兩種嚴峻的問題:一、上下文不夠。二、大模型品味也不夠。

首先,對于大型代碼庫來說,主要的問題就是上下文不夠用。這些 AI 工具并不能理解你整個項目的全貌。要么是你沒提供整體信息,要么就是它們的上下文窗口太小,放不下各個模塊之間的連接關系。但問題遠不止于此。

即便現在的 LLM 增加了所謂的“推理”能力——其實也就是“逐步思考”這個老把戲,再加上更多的 scratch space(臨時記憶空間),它們依然很難真正跟上程序的執行流程。

一旦超出線性腳本的范疇,它們就徹底迷路:比如涉及多進程、進程間通信(IPC)、客戶端-服務器架構,或者同一進程里的并發執行。

即使你設法把所有相關上下文塞進模型,它們生成的代碼也常常和你實際的系統架構不匹配

其次,LLM 還缺乏“品味”。它們在訓練時吃進了整個互聯網(可能還有一些私有代碼),最終生成的代碼,簡單說就是統計意義上的平均值。如果任由它自由發揮,你會得到一堆難維護、難理解、漏洞百出的代碼。

而資深工程師追求的是優雅、簡潔、可維護性高的解決方案,這能減少 bug 和復雜性。

篇幅關系,這里就不再展開介紹了,可以下篇繼續為大家解讀。

最根本的原因,還是現在的大模型在Coding工程場景下是通過推理和工具調用完成,而推理過程中上下文的消耗、不確定性造成了 MCP 這種方式似乎變成無法完美解決生產環境的問題。更別提自動化了!

看來,LLM短期難以取代程序員又多了一個理由!

大家怎么看呢?MCP 還有哪些使用上的不便呢?

 本文轉載自??51CTO技術棧??,作者:云昭


?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
標簽
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 一区二视频 | 精品成人佐山爱一区二区 | 日韩av一区二区在线观看 | 国产婷婷| 午夜欧美| 欧美日韩亚洲一区 | 国产成人99久久亚洲综合精品 | 女女百合av大片一区二区三区九县 | 91美女视频 | 免费观看av | h在线看| 91精品国产一二三 | 国内自拍视频在线观看 | 综合久久99| 天天综合永久入口 | 欧美成人精品一区二区男人看 | 欧美黄 片免费观看 | 欧美日韩中文字幕在线 | 日日干日日操 | 色就是色欧美 | 天天亚洲 | 国产精品久久久一区二区三区 | 欧美自拍日韩 | 国产偷久久一级精品60部 | 久久久久久成人 | 亚洲成人激情在线观看 | 亚洲一二三区在线观看 | 欧美一区二区三区在线播放 | 欧美精品一二三 | 一区二区三区免费 | 亚洲欧美日韩在线一区二区 | 亚洲精品99 | 日本精品一区二区在线观看 | 国产精品网址 | 粉嫩一区二区三区国产精品 | 国产精品久久久久av | 成人黄在线观看 | 一区二区三区视频在线 | 欧美精品在线一区 | av在线播放网址 | 国产精品综合视频 |