去年9月,Cloudflare扔出一个概念:Code Mode。不是让AI agent(智能体)一个个调工具,而是直接写代码调API。实测把MCP服务器转成TypeScript API,token消耗直接砍掉81%。
但有个问题没人敢跳过——AI写的代码,你打算在哪跑?直接eval()?那等于给黑客留了后门。你需要沙盒:隔离、可控、只开放该开放的权限。
行业默认答案是容器。Linux容器,万能,成熟,Cloudflare自己也卖。但容器启动要几百毫秒,吃几百MB内存,得预热,复用又有安全风险。如果每个用户带一堆agent,每个agent都写代码,容器扛不住。
Cloudflare的解法藏在去年那篇Code Mode博客里,几乎没人注意:Dynamic Worker Loader API。
从"实验功能"到开放公测
这个API能让一个Worker在运行时瞬间生成另一个Worker,代码动态指定,沙盒自动隔离。现在正式开放公测,所有付费Workers用户都能用。
代码长这样:LLM生成agent代码字符串,你准备好RPC存根(代表允许访问的API),调用env.LOADER.load(),指定代码模块、环境变量、网络权限——比如直接掐断外网。然后就能像调用本地函数一样调用agent的方法。
全程没有"启动容器"这个动作。
100倍速的代价是什么
Cloudflare Workers的隔离基于V8 isolate(V8引擎隔离实例),不是操作系统级虚拟化。启动一个isolate大概1毫秒,内存占用以KB计。作为对比,冷启动容器要100-500毫秒。
但这个速度有前提:代码必须能在V8里跑。Cloudflare押的是JavaScript/WebAssembly生态,不是随便什么二进制都能塞进去。如果你agent需要跑Python原生库,得先把解释器编译成Wasm——Cloudflare说"我们支持,但你自己想办法"。
安全模型也有取舍。容器是内核级隔离,isolate是进程内沙盒。Cloudflare的底气来自两点:一是V8的漏洞赏金计划跑了十几年,二是他们的网络层可以精细控制每个isolate能访问什么——甚至能拦截外网请求,改成走内部代理。
为什么现在放出来
Code Mode需要沙盒,MCP服务器需要沙盒,任何让AI写代码执行的场景都需要。Cloudflare把这层基础设施补上了,而且绑在自己的生态里:用Workers就得用他们的运行时、他们的RPC、他们的网络。
竞争对手不是没反应。Vercel去年推了Fluid Compute,AWS有Lambda SnapStart,都在打"快"这张牌。但Cloudflare的 isolate 模型天生更快,只是以前没人敢拿它做通用代码执行——现在他们敢了。
一个细节:Dynamic Worker Loader的API设计明显为LLM优化。代码以字符串形式传入,模块结构简单,权限配置声明式。这不是给人类程序员写的,是给AI agent的生产流水线用的。
公测文档里埋了句话:「我们建议每个agent任务使用独立的Worker实例」。没有复用,没有预热池,用完即抛。1毫秒的启动成本让这种奢侈变得可行。
容器厂商会跟进吗?还是会有人发现,当沙盒便宜到可以随手丢弃,整个架构设计逻辑都要重写?
热门跟贴