为什么需要子 Agent
有些任务太大,一个 AI 实例忙不过来:- “在 5 个不同的文件中分别找到并修复同类 bug”
- “一边重构后端 API,一边更新前端调用”
- “研究这个库的用法,同时修改我们的代码”
分身术的运作方式
Claude Code 中的 Agent 工具让 AI 能够启动另一个 AI 实例来处理子任务:子 Agent 的边界
子 Agent 不是和主 Agent 完全一样的——它有明确的能力边界:| 特性 | 主 Agent | 子 Agent |
|---|---|---|
| 可用工具 | 全部工具 | 受限子集(不能再启动子 Agent 等) |
| 上下文 | 完整的会话历史 | 只有主 Agent 给的任务描述 |
| 权限 | 用户设定 | 继承主 Agent 的权限,或更严格 |
| 状态 | 可修改全局状态 | 隔离的状态空间 |
通信方式
主 Agent 和子 Agent 之间通过消息邮箱通信:- 主 Agent 通过
Agent工具启动子 Agent - 子 Agent 通过
SendMessage工具向主 Agent 报告进度 - 这种松耦合的通信方式让 Agent 可以异步协作
适用场景
并行研究
多个子 Agent 同时搜索不同方向的信息
分治修改
把大规模修改拆分到多个子 Agent 并行执行
前后台配合
一个子 Agent 在后台运行测试,主 Agent 继续写代码
隔离实验
在 worktree 中启动子 Agent 尝试一个方案,不影响主分支