Cloudflare Dynamic Workers:AI Agent 沙箱加速 100 倍,Container 時代結束了? 技術解析

重點摘要:Cloudflare 於 3/24 推出 Dynamic Workers(開放 Beta),用 V8 isolate 取代傳統容器做 AI Agent 的程式碼執行沙箱。啟動速度快 100 倍(毫秒 vs. 百毫秒)、記憶體省 10-100 倍(幾 MB vs. 幾百 MB)。搭配去年發表的 Code Mode,AI Agent 寫程式碼取代 tool call,token 用量減少 81%。這不只是技術更新,是 AI Agent 基礎設施的遊戲規則改寫。
100x
啟動速度提升
毫秒 vs. 百毫秒
-81%
Code Mode
token 用量降低
~MB
單個沙箱記憶體
容器要幾百 MB
0
併發限制
百萬 RPS 沒問題

問題:AI Agent 想執行程式碼,怎麼安全地跑?

現在的 AI Agent 越來越常需要「寫一段程式碼然後執行」——不是回傳答案,而是直接操作 API、查資料庫、處理檔案。

但你不能讓 AI 寫的 code 直接在你的 server 上執行。一個惡意的 prompt injection,就能讓 AI 生成一段刪除資料庫的程式碼。你需要沙箱——一個隔離的執行環境,只允許存取你明確授權的資源。

到目前為止,業界的標準做法是用 container(容器)做沙箱。Docker、Firecracker microVM、gVisor——都是容器技術的變體。問題是:

Container 沙箱的代價

  • 啟動慢:幾百毫秒到幾秒
  • 記憶體重:單個容器幾百 MB
  • 需要保持 warm 避免冷啟動
  • 大多數平台有併發限制
  • 全球分佈需要額外配置
VS

V8 Isolate(Dynamic Workers)

  • 啟動:幾毫秒
  • 記憶體:幾 MB
  • 用完即丟,不需要 warm
  • 無併發限制
  • 全球 300+ 節點自動分佈

怎麼運作?V8 Isolate 的本質

V8 isolate 是 Google Chrome 的 JavaScript 引擎實例。Cloudflare Workers 從 8 年前就建立在這個技術上——每個 Worker 都是一個 isolate,天生就是沙箱。

Dynamic Workers 做的事情很簡單:讓一個 Worker 在執行時期動態建立另一個 Worker,注入 AI 寫的程式碼,跑完就丟。

// AI 生成的程式碼 let agentCode = ` export default { async myAgent(param, env, ctx) { // Agent 的邏輯在這裡 } } `; // 用 Dynamic Worker Loader 載入沙箱 let worker = env.LOADER.load({ mainModule: "agent.js", modules: { "agent.js": agentCode }, env: { CHAT_ROOM: chatRoomRpcStub }, // 只給它需要的 API globalOutbound: null, // 封鎖網路存取 }); // 呼叫 Agent await worker.getEntrypoint().myAgent(param);

就這樣。沙箱跟建立它的 Worker 跑在同一台機器、甚至同一個 thread 上,零延遲。不需要跨網路找一台有空的容器機。

更大的概念:Code Mode

Dynamic Workers 只是執行層。更值得注意的是 Cloudflare 去年 9 月提出的 Code Mode 概念:

Code Mode 的核心思路

AI Agent 不再一個一個呼叫 tool call,而是直接寫一段程式碼去呼叫 API。把 MCP server 轉成 TypeScript API 定義,token 用量降低 81%。Cloudflare 甚至用這個方法重寫了自己的 MCP server——整個 Cloudflare API,只需要 2 個 tool、不到 1,000 tokens

為什麼這很重要?因為現在 AI Agent 的主流做法是 MCP tool call:

傳統 Tool Call vs. Code Mode

Tool Call 模式:AI 一次呼叫一個 tool,拿到結果,再呼叫下一個 tool,來回多次。每次都要送完整的 tool schema,token 消耗大,延遲高。10 個動作 = 10 次往返。
Code Mode:AI 看一次 TypeScript 類型定義,寫出一段完整程式碼,一次執行完成。10 個動作 = 1 段程式碼、1 次執行。Token 省 81%,速度快數倍。

