Claude Code 的多 Agent 与子任务机制
2026/8/2 20:14:27 · 更新于 2026/8/2 20:15:51 · 来源
Claude Code 已从单线程开发助手演化为支持多 Agent 协作与子任务拆分的智能体运行平台,通过统一的状态管理和工具层体系让复杂工程任务可拆分、角色可分工。
它早就不只是单线程助手了
如果只把 Claude Code 看成“一个主对话框里的模型”,你会错过它很重要的一条演化方向:
它已经明显在支持多 Agent、子任务和协作型运行。
从源码能看到几个非常关键的信号:
AgentToolSendMessageToolTeamCreateToolTaskCreateToolagentNameRegistryviewingAgentTaskId
这已经不是单线程工具的思路了。
先看它在工具层的入口
export function getAllBaseTools(): Tools {
return [
AgentTool,
...
...(isTodoV2Enabled()
? [TaskCreateTool, TaskGetTool, TaskUpdateTool, TaskListTool]
: []),
getSendMessageTool(),
...(isAgentSwarmsEnabled()
? [getTeamCreateTool(), getTeamDeleteTool()]
: []),
]
}
这段代码最重要的结论是:
多 Agent 能力不是隐藏实验,而是被当成正式工具体系的一部分。
先看结构图

状态层已经为多 Agent 预留了很多位置
来看 AppStateStore.ts 里的片段:
tasks: { [taskId: string]: TaskState }
agentNameRegistry: Map<string, AgentId>
foregroundedTaskId?: string
viewingAgentTaskId?: string
这几个字段很能说明问题:
- 系统内部有统一的任务表
- Agent 可以按名字注册和路由
- 某个任务可以被 foreground
- 还可以单独查看某个 Agent 的转录
这说明 UI 层和运行时层都已经接受了“不是只有一个主线程”的事实。
为什么要做多 Agent
因为复杂工程任务经常天然可拆分,例如:
- 一个 Agent 查代码结构
- 一个 Agent 跑测试和日志
- 一个 Agent 处理某个子模块
- 主线程最后汇总
如果所有事情都塞给一个上下文窗口,效率和稳定性都会下降。
它的本质不是“几个模型聊天”,而是任务分工

也就是说,多 Agent 机制的目标不是炫技,而是把复杂任务拆成更稳定的小块。
为什么这里一定要和状态系统绑定
只要有多个 Agent,就会立刻出现这些问题:
- 哪个任务正在前台显示
- 哪个 Agent 正在被查看
- 名称如何路由到具体 Agent
- 任务怎么暂停、恢复、后台化
所以多 Agent 能力不可能只写在工具层里,它一定会深入状态管理。
小结
Claude Code 的多 Agent 与子任务机制说明了一件事:
它已经不满足于做一个单线程开发助手,而是在向“任务可拆分、角色可协作”的智能体运行平台演化。
这也是它和普通代码生成器越来越不一样的地方。
学习地图
Claude Code 多 Agent 机制学习路线
阶段一:理解多 Agent 基础概念
- 🗺️ 什么是多 Agent 架构?为什么它比单线程更适合复杂工程?
- 📋 子任务拆分的基本原则(粒度、独立性、可并行度)
- 🔍 熟悉 Claude Code 中的核心工具:AgentTool、TaskCreateTool、SendMessageTool
阶段二:掌握任务创建与状态管理
- ✏️ TaskCreateTool — 如何创建子任务及其参数
- ✅ TaskGetTool / TaskUpdateTool / TaskListTool — 查询与管理子任务
- 📊 AppStateStore 中的状态字段含义(tasks、agentNameRegistry、foregroundedTaskId)
阶段三:学习 Agent 团队与协作模式
- 👥 TeamCreateTool / TeamDeleteTool — Agent 团队的搭建与消亡
- 📨 SendMessageTool — Agent 之间的消息传递机制
- 🔗 agentNameRegistry — 名称注册与路由的工作原理
阶段四:实战——拆分复杂工程任务
- 🧩 场景练习:将一个完整开发任务拆分为多个可并行子任务
- 🔄 Agent 工作流设计原则(角色分工、数据共享路径、汇聚节点)
- 🎯 最佳实践:何时用多 Agent,何时单线程反而更高效
动手实践——分步指南
-
安装并启动 Claude Code(如尚未安装,运行
brew install anthropic/claude-code/claude并在终端执行claude -
进入一个你已有的本地项目目录,打开终端并输入
claude启动交互式界面。 -
在对话中尝试创建一个子任务:输入 "帮我启动一个子任务来分析项目中的 API 路由文件",观察 Claude Code 如何返回 TaskCreateTool 的调用和生成的 taskId。
-
查询当前所有子任务的列表:输入 "列出我当前的所有子任务及其状态"。
-
尝试让多个 Agent 协作:输入一个复杂的拆分型任务,例如 "启动三个子任务——一个分析代码结构,一个检查测试覆盖率,一个审查依赖项安全性",观察系统如何分配它们。
-
查看某个特定 Agent 的状态和进度:输入 "获取 taskId 为 xxx 的任务详情",替换 xxx 为上一步返回的实际 ID。
-
尝试更新或暂停一个正在执行的任务:输入 "取消/重命名/更新 subtask [id] 的描述"。
-
发送 Agent 间消息来触发协作:输入 "给负责 API 分析的 agent 发消息,请它把路由列表导出到 src/routes.txt"。
-
(可选)清理与收尾——如果启用了团队功能,尝试创建/删除一个 Agent Team。
三大推荐资源
- 1Anthropic Claude Code Docs — Multi-agent & Task Management
Anthropic 官方文档中关于 Claude Code 任务拆分、多 Agent 创建与状态管理的权威指南。
https://docs.anthropic.com/en/docs/claude-code/tasks
- 2Anthropic Agent Framework (A2A) 规范
Google X(后由 Anthropic 等多方共同参与)的 Agent-to-Agent 通信标准,理解多 Agent 协作协议的最佳参考。
https://a2a.dev/
- 3Building Multi-Agent Systems with Claude — Anthropic Blog 教程
Anthropic 官方博客发布的构建有效 Agent 系统的系列文章,涵盖任务拆分、角色分工和工程实践。
https://www.anthropic.com/research/building-effective-agents
链接由 AI 推荐——使用前建议快速核实。