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?