Code Mode 需要的前提正是安全的程式碼執行環境。Dynamic Workers 補上了這塊拼圖。

TypeScript 取代 OpenAPI:給 AI 看的 API 文件

如果 Agent 要寫程式碼呼叫 API,它需要知道 API 長什麼樣。Cloudflare 的答案是:直接給 TypeScript 類型定義,不用 OpenAPI spec。

一個聊天室 API 的 TypeScript 定義只需要十幾行。同樣的功能,OpenAPI spec 要寫將近 100 行。對 AI 來說,TypeScript 更精簡、更自然——LLM 的訓練資料裡有大量 TypeScript,讀起來毫無障礙。

AI Agent 沙箱平台比較

Dynamic Workers 不是唯一的選擇。目前市場上主要有三大類沙箱方案:

項目 Cloudflare
Dynamic Workers
E2B Modal
底層技術 V8 Isolate Firecracker microVM gVisor 容器
冷啟動 ~毫秒 ~150ms ~秒級
記憶體 幾 MB 幾十~幾百 MB 幾百 MB
語言支援 JavaScript/TS 任意語言 任意語言(含 Python)
GPU 不支援 不支援 A100/H100
併發限制 無限制 有限制 50,000+
全球分佈 300+ 節點 有限區域 有限區域
最長執行 30 分鐘 24 小時 長時間
價格 $5/月起
+ $0.00002/vCPU-s
$150/月起 按量計費
適用場景 快速、輕量的
Agent 程式碼執行
需要完整 OS
環境的 Agent
需要 GPU 的
ML 工作負載

這代表什麼?AI Agent 基礎設施的三個訊號

從 Dynamic Workers 看到的產業方向

1
Agent 的戰場從模型轉向執行。模型已經夠聰明了。瓶頸在於:Agent 寫出的程式碼要在哪裡跑、怎麼安全地跑、怎麼大規模地跑。誰掌握執行層,誰就掌握 Agent 生態的入口。
2
MCP tool call 可能不是終態。Code Mode 的 81% token 節省不是小數字。如果 Agent 寫程式碼比呼叫 tool 更高效,MCP 的角色可能從「Agent 的主要介面」退化為「API 發現層」,實際執行由 Code Mode 接管。
3
Cloudflare 在 AI 領域的定位越來越清晰。不做模型、不做應用,做 Agent 的「執行基礎設施」。從 Workers AI 到 Dynamic Workers,Cloudflare 要成為 AI Agent 時代的 AWS Lambda——你寫邏輯,它負責跑。

限制和取捨

Dynamic Workers 不是萬能的:

  • 只支援 JavaScript/TypeScript。不能跑 Python、不能跑 shell script。對 AI 來說不是問題(LLM 寫 JS 很熟),但對需要特定語言環境的工作不適用。
  • 沒有 GPU。純 CPU 執行,不能跑 ML inference。需要 GPU 的場景還是得用 Modal。
  • 最長 30 分鐘。快速任務沒問題,長時間運算不行。
  • 沒有持久化檔案系統。用完即丟,需要儲存就得接 R2 或外部儲存。

但對「AI Agent 執行一段程式碼、拿到結果、繼續下一步」這個最常見的場景,它幾乎是目前最佳選擇。

結論:新大陸被發現了

Dynamic Workers 本身不是革命——V8 isolate 存在了 8 年。但把它包裝成「AI Agent 的程式碼沙箱」,搭配 Code Mode 的 token 節省策略,Cloudflare 發現了一塊新大陸:AI Agent 需要的不是更聰明的模型,而是更輕、更快、更便宜的執行環境。

Container 不會消失,就像虛擬機沒有因為 container 而消失。但對 AI Agent 這個快速、輕量、用完即丟的使用場景,isolate 就是更好的答案。

這場戰爭剛開始。E2B、Modal、Cloudflare、還有可能入場的 AWS 和 Google——誰能成為 AI Agent 時代的 execution layer 標準,故事還沒寫完。