用途:提供使用 Claude Agent SDK 构建生产级 AI 智能体的模式与最佳实践,支持 Python 包 claude-agent-sdk 与 TypeScript 包 @anthropic-ai/claude-agent-sdk。
安装:TypeScript 用 npm install @anthropic-ai/claude-agent-sdk;Python 推荐 uv add claude-agent-sdk,也可 pip install claude-agent-sdk。运行前需 export ANTHROPIC_API_KEY=your-api-key;第三方提供商可设 CLAUDE_CODE_USE_BEDROCK=1、CLAUDE_CODE_USE_VERTEX=1 或 CLAUDE_CODE_USE_FOUNDRY=1 并配置对应云凭证。
核心能力:所有智能体围绕 query() 构建,它返回流式消息的异步迭代器,SDK 内部处理工具执行、上下文管理与重试。内置工具包括 Read、Write、Edit、Bash、Glob、Grep、WebSearch、WebFetch、AskUserQuestion、Task(使用子智能体时必需)。按最小权限原则授权工具,例如只读分析用 Read/Glob/Grep,代码修改加 Edit/Write,完整自动化加 Bash。
权限模式:default 委托 canUseTool 回调;acceptEdits 自动批准文件编辑;bypassPermissions 无提示运行全部工具(仅限隔离沙箱,禁止用于多租户或面向用户的应用);plan 只规划不执行。可在会话中切换模式。权限评估顺序为钩子、权限规则、权限模式、canUseTool 回调。
会话管理:从 init 消息捕获 session_id,通过 resume 恢复会话,fork_session 派生分支而不影响原会话。可通过 mcp_servers 连接 MCP 服务,工具名格式为 mcp__{server_name}__{tool_name},需在 allowed_tools 中显式列出。可传 system_prompt 设定角色与项目上下文。
推荐做法:给具体任务指令并明确文件名;处理 subtype 为 error 的结果;在异步循环外层捕获异常;不用裸 except;用 PreToolUse 钩子拦截敏感路径;子智能体不自动继承父权限;持久化 session ID;优先流式处理;用子智能体并行独立任务;高成本或不可逆操作先用 plan 模式。参考资料涵盖钩子、子智能体与自定义工具。其他平台、收费与效果信息暂未提供。