子代理(Subagents)是 Claude Code 的专业化助手:每个子代理在独立的上下文窗口中运行,有自己的系统提示、工具权限和独立上下文。当主 Claude 遇到匹配任务时,自动委派给相应子代理处理。
三个内置子代理
Explore(只读探索代理)
- 模型:Haiku(快速、低延迟)
- 工具:只读(禁止 Write 和 Edit)
- 用途:搜索文件、理解代码库
- 特点:支持三种彻底程度——quick(快速定位)、medium(均衡探索)、very thorough(全面分析)
当主 Claude 需要搜索代码库但不需要修改时,自动委派给 Explore。探索结果不污染主对话上下文。
Plan(规划代理)
- 模型:继承主对话
- 工具:只读
- 用途:Plan Mode 中收集代码库上下文后呈现计划
- 特点:子代理不能再生成子代理(防止无限嵌套)
General-Purpose(通用代理)
- 模型:继承主对话
- 工具:所有工具
- 用途:需要探索+修改、复杂推理、多步骤操作的任务
快速创建自定义子代理
方法一:/agents 命令(推荐)
bash
/agents选择「Create new agent」→「User-level」→「Generate with Claude」,描述子代理功能,Claude 自动生成配置文件。
方法二:手动创建文件
bash
# 用户级(所有项目可用)
mkdir -p ~/.claude/agents
# 项目级(当前项目,通过 git 共享)
mkdir -p .claude/agents创建 ~/.claude/agents/code-reviewer.md:
markdown
---
name: code-reviewer
description: 审查代码变更,检查 Bug、安全漏洞和性能问题。当用户要求代码审查时自动使用。
model: claude-sonnet-4-6
tools: [Read]
---
你是专业的代码审查专家。审查代码时关注:
1. **潜在 Bug**:逻辑错误、边界条件、空指针
2. **安全漏洞**:SQL 注入、XSS、不安全的依赖
3. **性能问题**:N+1 查询、内存泄漏、不必要的计算
4. **代码质量**:可读性、可维护性、重复代码
给出具体的修改建议,包含代码示例。子代理 Frontmatter 字段
yaml
---
name: agent-name # 子代理 ID(必填)
description: 何时使用的描述 # Claude 自动委派的依据
model: claude-haiku-4-5 # 可选,不同任务用不同模型
tools: [Read, Write, Bash] # 允许的工具列表
allowedTools: [Read] # 别名,同 tools
disabledTools: [Write, Edit] # 明确禁止的工具
permissionMode: auto # auto | acceptEdits | bypassPermissions
skills: [security-review] # 预加载的 Skills
memory: true # 启用持久记忆
---实用子代理示例
代码审查子代理
markdown
---
name: reviewer
description: 审查代码,提供改进建议
model: claude-sonnet-4-6
tools: [Read]
---
专注于代码质量、安全性和性能。给出具体的、可操作的建议。调试子代理
markdown
---
name: debugger
description: 深度分析 Bug,找出根本原因
tools: [Read, Bash]
---
系统地分析问题:
1. 重现错误
2. 检查相关代码路径
3. 分析日志和错误信息
4. 提出修复方案并解释原因数据科学子代理
markdown
---
name: data-scientist
description: 数据分析、可视化和 Python 数据处理任务
tools: [Read, Write, Bash]
---
使用 pandas、numpy、matplotlib 进行数据分析。
保持代码简洁,添加注释,输出可读的结果。三种并行模式
1. 隔离高频操作
> 分析这个目录下所有文件的代码质量,每个文件独立分析
Claude 为每个文件启动独立子代理,并行分析,结果汇总到主对话。
2. 并行研究
> 同时研究这三个竞争对手的技术架构:A、B、C
三个研究子代理并行运行,分别深入研究一个对象。
3. 链式子代理
> 先分析这段代码的问题(Explore 代理),然后制定修复计划(Plan 代理),最后实施(通用代理)
子代理可以链式运行,前一个的输出作为后一个的输入。
何时用子代理 vs 主对话
| 场景 | 推荐方式 |
|---|---|
| 需要保持主对话简洁 | 子代理 |
| 探索大型代码库 | Explore 子代理 |
| 高频重复操作 | 子代理(隔离上下文) |
| 需要不同权限 | 子代理(限制工具) |
| 成本敏感任务 | Haiku 模型子代理 |
| 需要完整上下文 | 主对话 |
| 快速一次性问题 | 主对话 |
子代理持久记忆
markdown
---
name: my-agent
memory: true
---启用后,子代理会维护自己的 memory/ 目录,跨会话保留学到的内容。
原文:Create custom subagents | 来源:Anthropic 官方文档