每個會寫程式碼的代理,遲早都得執行它。這正是這類代理存在的意義,也正是讓人不安的地方。模型剛產生了一段自己從未執行過的指令碼:它安裝沒人審查過的包,碰沒人列出來的檔案。把它放在您的 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 / 記憶體 | 每小時 | 適合 |
|---|---|---|---|
| micro | 0.25 / 512 MB | $0.0165 | 一次性指令碼、資料檢查 |
| small | 0.5 / 1 GB | $0.033 | 大多數代理程式碼、pip install |
| standard | 1 / 2 GB | $0.066 | pandas、測試套件 |
| plus | 2 / 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 檢查。
評論
目前還沒有評論。歡迎成為第一位。