随着AI代理的崛起,一个关键的技术分歧正在浮现:代理生成的代码应该在哪里执行?Cloudflare的Dynamic Workers发布,将这场关于执行环境的争论推向了前台。
两条技术路线
隔离(Isolate)派——Cloudflare为代表:
- 启动速度:毫秒级(比容器快约100倍)
- 内存效率:10-100倍优势
- 密度:可在一个进程、甚至一个线程中运行多个隔离环境
- 语言偏好:JavaScript/TypeScript/WebAssembly
- 适用场景:网络规模、短生命周期、高并发的代理任务
微虚拟机(MicroVM)派——Docker Sandboxes为代表:
- 隔离强度:更强的机器级边界
- 灵活性:支持完整操作系统环境,可安装包、运行命令、修改文件
- 适用场景:持久、本地或开发者风格的代理环境
- 安全性:硬件虚拟机级别的隔离
Cloudflare的论点
Cloudflare的核心论点是:当每个用户可能同时运行一个或多个代理,而这些代理不断生成和执行代码时,容器的经济性无法支撑。开发者要么保持容器预热(花钱),要么忍受冷启动延迟(牺牲响应速度),要么复用活跃沙箱(削弱隔离)。
Dynamic Workers的设计是:一个Worker在运行时动态实例化另一个Worker,代码由模型即时生成,执行完即销毁,可以在同一台机器、甚至同一个线程上运行,无需在网络中寻找预热沙箱。
Docker的反击
Docker Sandboxes走的是另一条路。它使用轻量级微虚拟机为每个代理提供独立的Docker守护进程,允许代理安装包、运行命令、修改文件,而不直接暴露主机系统。
这条路线牺牲了启动速度和密度,换取更强的隔离和更完整的环境。对于需要持久环境、深度系统集成或复杂开发工作的代理,这可能是更合适的选择。
安全:隔离派的软肋?
Cloudflare坦言V8安全漏洞比典型虚拟机管理程序更常见,这是基于隔离的沙箱的固有挑战。公司的回应是:
- V8安全补丁自动在数小时内推出
- 自定义第二层沙箱
- 基于风险的租户动态隔离
- 利用MPK等硬件特性
- 针对Spectre侧信道攻击的防御研究
- 恶意模式代码扫描和自动阻断
这是Cloudflare近九年运营Workers平台的经验积累,但要说服安全敏感的企业客户接受软件沙箱而非硬件虚拟机,仍需时间。
TypeScript vs HTTP:接口之争
Cloudflare另一个有意思的观点是主张用TypeScript作为代理的接口语言,而非HTTP:
- MCP只定义工具调用模式,不定义编程API
- OpenAPI描述REST API但schema和用法都冗长
- TypeScript在模型训练数据中广泛存在,能以更少token传达API形态
Workers运行时可在沙箱和宿主间建立Capn Web RPC桥接,让动态Worker像调用本地库一样调用跨安全边界的接口。
市场分化
这两种路线的差异可能定义AI代理基础设施市场的主要分界线:
- 速度与规模 vs 深度与隔离
- 短生命周期网络执行 vs 持久环境开发工作流
- JavaScript/TS生态 vs 全语言支持
Cloudflare押注第一种场景会非常庞大。如果成真,Dynamic Workers可能不只是又一个Workers功能,而是Cloudflare对互联网规模AI代理默认执行层的定义尝试。
早期采用者
Cloudflare列举了Zite作为案例——这家公司正在构建一个应用平台,用户通过聊天交互,模型在后台编写TypeScript来构建CRUD应用、连接Stripe/Airtable/Google Calendar等服务、运行后端逻辑。Zite CTO Antony Toron表示Dynamic Workers在速度、隔离和安全性上“击中了目标”,公司现在每天处理数百万执行请求。
对于技术决策者来说,问题是:你的代理工作负载更接近哪一端?是高并发、短生命周期的网络交互,还是持久、深度的开发环境?答案将决定你应该选择哪种基础设施路线。
发表回复