托管 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 进程。 最适合必须密切协作的代理。这可能是最不受欢迎的模式,因为您必须防止代理相互覆盖。 示例:- 模拟:在视频游戏等模拟中相互交互的代理。