前言¶
隨着大模型能力持續增強,AI Agent 正在從「對話助手」走向「能寫代碼、調工具、跑腳本」的自主執行體。Anthropic 等廠商近期提出的 Managed Agent 架構,也將 Session、Harness、Sandbox 拆分爲獨立組件——業界逐漸達成共識:Agent 的代碼執行必須放進隔離環境,否則多租戶場景下的安全風險難以控制。
問題在於,現有基礎設施往往要在「快」和「安全」之間二選一:Docker 容器啓動快、密度高,但共享宿主機內核,難以抵禦 LLM 生成惡意代碼的逃逸;傳統虛擬機硬件隔離足夠,卻動輒秒級冷啓動、數百 MB 內存開銷,撐不住 Agent 高頻「用完即毀」的調度模式。
2026 年 4 月,騰訊雲將生產級沙箱服務 CubeSandbox 以 Apache 2.0 協議完整開源(非 SDK 片段,而是整套 sandbox-as-a-service 棧)。項目基於 RustVMM + KVM MicroVM 構建,官方宣稱冷啓動可低至 60ms、單實例額外內存開銷 <5MB,並原生兼容 E2B SDK。截至 2026 年 7 月,CubeSandbox 在 GitHub 上持續登上 Trending,Star 數已突破 1 萬,被不少開發者視爲 Agent 大規模併發執行的關鍵基礎設施。
本文基於 GitHub 倉庫、官方文檔 與 騰訊雲新聞稿 覈實關鍵信息,梳理其技術原理與上手方式。
Agent 執行環境的「不可能三角」¶
Agent 在運行用戶或模型生成的代碼時,沙箱至少要同時滿足三類訴求:
- 安全隔離:每個任務獨立邊界,防止內核逃逸、橫向滲透與數據外泄。
- 彈性併發:單次工具調用可能只需數秒,但集羣層面每分鐘可能要創建、銷燬成千上萬個實例。
- 生態兼容:開發者已在 E2B、OpenAI Code Interpreter 等協議上寫了業務代碼,遷移成本越低越好。
CubeSandbox 的定位,就是試圖用 MicroVM 級別的硬件隔離,逼近容器級的啓動速度與資源密度。官方給出的對比數據如下(生產環境實測,非實驗室理想值):
| 指標 | 典型容器 | 傳統 VM | CubeSandbox |
|---|---|---|---|
| 隔離級別 | 共享內核命名空間 | 獨立 Guest 內核 | 獨立 Guest 內核 + eBPF 網絡策略 |
| 冷啓動 | ~200ms | 秒級 | <60ms(50 併發下 avg 67ms,P95 90ms) |
| 單實例內存額外開銷 | 低(共享內核) | 高(完整 OS) | <5MB |
| E2B SDK 兼容 | — | — | 原生支持,改 URL 即可 |
技術底座:自研 RustVMM 而非套殼 Docker¶
CubeSandbox 沒有選擇在 Docker 外再包一層,也沒有直接使用 AWS Firecracker,而是基於 CloudHypervisor 路線自研輕量 VMM(CubeHypervisor),用 Rust 實現,面向 Agent 場景做了全鏈路裁剪。官方文檔列出的核心優化包括:
- 精簡設備模型:僅保留 virtio-net、virtio-blk、serial 等沙箱必需虛擬設備。
- 定製 Guest Kernel:裁剪 Linux 內核功能集,縮短啓動路徑。
- 用戶態中斷處理:關鍵 I/O 路徑儘量在用戶態完成,減少內核態切換。
每個沙箱通過 KVM 硬件虛擬化 運行獨立 Guest OS 內核,從根上避開容器共享內核的逃逸面。CubeShim 實現 containerd Shim v2 接口,使 MicroVM 能接入現有容器運行時生態。
<60ms 冷啓動 並非單純「VM 本身啓動極快」,而是依賴 資源池預創建 + 快照克隆(CoW) 的組合機制:
- 後臺維護一批已啓動的「空白沙箱」資源池,請求到達時直接取用,跳過完整引導流程。
- 基於 Copy-on-Write 從模板沙箱克隆新實例,內存頁僅在寫入時才分配物理頁——這也是單實例 <5MB 額外內存開銷的關鍵原因:大部分只讀頁與模板共享。
在 96 vCPU 宿主機上,官方稱可部署 2000+ 沙箱;平臺級突發調度可超過 10 萬 實例/分鐘。MiniMax 等客戶案例中提到,Agentic RL 訓練場景下可在分鐘級調度 數十萬 異構沙箱(Linux / Windows / Android)。
分層架構與 eBPF 網絡安全¶
CubeSandbox 採用控制面 / 數據面分層設計,主要組件如下:
| 組件 | 職責 |
|---|---|
| CubeAPI | E2B 兼容 REST 網關 |
| CubeMaster | 集羣編排與調度 |
| CubeProxy | 按 Host 頭路由到具體沙箱實例 |
| Cubelet | 節點級沙箱生命週期管理 |
| CubeHypervisor | RustVMM + KVM,負責 MicroVM 啓停、快照、恢復 |
| CubeVS | 基於 eBPF 的內核級轉發與網絡隔離 |
| CubeEgress | L7 出站代理,域名白名單、憑證注入與審計 |
安全不只靠 VM 邊界。CubeVS 在數據面用 eBPF 實現出站流量過濾,默認拒絕私有網段與鏈路本地地址;CubeEgress 則要求外連域名顯式放行,密鑰通過控制面注入,不進入沙箱、模型上下文或日誌。策略可動態下發,無需重啓沙箱。
v0.3.0 引入 CubeCoW 快照引擎,支持百毫秒級 checkpoint、克隆與回滾;v0.5.0(2026-07-03)進一步加入 AutoPause/AutoResume、ARM64 全棧支持與網絡策略加固。新聞稿提到的事件級快照回滾能力,官方標註爲開發完成後將另行開源發佈。
E2B SDK 兼容:改一個環境變量¶
E2B 已是 Agent 沙箱領域的事實標準協議,Manus、Perplexity 等產品均有采用。CubeSandbox 在 API 層原生兼容 E2B,已有項目遷移時通常只需調整 endpoint 相關環境變量,業務代碼無需重寫。OpenAI Python SDK 也可配合使用。
以下示例來自官方 Quick Start(需在支持 KVM 的 x86_64 Linux 環境運行,推薦 OpenCloudOS 9):
1. 一鍵安裝服務
curl -sL https://cnb.cool/CubeSandbox/CubeSandbox/-/git/raw/master/deploy/one-click/online-install.sh | MIRROR=cn bash
2. 創建 Code Interpreter 模板
cubemastercli tpl create-from-image \
--image ccr.ccs.tencentyun.com/ags-image/sandbox-code:latest \
--writable-layer-size 1G \
--expose-port 49999 \
--expose-port 49983 \
--probe 49999
3. 用 E2B Python SDK 運行隔離代碼
pip install e2b-code-interpreter
export E2B_API_URL="http://127.0.0.1:3000"
export E2B_API_KEY="dummy"
export CUBE_TEMPLATE_ID="<your-template-id>"
import os
from e2b_code_interpreter import Sandbox
with Sandbox.create(template=os.environ["CUBE_TEMPLATE_ID"]) as sandbox:
result = sandbox.run_code("print('Hello from Cube Sandbox!')")
print(result)
安裝完成後,Web 控制檯默認監聽 :12088,可管理沙箱、模板與節點。倉庫 examples/ 目錄還覆蓋 Shell 執行、瀏覽器自動化、網絡策略、OpenClaw 集成、RL 訓練等場景。
部署形態與適用場景¶
CubeSandbox 支持單機裸金屬、多節點集羣、Helm 部署到 Kubernetes,以及騰訊雲 Terraform 一鍵集羣。Apache 2.0 許可對商業友好,適合私有化部署與合規審計。
典型場景包括:
- 基礎模型實驗室:Agentic RL 訓練需要海量短生命週期沙箱,毫秒級創建可顯著減少 GPU 空等。
- Agent 開發者 / 中小企業:無需自建 K8s,腳本幾分鐘搭好環境,通過 MCP、API、SDK 或 CLI 接入。
- 企業客戶:數據不出域,配合憑證保險庫與出站審計滿足等保與內控要求。
騰訊雲方面稱,CubeSandbox 已在騰訊元寶等億級用戶產品中驗證,累計支撐數百億次調用;並將與 TACO AI 加速引擎、FlexKV 緩存系統組合,形成「安全沙箱 + 推理加速 + 緩存優化」的全棧 Agent 基礎設施。
小結¶
CubeSandbox 把 Agent 沙箱從「容器湊合用」或「VM 太慢用不起」推向第三條路:KVM 硬件隔離 + RustVMM 極致裁剪 + E2B 生態兼容。60ms 冷啓動與 5MB 級內存開銷若在你的 workload 上可復現,確實能顯著降低 Agent 併發執行的基礎設施成本。
項目目前迭代很快(v0.5.0 已支持 AutoPause 與 ARM64),GitHub Issue 與 PR 活躍。若你正在評估自託管 Agent 執行環境,不妨在測試機拉一份代碼實測 P95 延遲與密度上限——畢竟 Agent 時代,沙箱不是可選項,而是默認基建。
- 倉庫:https://github.com/TencentCloud/CubeSandbox
- 文檔:https://cubesandbox.com
- 許可:Apache 2.0