Claude Code Agent及子代理
概述
Claude Code 通过 Task 工具启动子代理(Subagent),每个子代理是独立的 Claude 实例,拥有自己的 200K token 上下文窗口。本文档介绍子代理的工作原理、内置类型、并行执行机制,以及如何通过提示词高效使用子代理完成代码探索、架构分析等任务。
ℹ子代理核心优势
子代理适合处理需要大量上下文的任务,如代码探索、架构分析、代码审查等。执行完毕后将结果返回给主 Agent,保持主会话的上下文清洁。
Task 工具与子代理
Claude Code 通过 Task 工具启动子代理(Subagent),每个子代理是独立的 Claude 实例,拥有自己的 200K token 上下文窗口。子代理适合处理需要大量上下文的任务,如代码探索、架构分析、代码审查等,执行完毕后将结果返回给主 Agent。
为什么需要子代理
主 Agent 的上下文窗口是有限资源,当需要:
- 搜索大量文件内容
- 分析复杂代码结构
- 执行多个独立任务
将这些任务委派给子代理,可以保持主会话的上下文清洁,同时利用并行执行提升效率。
💡上下文隔离
子代理拥有独立的 200K token 上下文窗口,不会占用主 Agent 的上下文空间,适合执行上下文密集型任务。
子代理核心特性
| 特性 | 说明 |
|---|
| 独立上下文 | 每个子代理有 200K token 窗口 |
| 无状态 | 执行完毕即销毁,无法持续对话 |
| 结果返回 | 子代理输出对用户不可见,由主 Agent 汇总呈现 |
| 工具继承 | 子代理工具集由类型决定 |
内置子代理类型
Explore
快速探索代码库的专用子代理,适合文件搜索、关键词匹配、代码结构分析。
可用工具: Glob、Grep、Read、LSP、WebFetch、WebSearch
触发提示词:
使用 Explore 子代理搜索项目中所有与用户认证相关的文件,包括登录、权限校验、Token 处理,列出文件路径和关键函数
用子代理帮我查找所有 Controller 类,分析它们的接口定义
适用情况:
- 不确定目标文件位置时的模糊搜索
- 需要跨多个目录查找模式匹配
- 理解陌生代码库的入口探索
ℹExplore 使用场景
Explore 子代理适合快速探索陌生代码库,通过关键词搜索快速定位相关文件和代码逻辑。
Plan
架构设计专用子代理,用于分析代码结构并制定实现方案。
可用工具: 除 Edit、Write、NotebookEdit 外的所有工具
触发提示词:
使用 Plan 子代理分析当前项目的数据访问层,设计一个 Redis 缓存方案,考虑缓存粒度、失效策略、一致性保障
让 Plan 代理帮我规划这个功能的实现步骤,先分析现有代码结构
适用情况:
- 新功能的技术方案设计
- 重构前的架构分析
- 需要权衡多种实现方式时
💡Plan 代理优势
Plan 子代理可以深入分析代码结构,综合考虑多种实现方案,帮助做出更合理的架构决策。
code-reviewer
代码审查专用子代理,用于检查代码质量、发现潜在问题。
可用工具: 所有工具
触发提示词:
使用 code-reviewer 子代理审查 src/auth/ 目录下的代码,重点关注安全漏洞、错误处理、代码规范
适用情况:
- 提交前的代码自查
- 合并请求的自动化审查
- 重构后的质量验证
⚠代码审查建议
code-reviewer 子代理会提供改进建议,但最终决策需要开发者根据项目实际情况判断。
并行执行机制
顺序 vs 并行
| 场景 | 执行方式 |
|---|
| 任务之间无依赖 | 并行 |
| 后续任务需要前置结果 | 顺序 |
| 只读操作(搜索、分析) | 适合并行 |
| 写操作(编辑同一文件) | 必须顺序 |
触发并行执行
在提示词中明确要求并行启动多个子代理:
并行启动 3 个 Explore 子代理:
1. 第一个搜索所有 Controller 类
2. 第二个搜索所有 Service 类
3. 第三个搜索所有 Mapper 接口
汇总后告诉我项目的分层结构
使用多个子代理同时分析:
- 子代理 1:分析前端组件结构
- 子代理 2:分析后端接口定义
- 子代理 3:分析数据库表结构
关键点:
- 子代理之间完全隔离,无法相互通信
- 主 Agent 等待所有子代理完成后汇总结果
- 每个子代理的结果按启动顺序返回
ℹ并行执行效率
并行执行多个子代理可以显著提升分析效率,尤其适合需要从多个维度分析同一代码库的场景。
实战:多维度代码分析
以分析一个 Spring Boot 项目的订单模块为例,同时从三个维度进行分析。
场景: 接手一个陌生项目,需要快速理解订单模块的实现。
用户输入:
我需要理解这个项目的订单模块,请并行启动 3 个子代理帮我分析:
1. 文件结构探索:查找所有与订单(Order)相关的文件,按 Controller、Service、Mapper、Entity 分类列出
2. 接口分析:找到订单相关的 REST 接口,列出每个接口的路径、方法、参数、返回值
3. 数据流分析:追踪订单创建的完整流程,从 Controller 到数据库,记录每一层的关键方法调用
最后汇总成一份报告
执行结果:
三个子代理并行执行后,主 Agent 收到三份独立报告:
- 文件结构报告:模块的代码组织方式
- 接口清单:对外暴露的 API 列表
- 数据流图:业务逻辑的执行路径
主 Agent 将这些信息整合,形成对订单模块的完整理解。
💡多维度分析
通过并行执行多个子代理,可以从不同维度快速理解复杂模块,比单一维度分析更全面高效。
子代理工作流程
flowchart LR
A[用户提示词] --> B[主 Agent]
B --> C[子代理 1]
B --> D[子代理 2]
B --> E[子代理 3]
C --> F[结果 1]
D --> G[结果 2]
E --> H[结果 3]
F --> I[主 Agent 汇总]
G --> I
H --> I
I --> J[返回用户]
常用提示词模板
代码探索
使用 Explore 子代理查找项目中所有与 [关键词] 相关的代码,列出文件路径和核心逻辑
架构分析
使用 Plan 子代理分析 [模块名] 的架构,给出实现 [功能] 的技术方案
代码审查
使用 code-reviewer 子代理审查 [目录/文件],重点关注 [安全/性能/规范]
并行分析
并行启动多个子代理分析这个项目:
1. [任务1描述]
2. [任务2描述]
3. [任务3描述]
汇总后给我完整报告
💡成本控制
简单搜索任务可在提示词中指定使用 haiku 模型,如"使用 haiku 模型的 Explore 子代理搜索...",降低 API 调用成本。
⚠避免冲突
多个子代理不应同时编辑同一文件,写操作必须顺序执行以避免冲突。