Subagents 用法指南
1. 什么是 Subagents
Subagents 是 Claude Code 中用于并行或独立执行任务的机制。每个 subagent 拥有独立的上下文和工具访问权限,适合处理复杂的、多步骤的任务。
2. 基本用法
在当前会话中启动 subagent:
# 方式1:使用 Task 工具启动
Task --subagent-type <agent-type> --description "任务描述" --prompt "具体指令"
3. 可用的 Subagent 类型
| 类型 | 描述 | 工具访问 |
|---|---|---|
general-purpose |
通用代理,处理复杂任务 | 所有工具 |
Explore |
快速探索代码库 | Glob, Grep, Read 等 |
Plan |
软件架构规划 | 设计和规划工具 |
Bash |
命令执行 | Bash |
claude-code-guide |
Claude Code 使用指南 | Glob, Grep, Read, WebFetch, WebSearch |
4. 示例
示例 1:探索代码库
Task --subagent-type Explore --description "查找所有 LLM 相关代码" --prompt "在项目中搜索与 LLM、OpenAI、Claude 相关的代码文件"
示例 2:并行执行多个任务
在单条消息中发送多个 Task 调用:
Task --subagent-type Bash --description "编译项目" --prompt "执行 ./gradlew clean build"
Task --subagent-type Explore --description "查找测试文件" --prompt "列出所有测试文件"
示例 3:使用 subagent-driven-development 技能
/skill superpowers:subagent-driven-development
这个技能会:
- 为每个任务启动新的 subagent
- 在任务之间进行代码评审
- 支持快速迭代
5. 与 executing-plans 的关系
当前会话(subagent-driven):
- 使用
superpowers:subagent-driven-development技能 - 每个任务由新 subagent 执行
- 在当前会话中跟踪进度
独立会话(executing-plans):
- 使用
superpowers:executing-plans技能 - 在新的终端会话中执行
- 独立于当前会话
Agent Teams (代理团队)用法
1. 什么是 Agent Teams
Agent Teams 是 Claude Code 中用于并行执行多个独立任务的高级功能。它允许:
- 并行执行:多个 subagents 同时工作
- 负载均衡:任务自动分配到合适的 subagent
- 资源共享:共享工具和上下文
- 依赖管理:支持任务之间的依赖关系
2. Agent Teams vs Subagents 的区别
| 特性 | Agent Teams | 普通 Subagents |
|---|---|---|
| 执行方式 | 自动分配和调度 | 需要手动管理 |
| 依赖管理 | 支持任务依赖 | 不支持依赖关系 |
| 资源利用 | 自动优化 | 需要手动调整 |
| 监控 | 统一监控和状态 | 分散的状态信息 |
| 错误处理 | 智能重试和恢复 | 简单的错误处理 |
3. 使用方法
方法 1:使用 dispatching-parallel-agents 技能
# 在当前会话中
/skill superpowers:dispatching-parallel-agents
该技能会自动分析任务计划,将其分割成可并行的任务块,并分配给不同的 subagents。
方法 2:使用 Task 工具的 run_in_background 参数
Task --subagent-type Bash --description "编译项目" --prompt "./gradlew clean build" --run_in_background
Task --subagent-type Explore --description "查找测试文件" --prompt "列出所有测试文件" --run_in_background
方法 3:使用 Task 工具的 block 参数
# 并行执行多个任务
Task --subagent-type Bash --description "编译 core 模块" --prompt "./gradlew monitor-processor-core:compileJava" --block false
Task --subagent-type Bash --description "编译 traces 模块" --prompt "./gradlew monitor-processor-traces:compileJava" --block false
4. 示例:使用 Agent Teams 执行 LLM 观测计划
4.1 启动 dispatching-parallel-agents 技能
/skill superpowers:dispatching-parallel-agents
4.2 执行计划文件
/skill superpowers:executing-plans --plan docs/plans/2026-03-02-llm-observability-implementation.md --use-teams
4.3 手动使用 Team 语法
# 并行执行任务 1-3
Task --subagent-type Explore --description "创建 LLMEvent 模型" --prompt "创建 Task 1: LLMEvent.java 文件" --run_in_background
Task --subagent-type Explore --description "创建 LLMExtractionFunction" --prompt "创建 Task 2: LLMExtractionFunction.java 文件" --run_in_background
Task --subagent-type Explore --description "创建 Metrics 转换函数" --prompt "创建 Task 3: TransformLLMEventToMetricFunction.java 文件" --run_in_background
5. Agent Teams 的高级特性
5.1 任务依赖管理
# 创建依赖关系
Task --subagent-type Bash --description "任务 A" --prompt "完成任务 A" --id task_a --run_in_background
Task --subagent-type Bash --description "任务 B" --prompt "完成任务 B" --id task_b --run_in_background --dependencies task_a
5.2 资源限制
# 设置资源限制(最大内存 2GB)
Task --subagent-type Bash --description "内存密集型任务" --prompt "执行内存密集型操作" --memory-limit 2GB --run_in_background
5.3 自定义 Agent Teams
# 创建自定义 Team 配置(yaml 格式)
teams:
- name: "core-processors"
type: "general-purpose"
members: 3
max_workers: 2
tasks: ["Task 1", "Task 2"]
- name: "traces-processors"
type: "Bash"
members: 2
tasks: ["Task 3", "Task 4"]
6. 与当前项目的结合
对于当前 LLM 观测计划,可以使用以下 Agent Teams 配置:
# 使用 dispatching-parallel-agents 技能自动调度
/skill superpowers:dispatching-parallel-agents
# 或使用 executing-plans 技能并启用 teams
/skill superpowers:executing-plans --plan docs/plans/2026-03-02-llm-observability-implementation.md --use-teams
该方法将自动:
- 识别可并行执行的任务
- 为每个任务类型选择最合适的 subagent 类型
- 平衡资源利用率
- 提供实时的进度报告
7. 监控 Agent Teams 执行
# 使用 Task 工具监控
/tasks
# 使用 TaskOutput 工具获取详细信息
TaskOutput --task-id <task-id> --block true --timeout 60000
8. 错误处理
Agent Teams 具有智能错误处理机制:
- 自动重试:失败任务会自动重试(可配置次数)
- 任务替换:失败 subagent 会被替换为新的 subagent
- 容错执行:依赖任务会等待前置任务完成
总结
Agent Teams 是处理复杂项目的强大工具,对于当前的 LLM 观测计划,它可以显著减少执行时间,提高资源利用率。
建议使用方法:
- 对于小型修改:使用普通 subagents 即可
- 对于完整实现:使用 dispatching-parallel-agents 技能自动调度
- 对于需要精确控制:使用手动 Task 调用并设置 block: false
最佳实践:
- 使用 dispatching-parallel-agents 技能
- 保持任务的独立性和原子性
- 合理设置资源限制
- 监控执行过程并及时调整