騰訊 CubeSandbox 開源:60ms 冷啓動的硬件級 AI Agent 執行環境

前言

隨着大模型能力持續增強,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 在運行用戶或模型生成的代碼時,沙箱至少要同時滿足三類訴求:

  1. 安全隔離:每個任務獨立邊界,防止內核逃逸、橫向滲透與數據外泄。
  2. 彈性併發:單次工具調用可能只需數秒,但集羣層面每分鐘可能要創建、銷燬成千上萬個實例。
  3. 生態兼容:開發者已在 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) 的組合機制:

  1. 後臺維護一批已啓動的「空白沙箱」資源池,請求到達時直接取用,跳過完整引導流程。
  2. 基於 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(需在支持 KVMx86_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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