AI开源软件工具

Cloudflare 开源 Code Mode:2个MCP工具替代2500个API端点,token消耗直降99.9%

2026年7月17日1 次阅读
Cloudflare 开源 Code Mode:2个MCP工具替代2500个API端点,token消耗直降99.9%

MCP(Model Context Protocol)已经成为AI Agent调用外部工具的事实标准,但它有一个越来越明显的瓶颈:工具越多,上下文越撑。Cloudflare最新开源的Code Mode方案给出了一个激进的解法——不给模型认识每个API端点,而是给它2个"元工具",让模型自己写代码去发现和调用,token消耗从117万直降到1000。

MCP的工具膨胀困境

MCP的核心思路是:每个外部能力(比如"创建DNS记录""查看WAF规则")都定义为一个独立的工具,模型通过工具调用语法来使用它们。这在工具数量少的时候很好用,但问题很快出现——每个工具的定义都要塞进模型的上下文窗口

Cloudflare的API有超过2500个端点,涵盖DNS、Zero Trust、Workers、R2等产品。如果按传统MCP方式,每个端点定义为一个工具,仅工具定义就要消耗约117万token——这已经超过了目前任何基础模型的完整上下文窗口。模型还没开始干活,上下文就满了。

这个问题不是Cloudflare独有的。随着MCP生态扩张,开发者 routinely 给Agent接入几十个MCP服务器、数百甚至数千个工具。工具定义撑爆上下文、中间结果反复传递消耗额外token,Agent变慢、变贵、变笨。

Code Mode:让代码成为压缩的工具描述

Code Mode的核心思路是:与其把每个API端点的描述都塞进上下文,不如只给模型2个工具,让模型自己写代码去按需发现和调用API。

这两个工具是:

  • search():模型写一段JavaScript代码,在Cloudflare的OpenAPI规格中搜索需要的端点。完整的API规格永远不会进入模型上下文,模型只通过代码与它交互。
  • execute():模型写JavaScript代码,通过认证客户端直接调用Cloudflare API。代码可以处理分页、检查响应、链式操作,一次执行完成多步任务。

两个工具加起来,只消耗约1000个token的上下文。而且这个数字是固定的——无论API有多少端点,token消耗不变。相比传统MCP的117万token,Code Mode将输入token消耗降低了99.9%

安全设计:V8沙箱隔离

让模型写代码并执行,安全性是第一关切。Code Mode的执行环境是Cloudflare的Dynamic Worker isolate——一个轻量级V8沙箱,具有以下安全特性:

  • 无文件系统:代码无法读写宿主机的文件
  • 无环境变量:不会通过环境变量泄露敏感信息
  • 默认禁止外部请求:防止prompt注入导致的数据外泄
  • 可显式控制出站请求:需要时通过outbound fetch handler白名单放行

这意味着即使模型被恶意prompt注入诱导,生成的代码也无法窃取数据或访问未授权资源。

实际例子:一句话配置DDoS防护

假设用户对Agent说"保护我的源站免受DDoS攻击",Code Mode的工作流程是:

第一步:搜索端点。 模型调用search(),写一段JS代码在2500个端点中筛选出WAF和ruleset相关的10个端点。完整API规格不进入上下文,模型只拿到筛选结果。

第二步:深入规格。 模型继续用search()查看具体端点的参数schema,发现ruleset支持的phase包括ddos_l7和http_request_firewall_managed——正是DDoS防护和WAF需要的。

第三步:执行操作。 模型调用execute(),写代码通过cloudflare.request()客户端发起认证API调用,检查现有规则、创建新规则集、配置DDoS和WAF防护——所有操作在一次代码执行中完成。

整个过程,模型上下文里只有2个工具定义(约1000 token),而不是2500个。

开源:Code Mode SDK

Cloudflare同时开源了Code Mode SDK,放在Cloudflare Agents SDK中。这意味着任何开发者都可以用同样的方式为自己的API构建MCP服务器——不管你的API有10个端点还是10000个,Code Mode都能把它压缩到2个工具、固定token消耗。

开源仓库:

  • Cloudflare MCP服务器:github.com/cloudflare/mcp
  • Code Mode SDK:github.com/cloudflare/agents(packages/codemode)

行业趋势:代码即工具描述

值得注意的是,Anthropic在同一时期发布了"Code Execution with MCP"的工程博文,探索了几乎相同的模式——用代码执行替代大量工具定义。两家头部公司独立走向同一个方案,说明"代码即工具描述"正在成为Agent工具调用的新范式。

传统MCP的思路是"把每个能力描述给模型听",Code Mode的思路是"给模型一个编程接口,让它自己去找、去用"。前者是说明书,后者是SDK。当API规模大到说明书放不下时,SDK是唯一可行的方案。

对谁有用

  • MCP服务器开发者:如果你的API端点超过几十个,Code Mode SDK可以直接集成,大幅降低Agent的token消耗
  • Agent框架开发者:Code Mode的search+execute模式可以作为通用工具调用策略
  • Cloudflare用户:新的MCP服务器已可用,直接接入Claude Code、Cursor等支持MCP的客户端

限制

  • 目前Code Mode SDK基于JavaScript和Cloudflare Workers生态,其他语言/运行时的支持尚待社区扩展
  • search()依赖OpenAPI规格的质量和完整性,API文档不规范的场景效果会打折扣
  • 模型需要具备写代码搜索API规格的能力,小模型可能不如大模型稳定

---

基于Cloudflare官方博客及Anthropic工程博文整理。

参考来源

评论

0 条已公开
登录注册后可以参与评论。

正在加载评论...