用途:帮助开发者用 Anthropic 的 Claude Agent SDK 构建第一个智能体。SDK 负责工具调用循环、上下文压缩、子智能体派生和 MCP 集成,无需自行重写。适合启动新智能体项目、从手写 messages.create 循环迁移、需要开箱即用的子智能体编排或技能,以及构建 CLI 工具、自动化或后端智能体。
方案对比:直接 messages.create 适合简单一次性调用,但一切需自行管理;Agent SDK(客户端)适合需要完全控制的自定义智能体,循环与状态由你运行;Managed Agents API(/v1/agents)适合规模化生产智能体,循环由 Anthropic 服务端运行。需要比托管方案更多控制、又不想重写工具循环时用 SDK。
安装:TypeScript 用 npm i @anthropic-ai/claude-agent-sdk;Python 用 pip install claude-agent-sdk。
主要能力:最小智能体通过 query 传入 prompt 与 options(如 model、permissionMode),异步遍历消息流并输出文本。SDK 底层连接 Claude、提供默认工具(文件读取、bash、网页抓取)、运行工具循环并流式返回结果。自定义工具是含 name、description、inputSchema(如 zod)和异步 handler 的普通对象。权限模式包括 default(风险操作提示用户)、acceptEdits(自动批准编辑、bash 仍提示)、bypassPermissions(仅开发用)和 plan(只读)。Hooks 可在工具执行前后拦截,支持 PreToolUse 与 PostToolUse,可阻止、修改或观察每次调用。可通过 mcpServers 连接 MCP 服务器,MCP 工具与内置工具并列出现。系统提示支持 systemPrompt 或 appendSystemPrompt。多轮对话用 resume 传入 sessionId 继续会话。
限制与注意:避免在 SDK 已处理时手动重建工具循环;生产环境不要用 bypassPermissions;不要在同一智能体中混用 SDK 调用与直接 messages.create,以免混淆会话状态;建议用 plan 或 default 权限模式,添加 PreToolUse 钩子做审计与安全检查,用 resume 处理多轮,连接 MCP 服务器而非手写 GitHub/Slack 工具,并保持系统提示简短以控制每次调用成本。