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 把这场对话从"以后再说"推到了"现在就必须做设计决定"。
