文档索引
在此获取完整文档索引:https://code.claude.com/docs/llms.txt 使用此文件发现所有可用页面,然后再进一步探索。
托管 Agent SDK
在生产环境中部署和托管 Claude Agent SDK
Claude Agent SDK 与传统的无状态 LLM API 不同,它维护对话状态并在持久环境中执行命令。本指南涵盖在生产中部署基于 SDK 的智能体的架构、托管注意事项和最佳实践。
有关超越基本沙盒的安全加固(包括网络控制、凭证管理和隔离选项),请参阅安全部署。
托管要求
基于容器的沙盒
为了安全和隔离,SDK 应在沙盒化的容器环境中运行。这提供了进程隔离、资源限制、网络控制和临时文件系统。
SDK 还支持编程式沙盒配置用于命令执行。
系统要求
每个 SDK 实例需要:
-
运行时依赖
- Python SDK 需要 Python 3.10+,TypeScript SDK 需要 Node.js 18+
- 两个 SDK 包都为主机平台捆绑了原生 Claude Code 二进制文件,因此生成的 CLI 不需要单独安装 Claude Code 或 Node.js
-
资源分配
- 推荐:1GiB RAM、5GiB 磁盘和 1 个 CPU(根据需要根据您的任务调整)
-
网络访问
- 出站 HTTPS 到
api.anthropic.com - 可选:访问 MCP 服务器或外部工具
- 出站 HTTPS 到
了解 SDK 架构
与无状态 API 调用不同,Claude Agent SDK 作为一个长时间运行的进程运行,它:
- 在持久 shell 环境中执行命令
- 在工作目录内管理文件操作
- 使用先前交互的上下文处理工具执行
沙盒提供商选项
多家提供商专门提供用于 AI 代码执行的安全容器环境:
有关自托管选项(Docker、gVisor、Firecracker)和详细的隔离配置,请参阅隔离技术。
生产部署模式
模式 1:临时会话
为每个用户任务创建新容器,完成后销毁。
最适合一次性任务,用户可以在任务完成期间与 AI 交互,但完成后容器即被销毁。
示例:
- Bug 调查与修复:使用相关上下文调试和解决特定问题
- 发票处理:从收据/发票中提取和结构化数据以用于会计系统
- 翻译任务:在语言之间翻译文档或内容批次
- 图像/视频处理:对媒体文件应用转换、优化或提取元数据
模式 2:长时间运行的会话
为长时间运行的任务维护持久的容器实例。通常根据需求在容器内运行多个 Claude Agent 进程。
最适合主动采取行动而无需用户输入的智能体、提供内容的智能体或处理大量消息的智能体。
示例:
- 邮件智能体:监控传入邮件并根据内容自主分类、响应或采取行动
- 网站构建器:通过容器端口为每个用户托管具有实时编辑功能的自定义网站
- 高频聊天机器人:处理来自 Slack 等平台的持续消息流,其中快速响应时间至关重要
模式 3:混合会话
临时容器注入历史和状态,可能来自数据库或 SDK 的会话恢复功能。
最适合与用户间歇性交互的容器,启动工作并在工作完成后停止,但可以继续。
示例:
- 个人项目经理:帮助管理进行中的项目,间歇性检查,维护任务、决策和进度的上下文
- 深度研究:进行多小时的研究任务,保存发现并在用户返回时恢复调查
- 客户支持智能体:处理跨多次交互的支持工单,加载工单历史和客户上下文
模式 4:单一容器
在一个全局容器中运行多个 Claude Agent SDK 进程。
最适合必须紧密协作的智能体。这可能是最不受欢迎的模式,因为您需要防止智能体相互覆盖。
示例:
- 模拟:在视频游戏等模拟中相互交互的智能体。
常见问题
如何与沙盒通信?
在容器中托管时,暴露端口以与 SDK 实例通信。您的应用程序可以为外部客户端暴露 HTTP/WebSocket 端点,同时 SDK 在容器内部运行。
托管容器的成本是多少?
服务智能体的主要成本是令牌;容器根据您的配置而异,但最低成本大约为每小时运行 5 美分。
何时应关闭空闲容器 vs 保持其热状态?
这可能取决于提供商,不同的沙盒提供商允许您设置不同的空闲超时标准,之后沙盒可能会停止。
您需要根据用户响应频率来调整此超时。
应多久更新一次 Claude Code CLI?
Claude Code CLI 使用语义版本控制,因此任何破坏性变更都会有版本控制。
如何监控容器健康和智能体性能?
由于容器只是服务器,您用于后端的相同日志记录基础设施将适用于容器。
智能体会话可以运行多长时间才会超时?
智能体会话不会超时,但考虑设置 maxTurns 属性以防止 Claude 陷入循环。