用途:本技能介绍如何在基于 Claude Agent SDK 的应用中,以程序化方式定义智能体,替代使用 markdown 文件(.claude/agents/)的方式。
主要能力:在 TypeScript 和 Python 中通过 AgentDefinition 定义子智能体。AgentDefinition 结构包含:description(必填,说明何时调用,作为路由键)、prompt(必填,系统提示内容)、tools(可选,允许的工具列表,省略则继承全部)、model(可选,可取 sonnet、opus、haiku 或 inherit)。父智能体需具备 Task 工具才能调用子智能体,示例中 allowed_tools 包含 Read、Grep、Glob、Edit、Write、Bash、Task。
使用方式:TypeScript 侧从 @anthropic-ai/claude-agent-sdk 导入 query、ClaudeAgentOptions、AgentDefinition;Python 侧从 claude_agent_sdk 导入 query、ClaudeAgentOptions、AgentDefinition。用 query 执行并传入 options,其中 agents 字段填入定义的智能体。
与文件系统智能体的差异:文件系统使用带 YAML frontmatter 的 markdown,自动从目录加载,用于 Claude Code CLI;SDK 使用 TypeScript/Python 对象,在 options 中传入,用于自定义 SDK 应用。
适用场景:构建自定义智能体框架、程序化智能体编排、运行时动态创建智能体、带智能体任务的 CI/CD 流水线、嵌入 Claude 智能体的应用。当用户可能采用任一方式时,可同时提供 .claude/agents/{name}.md 的 markdown 文件与 SDK 定义,以兼容 Claude Code CLI 和自定义 SDK 应用。
限制:资料未提供安装命令、版本要求、定价、支持平台及实际效果等信息。