託管 Agent SDK
Claude Agent SDK 與傳統的無狀態 LLM API 不同,它維護對話狀態並在持久環境中執行命令。本指南涵蓋了在生產環境中部署基於 SDK 的代理的架構、託管考量和最佳實踐。了解 SDK 架構
長時間運行的進程模型
與無狀態 API 調用不同,Claude Agent SDK 作為長時間運行的進程運行,它:- 執行命令在持久的 shell 環境中
- 管理檔案操作在工作目錄內
- 處理工具執行使用來自先前互動的上下文
託管要求
基於容器的沙盒
為了安全性和隔離性,SDK 應該在沙盒容器環境中運行。這提供了:- 進程隔離 - 每個會話的獨立執行環境
- 資源限制 - CPU、記憶體和儲存約束
- 網路控制 - 限制出站連接
- 臨時檔案系統 - 每個會話的乾淨狀態
系統要求
每個 SDK 實例需要:-
運行時依賴項
- Python 3.10+(用於 Python SDK)或 Node.js 18+(用於 TypeScript SDK)
- Node.js(Claude Code CLI 所需)
- Claude Code CLI:
npm install -g @anthropic-ai/claude-code
-
資源分配
- 建議:1GiB RAM、5GiB 磁碟空間和 1 CPU(根據您的任務需要進行調整)
-
網路存取
- 到
api.anthropic.com
的出站 HTTPS - 可選:存取 MCP 伺服器或外部工具
- 到
沙盒提供商選項
幾個提供商專門提供用於 AI 程式碼執行的安全容器環境:生產部署模式
模式 1:臨時會話
為每個使用者任務建立新容器,完成後銷毀它。 最適合一次性任務,使用者仍可能在任務完成時與 AI 互動,但一旦完成容器就會被銷毀。 範例:- 錯誤調查和修復:使用相關上下文除錯和解決特定問題
- 發票處理:從收據/發票中提取和結構化資料用於會計系統
- 翻譯任務:在語言之間翻譯文件或內容批次
- 圖像/影片處理:對媒體檔案應用轉換、最佳化或提取元資料
模式 2:長時間運行會話
為長時間運行的任務維護持久容器實例。通常根據需求在容器內運行_多個_ Claude Agent 進程。 最適合在沒有使用者輸入的情況下主動採取行動的代理、提供內容的代理或處理大量訊息的代理。 範例:- 電子郵件代理:監控傳入電子郵件並根據內容自主分類、回應或採取行動
- 網站建構器:為每個使用者託管自訂網站,具有通過容器埠提供的即時編輯功能
- 高頻聊天機器人:處理來自 Slack 等平台的連續訊息流,其中快速回應時間至關重要
模式 3:混合會話
使用歷史記錄和狀態進行水合的臨時容器,可能來自資料庫或來自 SDK 的會話恢復功能。 最適合與使用者間歇性互動的容器,啟動工作並在工作完成時關閉,但可以繼續。 範例:- 個人專案管理員:幫助管理正在進行的專案,間歇性檢查,維護任務、決策和進度的上下文
- 深度研究:進行多小時的研究任務,保存發現並在使用者返回時恢復調查
- 客戶支援代理:處理跨越多次互動的支援票證,載入票證歷史記錄和客戶上下文
模式 4:單一容器
在一個全域容器中運行多個 Claude Agent SDK 進程。 最適合必須密切協作的代理。這可能是最不受歡迎的模式,因為您必須防止代理相互覆蓋。 範例:- 模擬:在模擬中相互互動的代理,例如電子遊戲。