子代理
子代理(Sub-agents)是 Claude Code 的并行任务执行系统,可以将复杂任务分解并委派给专门的 AI 代理。
什么是子代理?
子代理是 Claude Code 可以启动的独立 AI 会话,它们在后台并行运行,各自拥有独立的工作空间和上下文。主代理可以启动多个子代理来完成不同的子任务,然后汇总结果。
> 帮我把这个 monorepo 的三个包都升级到 TypeScript 5
Claude: 好的,我会启动 3 个子代理并行处理:
• Agent 1 - 升级 packages/core
• Agent 2 - 升级 packages/web
• Agent 3 - 升级 packages/cli
[3 agents running in parallel...]
✓ 所有升级完成,共修改 47 个文件
Claude: 好的,我会启动 3 个子代理并行处理:
• Agent 1 - 升级 packages/core
• Agent 2 - 升级 packages/web
• Agent 3 - 升级 packages/cli
[3 agents running in parallel...]
✓ 所有升级完成,共修改 47 个文件
子代理类型
🔧
general-purpose
通用代理,可以执行任何编程任务。拥有完整的工具集(读、写、搜索、执行命令等)。
适用场景:复杂的多步骤任务、代码重构、跨文件修改
🔍
Explore
只读探索代理,快速搜索代码库、定位文件、查找符号引用。不会修改任何文件。
适用场景:代码导航、查找定义、理解代码结构、搜索依赖
📐
Plan
架构师代理,专注于设计方案和实现计划。返回分步计划而非直接执行。
适用场景:架构设计、重构方案、技术方案评估、依赖分析
📖
claude-code-guide
专门回答关于 Claude Code 本身的问题。了解所有功能、命令、配置和最佳实践。
适用场景:查询 Claude Code 功能、配置帮助、使用技巧
工作模式
▶️
前台代理
默认模式。代理在前台运行,你需要等待它完成才能继续。适合需要立即获取结果的任务。
⏳
后台代理
使用 run_in_background 参数启动。代理在后台运行,完成后会通知你。适合长时间任务。
隔离模式
子代理可以在隔离的 git worktree 中运行,确保不影响主工作区:
# 代理在独立 worktree 中运行
isolation: "worktree"
# 完成后自动清理(如果无变更)
# 或返回 worktree 路径和分支名(如果有变更)
isolation: "worktree"
# 完成后自动清理(如果无变更)
# 或返回 worktree 路径和分支名(如果有变更)
最佳实践
1
并行独立任务时使用多个子代理,如同时升级多个包
2
探索代码库时使用 Explore 代理,速度快且不会误修改
3
设计架构时使用 Plan 代理,先对齐方案再执行
4
长时间任务使用后台模式,不阻塞主会话
5
给代理明确的完成标准和输出格式要求
6
不要将理解任务委托给代理——自己综合判断
下一步:了解 MCP 服务器,扩展 Claude Code 的能力边界。