Cloudflare 在 4 月 14 日發表了針對 MCP 的 Code Mode。這是一次關於「AI agent 如何呼叫 API」的重新設計:把暴露整個 Cloudflare API 所需的上下文佔用,從一百多萬 tokens 壓到大約一千 tokens。這個說法值得當真,因為預設的 MCP 模式(把每個端點都定義成一個工具,再把這些定義塞進模型上下文視窗)在規模上確實會崩潰。如果光是 Cloudflare 自家的 API 列出來就要吃掉一百萬以上 tokens(已經超過目前任何一個模型的上下文視窗),那每一個大型 SaaS API 都會撞上同一堵牆。

Code Mode 把「數千個工具」的打法,換成恰好兩個工具:search() 和 execute()。search() 讓模型在一套帶型別的 SDK 裡查詢相關方法。execute() 則把模型寫出來的程式碼,放進一個 Cloudflare Dynamic Worker 的沙箱裡執行。模型不再是每一步選一個預先定義好的工具,而是寫一小段指令稿,把多個操作串起來,跑完再看結果。淨效果是:整個 API 的上下文佔用是固定的,與閘道後面接一個服務還是五十個服務無關。WorkOS 獨立測試在他們的場景下報出 81% 的 tokens 降幅;Cloudflare 自家部落格聲稱在 Cloudflare API 上是 99.9%。兩個數字都可以同時為真。差別在於你拿什麼做比較,以及每次連線實際用到了多少比例的工具。

這個模式的含義超出了 Cloudflare。任何為大型 API 做 MCP 整合的人都在撞同一個天花板:你暴露的端點越多,agent 還沒開始做事就先燒掉越多上下文。Code Mode 的本質其實是「給 agent 一個 REPL 跟一個 SDK」,這是 Python 圈子自兩年前「把 notebook 當 agent 介面」想法開始流行以來就熟悉的路子。Cloudflare 之所以先把它發出來,是因為它已經有一個能安全執行不受信任程式碼的沙箱運行時,也就是 Workers。其他人要推同一個模式,都得先講清楚自家的沙箱故事。可以預期 Vercel、Fly、Render 以及各大公有雲會在未來六個月推出類似能力,也可以預期接下來一年裡關於「沙箱隔離到底保證了什麼」的安全論戰。

如果你正在打造或營運 MCP 伺服器,有兩件可以立刻動手的事。第一,稽核你的上下文成本:在 agent 還什麼都沒做之前,你的工具清單會吃掉多少 tokens?如果答案多於幾千,那你就遇上了一個換更大模型也不會自己消失的可擴展性問題。第二,思考你的 API 表面能否被表達成一個帶型別的 SDK,而不是一張平鋪的工具列表。對那些有幾十到幾千個端點的 REST API 來說,Code Mode 的模式大機率就是長期正確的方向,就算你根本用不到 Cloudflare 本身。更難的問題在沙箱。執行由模型生成的程式碼,是每一個團隊遲早都得解決的安全問題;「相信模型供應商自帶的 Python 執行器」,在你的 agent 已經開始碰生產系統的時候,不是一個可以長期站得住腳的答案。Code Mode 把這場對話從「以後再說」推到了「現在就得做設計決定」。