
Code Mode: give agents an entire API in 1,000 tokens
Cloudflare introduces Code Mode for Workers AI, a technical approach to fit entire API schemas into 1,000 tokens, enabling LLM agents to execute precise tool calls with minimal latency.
blog.cloudflare.com
Cloudflare 推出了基于 Code Mode(代码模式) 的全新模型上下文协议(MCP)服务器,旨在解决 AI 智能体(Agent)在调用外部工具时面临的“上下文窗口压力”问题。传统的 MCP 服务器通过为每个 API 接口定义独立工具来工作,这在面对拥有数千个端点的复杂 API(如 Cloudflare API)时,会迅速耗尽模型的上下文配额。
Code Mode 的核心思想是**“以代码代替描述”**:不再向模型展示成百上千个工具定义,而是仅提供 search()(搜索)和 execute()(执行)两个核心工具。模型通过编写 JavaScript 代码来检索 OpenAPI 规范并执行复杂的 API 调用链。这种方式将 Cloudflare 全量 API 的上下文占用从 117 万个 token 骤降至约 1,000 个,降幅达 99.9%。
安全性方面,所有生成的代码均在 Cloudflare 的 Dynamic Worker 隔离沙箱中运行,确保了环境安全与隐私。此外,Cloudflare 还开源了 Code Mode SDK,允许开发者在自己的 MCP 服务器中应用此技术。未来,Cloudflare 计划通过 MCP Server Portals 将此模式扩展到多服务集成场景,实现跨平台的统一、低成本智能体交互。
Code Mode 的核心原理与优势
Code Mode 是一种优化 AI 智能体工具调用效率的技术。在传统的 MCP 架构中,每增加一个功能,模型就需要加载一段对应的工具描述,这会导致上下文窗口被迅速填满。Code Mode 改变了这一范式:它不直接提供工具,而是提供一个可以操作 SDK 的“编程环境”。
对于 Cloudflare 这样拥有超过 2,500 个 API 端点的庞大系统,如果使用传统方式,仅工具描述就会消耗 117 万个 token,超过了目前绝大多数领先大模型的处理极限。而使用 Code Mode 后,无论 API 规模如何增长,其上下文占用始终固定在 1,000 个 token 左右。这种“固定成本”的特性使得智能体能够处理极其复杂的任务,而不会因为 API 过于庞大而“失忆”或无法运行。
此外,Code Mode 允许模型进行“组合式调用”。模型可以在一次执行中完成分页处理、逻辑判断和多步 API 串联,而不需要在模型与服务器之间进行多次往返对话,这极大地提升了任务执行的效率和成功率。
核心工具:search() 与 execute()
Cloudflare 的新 MCP 服务器仅导出两个功能强大的工具,它们构成了智能体与整个 Cloudflare 生态交互的基础:
-
search() 工具: 该工具允许智能体通过编写 JavaScript 异步箭头函数来查询 Cloudflare 的 OpenAPI 规范。由于完整的 API 规范非常庞大,无法直接放入上下文,智能体可以利用代码对规范进行过滤(例如按产品、路径或标签搜索)。例如,当用户要求“防御 DDoS”时,智能体先调用
search()找到与 WAF 和规则集相关的特定端点。服务器在沙箱中运行这段搜索代码,并仅返回匹配的端点摘要。这种“按需检索”的机制确保了模型只接触到当前任务所需的元数据。 -
execute() 工具: 一旦确定了目标端点,智能体便使用
execute()工具编写实际的操作代码。该工具提供了一个经过身份验证的cloudflare.request()客户端。智能体可以编写复杂的逻辑,例如:先获取现有的安全规则列表,检查其配置,然后根据需要更新特定规则的灵敏度。所有这些操作都在一个execute调用中完成。这种方式不仅节省了 token,还赋予了智能体处理复杂业务逻辑的能力,使其更像是一个真正的自动化脚本编写者,而非简单的接口转发器。
安全性与沙箱机制
在 AI 驱动的代码执行场景中,安全性是首要考虑因素。Cloudflare 通过 Dynamic Worker Loader 技术为 Code Mode 提供了坚实的安全保障。
所有由模型生成的 JavaScript 代码都在 V8 隔离沙箱(Isolate)中运行。这个环境是高度受限的:它没有文件系统访问权限,无法读取环境变量(防止提示词注入导致的信息泄露),且默认禁用外部网络请求。所有的 API 调用都必须通过受控的 cloudflare.request() 接口进行。
在身份验证方面,该服务器符合 OAuth 2.1 标准。用户在连接智能体时,可以精确勾选授予的权限范围(Downscoping)。这意味着即使智能体拥有“执行代码”的能力,它也只能在用户明确授权的资源范围内进行操作。这种“最小权限原则”结合物理隔离的沙箱,确保了 Code Mode 在提供强大功能的同时,不会成为安全漏洞。
行业对比与未来展望
目前业界有多种减少 MCP 上下文占用的方案,包括客户端代码模式(如 Anthropic 的方案)、命令行界面(CLI)以及动态工具搜索。相比之下,Cloudflare 推出的服务端 Code Mode 具有独特优势:它不需要客户端具备复杂的沙箱环境,对智能体宿主程序无侵入性,且比 CLI 拥有更小的攻击面。
展望未来,Cloudflare 正在开发 MCP Server Portals。目前的 Code Mode 解决了单个庞大 API 的问题,但现实中智能体往往需要同时操作 GitHub、数据库和云平台。Portals 将允许用户将多个 MCP 服务器整合在一个网关之后,通过统一的身份验证和 Code Mode 集成,让智能体以极低的 token 成本同时掌控多种异构服务。这标志着 AI 智能体正从“简单的指令遵循者”向“复杂的跨平台系统管理员”演进。
问答
问:为什么传统的 MCP 模式在处理大型 API 时会失效? 答:因为传统模式需要将每个 API 端点的功能描述都放入模型的上下文窗口。对于像 Cloudflare 这样拥有 2500+ 端点的 API,这会消耗超过 100 万个 token,超出模型容量并挤占任务处理空间。
问:Code Mode 是如何将 token 消耗降低 99.9% 的?
答:它不再向模型发送所有 API 的描述,而是只发送两个工具(search 和 execute)的定义。模型通过编写代码来动态探索和调用 API,将“静态描述”转变为“动态执行”。
问:模型生成的代码如果包含恶意指令怎么办? 答:代码在受限的隔离沙箱(Dynamic Worker)中运行,无权访问文件系统或环境变量,且 API 调用受 OAuth 权限控制,只能操作用户授权的资源。
问:开发者如何开始使用这个新功能?
答:可以通过配置 MCP 客户端指向 https://mcp.cloudflare.com/mcp 来直接使用 Cloudflare API 服务器,或者使用 Cloudflare 开源的 Code Mode SDK 在自己的服务器上实现类似功能。
问:search() 工具的作用是什么?
答:它允许模型在不加载完整 API 规范的情况下,通过编写简单的 JS 代码在服务器端检索所需的 API 端点信息,实现“按需获取”元数据。
