會寫程式的代理需要一個執行程式碼的地方。常見的回答是「給它一台伺服器」,而對很多代理來說,這台機器比實際需要大得多。相反的錯誤同樣常見:有人把需要一直運行的機器人架在沙箱裡,然後納悶它為什麼一夜之間消失了。
兩樣我們都賣,所以兩種錯誤都見過。我們會這樣判斷。
各自是什麼
沙箱是 Firecracker microVM。大約一秒啟動,內建 Python 3.12、Node.js 22、bash 和 git,有對外網路,沒有入站連接埠,也沒有 SSH。你透過 API、SDK 或 MCP 和它溝通:執行指令、上傳檔案、讀取輸出。單一指令最長執行 55 秒;更長的工作以背景任務執行。臨時沙箱最長存活 24 小時,閒置時會自行消失。
VPS 是一般的虛擬伺服器。透過 SSH 的 root、一直保留的磁碟,在你取消之前持續運行。有獨立 IPv4 的方案,所有入站連接埠都歸你。NAT 方案提供一個用於 SSH 的轉發連接埠,對外位址不是你獨有的。
餘額、帳戶、MCP 伺服器都是同一個。差別在於存活時間,以及能否從外部連到這台機器。
三個問題
1. 沒人呼叫它的時候,它也要運行嗎? Telegram 機器人、交易迴圈、排程爬蟲、每十分鐘檢查一次的代理。這些全是 VPS 的工作。閒置的沙箱會自我刪除,而按小時計費的持久沙箱跑滿一個月,費用是小型 VPS 的好幾倍。
2. 有東西需要連線到它嗎? Webhook、API、團隊用的 MCP 伺服器、在瀏覽器裡開啟的面板。沙箱完全不接受入站連線。所以是 VPS,實際上是有獨立 IPv4 的:Nano-IP 每月 $8 起。
3. 有人讀過這段程式碼嗎? 模型的輸出、代理決定安裝的套件、陌生人送來的拉取請求。這正是沙箱發揮價值的地方。程式碼就算做壞事,也只發生在一分鐘後就會被刪除、裡面沒有你任何金鑰的機器上。把同樣的東西放到存著機器人權杖的 VPS 上執行,是你不想下的賭注。
如果你的回答是「否、否、是」,用沙箱。前兩個問題只要有一個「是」,就是 VPS。很多代理的答案是「是、也許、是」,它們兩者都需要。
費用在哪裡交會
沙箱按分配的 vCPU 和記憶體逐秒計費,最少 60 秒。VPS 方案是固定月價。依目前價格:
| 沙箱方案 | 每小時 | 相近的 VPS | 每月 | 損益平衡 |
|---|---|---|---|---|
| small (0.5 vCPU, 1 GB) | $0.033 | Nano (2 vCPU, 1 GB, NAT) | $3 | 約 91 小時 |
| standard (1 vCPU, 2 GB) | $0.066 | Micro (2 vCPU, 2 GB, NAT) | $5 | 約 76 小時 |
| plus (2 vCPU, 4 GB) | $0.132 | Small (4 vCPU, 4 GB, NAT) | $8 | 約 61 小時 |
如果代理的程式碼每個任務只跑幾分鐘,那麼每月幾百個任務在沙箱裡也只花幾美分。一旦總量超過每天約三小時,VPS 更便宜;全天候運行時便宜得多:持久的 standard 沙箱跑滿一個月最多 $36.14,而 Micro 只要 $5。
這幾列並不完全對等:VPS 的 vCPU 更多、磁碟更大,而 NAT 方案不接受入站連線。但就這裡討論的「我的程式碼在哪裡執行」這個問題來說,比較是公平的。
我們的建議
對於真正做事的代理,兩者都用:
- VPS 作為代理的家。上面執行代理迴圈,保存它的記憶和 API 金鑰,並開放需要開放的服務。只透過 API 呼叫模型的代理,$3 的 Nano 就夠了;本地推論則需要多得多的資源。
- 每個不可信任務一個沙箱。代理寫好程式碼,送進一台全新的 microVM,讀取結果,然後丟掉這台機器。沙箱拿不到它用不著的任何機密。
兩者都能透過同一個 MCP 連線使用,代理依任務自行選擇。放手之前,先設好沙箱支出上限。一個無止盡建立沙箱的迴圈會在上限處被擋下,而不會把餘額耗光。
這個建議什麼時候不適用
如果你已經在自己伺服器的容器裡執行不可信的程式碼,並且對這層邊界滿意,單獨的沙箱可能顯得多餘。這取決於你有多信任這些程式碼。我們的隔離層級比較說明了容器擋得住什麼、擋不住什麼。
如果代理寫的是完整應用程式而不是程式片段,兩者之間還有第三種選擇:一台 VPS,代理推送的每個分支都會變成有獨立位址的預覽。
而如果代理只呼叫 API、從不執行自己寫的東西,那它既不需要沙箱,也不需要多大的伺服器。一台跑著迴圈的 $3 VPS 綽綽有餘。
下一步:沙箱每小時 $0.0165 起(已驗證電子郵件的新帳戶可為第一個沙箱獲得一次性 $1,有效期 14 天),VPS 方案每月 $3 起。如果代理要自己管理伺服器,請閱讀下單之後它做什麼。
評論
目前還沒有評論。歡迎成為第一位。