Claude Agent SDK 與傳統的無狀態 LLM API 不同,它維護對話狀態並在持久環境中執行命令。本指南涵蓋了在生產環境中部署基於 SDK 的代理的架構、託管考量和最佳實踐。
有關基本沙箱之外的安全強化——包括網路控制、憑證管理和隔離選項——請參閱安全部署。
為了安全性和隔離性,SDK 應在沙箱容器環境中運行。這提供了程序隔離、資源限制、網路控制和臨時檔案系統。
SDK 還支援用於命令執行的程式化沙箱配置。
每個 SDK 實例需要:
執行時依賴
npm install -g @anthropic-ai/claude-code資源分配
網路存取
api.anthropic.com 的出站 HTTPS與無狀態 API 呼叫不同,Claude Agent SDK 作為長時間運行的程序運作,它:
多家提供商專門提供用於 AI 程式碼執行的安全容器環境:
有關自託管選項(Docker、gVisor、Firecracker)和詳細的隔離配置,請參閱隔離技術。
為每個使用者任務建立新容器,完成後銷毀。
最適合一次性任務,使用者仍可在任務完成期間與 AI 互動,但一旦完成,容器即被銷毀。
範例:
維護持久容器實例以處理長時間運行的任務。通常根據需求在容器內運行_多個_ Claude Agent 程序。
最適合無需使用者輸入即可主動採取行動的代理、提供內容的代理或處理大量訊息的代理。
範例:
使用歷史記錄和狀態填充的臨時容器,可能來自資料庫或 SDK 的會話恢復功能。
最適合使用者間歇性互動的容器,啟動工作後在工作完成時關閉,但可以繼續。
範例:
在一個全域容器中運行多個 Claude Agent SDK 程序。
最適合必須緊密協作的代理。這可能是最不常見的模式,因為您必須防止代理互相覆寫。
範例:
在容器中託管時,開放連接埠以與您的 SDK 實例通訊。您的應用程式可以為外部客戶端開放 HTTP/WebSocket 端點,而 SDK 在容器內部運行。
我們發現服務代理的主要成本是 token,容器成本因您配置的內容而異,但最低成本大約為每小時運行 5 美分。
這可能取決於提供商,不同的沙箱提供商會讓您設定不同的閒置超時標準,超時後沙箱可能會關閉。 您需要根據您認為使用者回應的頻率來調整此超時時間。
Claude Code CLI 使用 semver 版本控制,因此任何破壞性變更都會進行版本控制。
由於容器本質上就是伺服器,您用於後端的相同日誌基礎設施也適用於容器。
代理會話不會超時,但我們建議設定 'maxTurns' 屬性以防止 Claude 陷入迴圈。
Was this page helpful?