主题
子代理
Claude Code 中的自定义子代理是专门的 AI 助手,可以被调用来处理特定类型的任务。它们通过提供具有自定义系统提示、工具和独立上下文窗口的特定任务配置,实现更高效的问题解决。
什么是子代理?
子代理是预配置的 AI 人格,Claude Code 可以将任务委派给它们。每个子代理:
- 有自己的系统提示
- 可以访问特定的工具集
- 在独立的上下文窗口中运行
当 Claude Code 遇到与子代理专业领域相匹配的任务时,它可以将该任务委派给专门的子代理,该子代理独立工作并返回结果。
主要优势
- 专门化的任务处理
- 独立的上下文管理
- 可定制的工具访问
- 团队共享配置
快速开始
要创建您的第一个子代理,在 .claude/agents/ 目录中创建一个 Markdown 文件。
子代理配置
文件位置
子代理存储为具有 YAML 前置内容的 Markdown 文件,位置有两个:
| 类型 | 位置 | 范围 | 优先级 |
|---|---|---|---|
| 项目子代理 | .claude/agents/ | 在当前项目中可用 | 最高 |
| 用户子代理 | ~/.claude/agents/ | 在所有项目中可用 | 较低 |
当子代理名称冲突时,项目级别的子代理优先于用户级别的子代理。
文件格式
每个子代理在具有以下结构的 Markdown 文件中定义:
yaml
---
name: code-reviewer
description: Expert code reviewer for quality and security
tools: Read, Grep, Glob
model: sonnet
---
# Code Reviewer
You are a senior code reviewer...配置字段
| 字段 | 必需 | 描述 |
|---|---|---|
| name | 是 | 使用小写字母和连字符的唯一标识符 |
| description | 是 | 子代理目的的自然语言描述 |
| tools | 否 | 特定工具的逗号分隔列表 |
| model | 否 | 用于此子代理的模型 |
模型选择
model 字段允许您控制子代理使用的 AI 模型:
sonnet- 使用最新的 Sonnet 模型opus- 使用 Opus 模型haiku- 使用快速高效的 Haiku 模型inherit- 使用主对话的模型
管理子代理
使用 /agents 命令(推荐)
/agents 命令提供了一个全面的子代理管理界面,您可以在其中:
- 查看所有可用的子代理
- 创建新的子代理
- 编辑现有子代理
- 删除子代理
直接文件管理
您也可以通过直接处理子代理的文件来管理它们。
有效使用子代理
自动委派
Claude Code 根据以下因素主动委派任务:
- 任务描述与子代理描述的匹配度
- 任务的复杂性和专业性
显式调用
通过在您的命令中提及特定子代理来请求它:
use the code-reviewer subagent to check the auth module内置子代理
Plan 子代理
Plan 子代理是一个专门的内置代理,设计用于计划模式期间使用。当 Claude 在计划模式(非执行模式)中运行时,它使用 Plan 子代理进行研究并收集有关您的代码库的信息。
示例子代理
代码审查员
yaml
---
name: code-reviewer
description: Expert code reviewer for quality and security
tools: Read, Grep, Glob
---
Review code for best practices, security issues, and maintainability.调试器
yaml
---
name: debugger
description: Debugging specialist for errors and test failures
tools: Read, Bash, Grep
---
Analyze errors, identify root causes, and provide fixes.最佳实践
- 使描述具体且面向行动
- 限制工具访问权限为每个子代理实际需要的内容
- 在
.claude/agents/中创建项目特定的子代理以供团队共享