模型本身不會執行任何東西。當它呼叫工具時,只是輸出一個帶著工具名稱和參數的請求,總得有東西去執行。自己跑是一條路:用 E2B 或 Modal 這類沙箱平台,或自己開 Docker 容器,然後處理隔離、限時、修補映像等所有雜事。另一條路是 server-side code execution tool——你在 API 請求裡加一個工具項目,provider 在自己的沙箱裡跑指令,結果在同一個請求內回給模型,你的應用程式完全不用碰。
OpenRouter 在 2026 年 10 月 5 日發表的比較文章,把這四條線——OpenAI、Anthropic、Google 和 OpenRouter 自己——放在同一張表上檢視。對 builder 來說,這篇的價值不在於排名,而在於把「什麼時候該用 hosted 工具、什麼時候還是得自己管沙箱」講清楚了。
執行迴圈是價值所在
Hosted 工具的運作方式各家一致:模型決定需要跑什麼,輸出一個或多個 shell 指令;provider 在隔離容器裡依序執行;每個指令的 stdout、stderr 和結果(exit code 或 timeout)回給模型;模型讀完後決定回答或再跑一輪。這個迴圈讓模型能用真實輸出核對自己的判斷,而不是憑空猜測。
OpenRouter 用 max_tool_calls 欄位限制這個迴圈,預設和上限都是 30 次伺服器工具步驟。
四家差在哪
決定性的差異其實只有一個:每家能替哪些模型跑程式。
OpenAI 的 shell tool 在 Responses API 上運作,容器環境是 Debian 12,預裝 Python 3.11、Node.js 22.16、Java 17 等語言。預設沒有對外網路,要開的話由組織管理員在 dashboard 設 allowlist。容器可以透過 id 跨請求重複使用。
Anthropic 的 code execution tool 在 Messages API 上提供 Python 和 Bash,環境是 Linux x86_64 容器,5 GiB RAM 和 5 GiB 儲存。網路完全關閉,所以 Claude 只能用預裝的函式庫。較新的版本支援跨請求保留 Python 直譯器狀態,容器閒置約五分鐘後會 checkpoint,30 天內可用 id 還原。
Google 的工具只跑 Python,環境有 30 秒的執行上限,也不能自行安裝函式庫。
OpenRouter 的 openrouter:shell 則不受單一模型限制:因為沙箱跑在路由層,任何在 Responses 和 Messages API 上的模型都能用。engine 設成 auto 時,有原生 hosted shell 的 provider 就用原生的,否則才落到自己的沙箱。兩個工具都在 beta,沙箱計費為每秒 $0.0001,新的或休眠的容器有 30 秒最低計費。
什麼時候還是該自己跑
Hosted 工具適合短而有限的任務:跑一段腳本、轉換檔案、驗證結果。但只要需要特定的基礎映像、GPU、或跑好幾個小時的長會話,四家的 hosted 工具都覆蓋不了,這時 self-managed 沙箱平台仍是正解。
另外一個容易踩的坑:如果你透過 agent SDK 使用這類工具,要確認配置的模式。OpenAI Agents SDK 的 ShellTool 依配置不同,可能跑在本地也可能跑在 OpenAI 容器裡——別假設指令一定在遠端執行。
實務上的建議
如果你的 agent 只是偶爾需要算個數、讀個 CSV、驗證一段邏輯,hosted 工具幾乎是明顯的選擇:一行 JSON 換掉所有容器維運。真正要做的決定是迴圈上限和預算——沙箱按秒計費,模型每多跑一輪就是多幾秒。
想深入了解各家的具體差異,可以參考先前對四條 server-side code execution 工具線的挑選分析。這篇文章的比較表格來自各 vendor 自己的文件,只有 OpenRouter 的執行環境欄位是實際跑請求後由沙箱回報的——這個「以文件為準、版本可能變動」的前提,在你做技術選型時也該記住。
