Claude Code 多智能体实战指南:Subagents 与 Agent Teams 到底怎么选?
在使用 Claude Code 处理复杂项目时,我们经常会遇到需要“多角色协作”或“处理海量文件”的场景。Claude Code 提供了两种强大的多智能体模式:Subagents(子代理) 和 Agent Teams(智能体团队)。
很多新手在面对这两个概念时会一头雾水:它们有什么区别?我的场景该用哪个?既然 Subagents 是串行执行的,我为什么不直接让主 Agent 自己干?
这篇文章将用最通俗的大白话,帮你彻底理清这些概念,并教你如何通过 Agent View 掌控全局。
一、 核心对决:Agent Teams vs Subagents
假设你现在要构建一个包含产品经理、前端、后端、测试的工作小组来开发一个新功能。这个模式属于 Subagents 还是 Agent Teams?
答案是:绝对属于 Agent Teams。
1. 为什么是 Agent Teams?(长期合作的同事)
Agent Teams 完美契合了真实研发团队的三个核心特征:
- 需要双向沟通:产品写完需求,后端要追问接口细节;测试发现 Bug,要找前端确认是设计问题还是代码问题。这种“来回讨论”只有 Agent Teams 支持,它们可以互相发消息实时交流。
- 需要并行工作:产品写 PRD 时后端可以搭骨架,前端写页面时测试可以写用例。Agent Teams 允许多个实例真正并行工作,互不阻塞。
- 独立的“专业脑容量”:产品的脑子里是需求文档,后端的脑子里是数据库 Schema。Agent Teams 让每个成员维护独立的上下文,只通过消息共享必要信息。
2. 为什么不能用 Subagents?(外包临时工)
Subagents 的本质是主 Agent 派出去的“外包临时工”。如果你硬用它来做团队协作,会灾难性地翻车:
- 无法协作:临时工干完活交个总结就走了,后端想追问产品细节?没人可问。
- 主脑爆炸:四个角色的所有中间讨论过程全塞回主对话,上下文窗口瞬间被撑爆。
- 串行 bottleneck:你得等产品写完,才能派后端去写;后端写完,才能派前端去写……效率极低。
二、 灵魂拷问:Subagents 既然是串行,为啥不直接在主 Agent 跑?
这是很多人最大的疑问:既然 Subagents 是主 Agent 一个一个派出去、串行执行的,那跟主 Agent 自己一步步做有什么区别?干嘛多此一举?
核心答案就两个字:上下文(Context)。
主 Agent 的上下文窗口(你可以理解为它的“短期记忆”或“工作台”)是有限的。如果所有事都在主对话里做,那些中间过程的垃圾信息(比如读了几十个文件的原始内容、试错的命令输出、大段的代码 diff)会永久占据你的工作台。等你真正需要跟 Claude 讨论核心逻辑时,工作台已经被堆满了,关键信息被挤出去了,Claude 就开始“变笨”、忘事。
Subagents 的本质不是“并行加速”,而是“上下文隔离与压缩”。 它像一个过滤器:把脏活累活在独立窗口里干完,只把干干净净的结论带回主对话。
3 个必须使用 Subagents 的真实场景
场景 1:大规模代码审查 / 安全审计
- 任务:“审查
src/services/下所有 30 个文件的安全隐患” - 主 Agent 直接跑的代价:逐个读取 30 个文件,加上分析过程,轻松吃掉海量 token。等你审完想问“第 5 个文件的 SQL 注入怎么修”,前面的文件内容早就丢失了。
- Subagent 的做法:在独立窗口读完文件、跑完分析,最后只返回一段精炼的报告:“发现 3 处高危,5 处中危”。主对话只增加了极少的 token,依然清爽。
场景 2:跨文件重构 / 批量修改
- 任务:“把所有 API 路由从 Express 风格迁移到 Fastify 风格,涉及 25 个文件”
- 主 Agent 直接跑的代价:每个文件的读写、diff、命令输出会产生海量中间信息。改到第 15 个文件时,主对话面目全非,Claude 可能忘了前面的命名约定,导致前后代码不一致。
- Subagent 的做法:一口气在干净环境里完成 25 个文件的迁移,返回一句:“已完成迁移,测试通过 23/25,2 个失败已标注”。
场景 3:生成大量衍生内容(文档 / 测试用例)
- 任务:“根据代码生成完整的 OpenAPI 3.0 文档”
- 主 Agent 直接跑的代价:生成的 YAML/JSON 文档本身就可能上万行,直接把主对话撑爆。而且你在后续对话中根本不需要再看这份文档的原文。
- Subagent 的做法:读源码、生成文档、写入文件全在子窗口完成。返回:“已在
docs/openapi.yaml生成完整文档,覆盖 47 个端点”。
💡 判断标准: 问自己“这个任务的中间过程对我后续的对话有没有价值?”如果只需要结果,果断用 Subagent。
三、 掌控全局:用 Agent View 管理你的“数字员工”
不管是派出去的 Subagents,还是组建的 Agent Teams,你都不需要开一堆终端窗口切来切去。Claude Code 提供了一个强大的全屏管理面板:Agent View。
如何打开?
只需在终端输入一条命令:
claude agents你的终端就会变成一个监控面板,列出所有正在运行、等待中、已完成的会话。你可以查看状态、任务摘要、最近输出,甚至直接在里面回复卡住的 Agent。
Subagents 与 Agent Teams 在面板里的体验差异
虽然用的是同一个面板,但交互体验完全不同:
| 维度 | Subagents(看监控) | Agent Teams(作战指挥室) |
|---|---|---|
| 通信模式 | 单向:主要是看结果,或回复“确认/拒绝” | 双向:可以像聊天一样跟任意成员对话 |
| 你的介入程度 | 低:它是自治的,你主要是旁观 | 高:随时 @某个成员插话、调整方向、协调冲突 |
| 关系可见性 | 看不到子代理之间的关系 | 能看到谁在给谁发消息、任务分配状态 |
| 典型操作 | 查看进度 → 等结果 → 偶尔回复确认 | 监控协作 → 发现卡点 → 直接介入协调 → 重新分配 |
- 对于 Subagents:Agent View 就像监控摄像头。你看着它们把脏活干完,拿回干净的结果。
- 对于 Agent Teams:Agent View 就像作战指挥室。你不仅能看,还能随时下场指挥,比如告诉测试 Agent:“先别跑集成测试了,帮后端查一下那个超时问题”。
四、 总结与一分钟选型速查表
最后,用一张表帮你快速决策:
| 你的任务特征 | 推荐模式 | 核心理由 |
|---|---|---|
| 多角色协作(如产品+开发+测试),需要互相讨论、并行工作 | Agent Teams | 支持双向通信、并行执行、独立上下文,像真实的团队。 |
| 单线流水线,只需上一步的输出作为下一步的输入,不需要讨论 | Subagents | 简单省资源,适合按部就班的生成任务。 |
| 大批量读写文件、代码审查、生成超长文档,中间过程不需要看 | Subagents | 隔离上下文,保护主对话不被“垃圾信息”撑爆。 |
| 需要深度讨论架构设计、调试一个具体的复杂 Bug | 主 Agent 直接做 | 你需要看到每一步的思考过程,并随时介入引导。 |
注:Agent Teams 目前仍为实验性功能,使用前请确保开启相关环境变量并保持 Claude Code 为最新版本。
希望这篇指南能帮你在 Claude Code 的多智能体世界里游刃有余!如果有任何疑问,欢迎在评论区交流。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!