用途:Claude Agent SDK 用于构建可自主读取文件、执行命令、搜索网页、编辑代码并验证结果的 AI 智能体。它提供与 Claude Code 相同的工具能力。
主要能力:
- 两种查询方式:query() 每次新建会话,适合一次性任务与自动化;ClaudeSDKClient 支持持续会话、后续追问、钩子与中断。query() 更简单,但不支持钩子、中断或自定义工具。
- 智能体循环:收集上下文 → 执行动作 → 验证结果 → 重复。
- 内置工具:Read、Write、Edit、Bash、Glob、Grep、WebSearch、WebFetch、Task、NotebookEdit、TodoWrite、KillShell、ExitPlanMode。
- ClaudeAgentOptions 关键字段:allowed_tools、disallowed_tools、system_prompt、mcp_servers、permission_mode(default | acceptEdits | plan | bypassPermissions)、can_use_tool、cwd、max_turns、env、hooks、agents、sandbox、setting_sources。
- 支持自定义工具(@tool 装饰器或 MCP 服务器)、钩子、权限回调、子智能体、浏览器控制。
- 消息类型:UserMessage、AssistantMessage、SystemMessage、ResultMessage;内容块含 TextBlock、ThinkingBlock、ToolUseBlock、ToolResultBlock。
- 错误类型:CLINotFoundError、CLIConnectionError、ProcessError、CLIJSONDecodeError。
- 思考深度可通过 effort 参数控制(low、medium、high、max),在 API 层而非 agent options 中设置。
安装: Python:uv add claude-agent-sdk TypeScript:npm install @anthropic-ai/claude-agent-sdk 前置要求:安装 Claude Code CLI(npm install -g @anthropic-ai/claude-code),并设置 ANTHROPIC_API_KEY 环境变量。
使用方式:用 query(prompt=..., options=ClaudeAgentOptions(...)) 执行一次性任务;用 async with ClaudeSDKClient(options) as client 建立持续会话并接收响应。常见模式包括文件操作智能体、只读代码审查智能体、研究智能体与交互式工具聊天。
适用场景:自动化代码修改、代码审查、网页研究、批量文件处理及需要多轮上下文的交互式助手。
限制:query() 不支持钩子、中断和自定义工具;需预先安装 Claude Code CLI 并配置 API Key;高级能力需使用 ClaudeSDKClient 或 MCP 服务器、钩子与权限配置。资料未提供具体收费、价格、平台范围或效果数据。