毫秒 vs. 百毫秒
token 用量降低
容器要幾百 MB
百萬 RPS 沒問題
問題:AI Agent 想執行程式碼,怎麼安全地跑?
現在的 AI Agent 越來越常需要「寫一段程式碼然後執行」——不是回傳答案,而是直接操作 API、查資料庫、處理檔案。
但你不能讓 AI 寫的 code 直接在你的 server 上執行。一個惡意的 prompt injection,就能讓 AI 生成一段刪除資料庫的程式碼。你需要沙箱——一個隔離的執行環境,只允許存取你明確授權的資源。
到目前為止,業界的標準做法是用 container(容器)做沙箱。Docker、Firecracker microVM、gVisor——都是容器技術的變體。問題是:
Container 沙箱的代價
- 啟動慢:幾百毫秒到幾秒
- 記憶體重:單個容器幾百 MB
- 需要保持 warm 避免冷啟動
- 大多數平台有併發限制
- 全球分佈需要額外配置
V8 Isolate(Dynamic Workers)
- 啟動:幾毫秒
- 記憶體:幾 MB
- 用完即丟,不需要 warm
- 無併發限制
- 全球 300+ 節點自動分佈
怎麼運作?V8 Isolate 的本質
V8 isolate 是 Google Chrome 的 JavaScript 引擎實例。Cloudflare Workers 從 8 年前就建立在這個技術上——每個 Worker 都是一個 isolate,天生就是沙箱。
Dynamic Workers 做的事情很簡單:讓一個 Worker 在執行時期動態建立另一個 Worker,注入 AI 寫的程式碼,跑完就丟。
就這樣。沙箱跟建立它的 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
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 看到的產業方向
限制和取捨
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 標準,故事還沒寫完。