−25%

Windows 年繳方案適用,至 10 月 31 日。 檢視方案

EQVPS
開始使用

AI 代理沙箱:在 1 秒啟動的微虛擬機器裡執行不可信程式碼

您的代理會寫出從未執行過的程式碼。基於 Firecracker microVM 的沙箱為這段程式碼提供一台用完即棄的 Linux 機器,無法存取您的伺服器、金鑰或網路——約一秒啟動,按秒計費。

每個會寫程式碼的代理,遲早都得執行它。這正是這類代理存在的意義,也正是讓人不安的地方。模型剛產生了一段自己從未執行過的指令碼:它安裝沒人審查過的包,碰沒人列出來的檔案。把它放在您的 SSH 金鑰和正式環境 .env 旁邊執行,是您每天要押上好幾次的賭注。

沙箱讓這個賭注變得很便宜。程式碼獲得一台屬於自己的 Linux 機器,用上幾秒或幾分鐘,然後這台機器就消失了。

代理能拿到什麼

每個沙箱都是一台 Firecracker microVM:獨立的核心、獨立的檔案系統、獨立的網路名稱空間。它不是和您共享核心的容器,也不是您伺服器上的某個目錄。啟動大約一秒,這一點在代理每個任務都開一個沙箱、而不是一天開一個時很重要。

裡面有帶 pip 的 Python 3.12、帶 npm 的 Node.js 22、bash、git 和 curl。對外網路可用——代理可以 pip install pandas,也可以克隆儲存庫。對內不行:沒有開放埠,沒有 SSH。指令、檔案和輸出都經過我們的 API,這是唯一的門。

三種接入方式:

  • MCP —— 如果您的代理執行在 Claude、Cursor、Cline 或其他支援 MCP 的用戶端裡,它會在 VPS 工具旁邊看到沙箱工具。您這邊不用寫程式碼。
  • Python 或 TypeScript SDK —— pip install eqvps 或 npm i @eqvps/sdk,然後建立、執行、刪除。
  • 純 REST —— 見 沙箱文件 和 OpenAPI 規範。

Python 裡最簡單的迴圈如下:

from eqvps import Sandbox

with Sandbox.create(tariff="small") as sb:
    sb.upload("/root/task.py", agent_generated_code)
    result = sb.exec("python3 /root/task.py", timeout=55)
    print(result.exit_code, result.stdout[-2000:])
# the sandbox is deleted here, also if anything above raised

非零結束代碼會作為普通結果返回,而不是丟擲異常。當代理需要讀 traceback 再試一次時,這正是您想要的。

危險情況,以及它們的結局

惡意的或者只是壞掉的包。 它執行在一台不存放任何您的東西的 VM 裡。刪掉沙箱,它也就沒了。

金鑰。 不要把您的主 API 金鑰寫進代理產生的程式碼裡。如果某個任務確實需要金鑰,就透過沙箱環境變數傳入:值加密儲存,從不寫入記錄,API 只返回變數名。

死迴圈。 每條指令在 55 秒後停止,除非您把它作為背景任務啟動。空閒的臨時沙箱會在空閒超時(預設 5 分鐘)後自行刪除。每日或每月的消費上限會在代理當天花夠之後阻止建立新沙箱。

資料外洩。 這裡必須說清楚:對外網路是開放的,因為沒有它 pip install 就無法工作。沙箱保護的是您的機器;它不會阻止程式碼把它在沙箱內能讀到的任何東西發到網際網路上。所以規則很簡單:只把丟了也無所謂的東西放進沙箱。

選擇方案

方案vCPU / 記憶體每小時適合
micro0.25 / 512 MB$0.0165一次性指令碼、資料檢查
small0.5 / 1 GB$0.033大多數代理程式碼、pip install
standard1 / 2 GB$0.066pandas、測試套件
plus2 / 4 GB$0.132重型安裝(torch)、建置

按秒計費,最少 60 秒,與我們的 VPS 共用同一個預付餘額。一個典型的代理任務——建立、裝兩個包、執行、刪除——在 small 上不到一分鐘,所以按 60 秒的最低值計費:約 $0.0006。說實話,對一個每天執行幾百次程式碼的代理來說,沙箱帳單是預算裡最小的一行;LLM 的 token 要貴得多。

什麼時候沙箱不是合適的工具

如果代理需要對外提供服務——一個 Web 應用、一個 webhook 接收器、一個監聽訊息的機器人——沙箱就不行,因為外部無法存取它。需要連續執行幾個月的服務也一樣。這是 VPS 的活:參見 AI 代理專用 VPS。常見的分工是:代理住在一台小 VPS 上,每遇到一段沒見過的程式碼,就開一個沙箱來跑。

另一個限制是持續的重度計算。CPU 滿載超過 15 分鐘的沙箱會被視為濫用,所以長時間的計算任務應該放在按月租用的伺服器上。

開始使用

註冊帳戶、拿到 token、執行第一個沙箱——連線指南 會帶您走完每一步,新帳戶還有 $1 沙箱時長可以試用。然後把代理指向 沙箱頁面 或 MCP 工具,讓它在弄壞東西不花錢的地方盡情折騰。

分步教學:在沙箱中完成第一個代理任務。相關:隔離的 CI 測試、LLM 評測和程式碼審查與 PR 檢查。

準備好部署了嗎?以加密貨幣付款,免 KYC——大約一分鐘上線。

立即部署 →

常見問題

為什麼不直接在自己的伺服器上執行代理的程式碼?

因為代理自己也不知道這段程式碼會做什麼。帶惡意安裝指令碼的 pip 包、塞滿磁碟的迴圈、讀取 ~/.ssh 的指令——在您的機器上,每一個都能碰到您的金鑰和資料。在沙箱裡,最壞的結果不過是一個壞掉的沙箱,刪掉即可。

沙箱裡有什麼?

Linux,帶 Python 3.12 和 pip、Node.js 22 和 npm、bash、git 和 curl。對外網路可用,所以 pip install、npm install 和 git clone 都沒問題。沒有對內埠,也沒有 SSH——指令和檔案透過 API、SDK 或 MCP 傳遞。

一條指令最多能執行多久?

每次呼叫最多 55 秒。更長的任務——訓練指令碼、很長的測試套件——以背景任務方式啟動,您輪詢讀取輸出。背景任務可以一直執行到沙箱生命週期結束(臨時沙箱最長 24 小時)。

費用是多少?

按秒為方案的 vCPU 和記憶體付費,最少 60 秒。最小的方案(micro)每小時 $0.0165;足以應付大多數代理程式碼的 small 為 $0.033。費用從與 VPS 相同的預付餘額中扣除,新帳戶可獲得 $1 沙箱時長用於試用。

代理能自己建立沙箱嗎?

可以。透過 MCP,代理直接獲得沙箱工具;在程式碼裡,用 Python 或 TypeScript SDK 只需三行。您可以設定每日或每月的消費上限,避免陷入迴圈的代理耗光餘額。

評論

目前還沒有評論。歡迎成為第一位。

發表評論

評論在顯示前會經過審核。