这一章解释 Claude Code 的多代理和任务能力:子代理如何定义,任务如何进入后台,以及隔离是怎么做的。
当前快照中的多代理能力不是“额外加一个 worker”那么简单。它已经具备:
- 子代理启动
- 命名和 team 语义
- 后台运行
- worktree 或 remote 隔离
- 任务注册、前后台切换、输出文件管理
- AgentTool:src/tools/AgentTool/AgentTool.tsx
/tasks命令:src/commands/tasks/index.ts- AppState 任务字段:src/state/AppStateStore.ts
flowchart TD
A[AgentTool 调用] --> B[解析 prompt / model / mode / isolation]
B --> C{foreground 还是 background}
C -- foreground --> D[立即执行子代理]
C -- background --> E[注册后台任务]
B --> F{isolation}
F -- worktree --> G[创建临时 git worktree]
F -- remote --> H[在 remote 环境启动]
F -- none --> D
D --> I[输出结果 / 更新状态]
E --> J[/tasks 可见]
J --> K[foreground / outputFile / resume]
从 src/tools/AgentTool/AgentTool.tsx 可直接确认,启动一个子代理时可以传入:
descriptionpromptsubagent_typemodelrun_in_backgroundnameteam_namemodeisolationcwd
这几个字段已经足够说明它支持的不只是“临时帮手”,而是可配置的执行单元。
同一个文件中还定义了异步启动和输出 schema,例如:
async_launchedagentIddescriptionpromptoutputFile
这说明子代理可以脱离当前前台交互,在后台继续运行,并通过输出文件或任务状态被跟踪。
AgentTool 的输入里明确有 isolation,并在源码中出现:
worktreeremote
其中注释已说明:
worktree会创建临时 git worktree。remote会在 remote 环境启动代理。
这非常关键,因为它表明多代理不是默认共享同一工作副本。
从 src/tools/AgentTool/built-in/ 目录命名就能确认至少存在这些内建 agent:
generalPurposeAgentexploreAgentplanAgentverificationAgentclaudeCodeGuideAgent
这意味着 agent 体系有清晰的角色分化,而不是只有一个通用模板。
Anthropic 在这里展示的不是“多开几个 worker”,而是把 agent 明确塑造成不同工种。Explore 和 Plan 被压成只读角色,verification 被要求带对抗性地找错,general-purpose 则承担较宽的执行职责。这种分工说明它更相信“角色约束 + 协作编排”能提高可靠性,而不是让单个 agent 持有所有能力再自行克制。
src/commands/tasks/index.ts 明确:
- 命令名为
tasks - 描述是
List and manage background tasks - 别名是
bashes
这说明后台任务对用户是可见、可管理、可切换的。
src/state/AppStateStore.ts 中与任务直接相关的字段包括:
tasksagentNameRegistryforegroundedTaskIdviewingAgentTaskIdtodos
这意味着任务系统已经和 UI、代理命名、前后台切换、待办事项绑定在一起。
多代理和权限系统是强耦合的:
AgentTool输入中就包含mode- 权限规则会检查 agent 启动是否危险
- plan mode / bypassPermissions 等模式会影响代理能否自动执行某些操作
因此研究子代理时,最好把 08-permissions-and-safety.md 一起看。
如果你站在用户视角,这部分能力意味着:
- 任务可以后台运行。
- 可以把不同任务分给不同 agent。
- 某些任务可以隔离到 worktree 或 remote 环境。
/tasks是观察后台执行状态的重要入口。
如果你站在研究视角,这部分能力意味着:
- Claude Code 已经在设计上从单代理 CLI 走向多执行单元系统。
- 子代理不是前端特效,而是带有输出 schema、状态持久化和任务生命周期的正式功能。
多代理和任务系统是 Claude Code 的“工作流放大器”。它让工具系统从单次动作,扩展为可并行、可隔离、可管理的执行编排能力。