如果你一直在使用 Claude Code 的单智能体(Single Agent)模式,大概率会遇到一个共同的痛点:运行时间越长,它的表现越差。智能体会开始遗忘上下文、引入难以察觉的 Bug,迫使你不得不反复重复指令来纠正方向。
这背后的根本原因在于 上下文窗口的限制。当一次对话的上下文使用率接近 95% 时,Claude 会开始压缩和摘要之前的信息。后续的对话只能依赖这些被概括过的内容——这意味着你在几千个 token 之前给出的那些关键细节,很可能就这样丢失了。在大型或长期的项目开发中,这种“上下文腐烂”(Context Rot)现象带来的破坏力是巨大的。
三种模式深度对比:从单打独斗到团队作战
单智能体模式
这是最简单直接的用法。你启动一个 Claude Code 实例,让它处理所有事情:从理解需求、编写代码到执行测试。
适用场景:单文件或少量上下文文件的操作、功能单一的脚本编写、以及一次对话就能搞定的小任务。
子代理模式
社区里的高级用户,包括 Claude Code 的创建者 Boris Churnney,很早就意识到了单智能体的瓶颈,并开始构建自己的子代理(Sub Agents)系统。Boris 本人甚至同时运行过多达 15 个 Agent。
子代理主要解决了两个问题:
- 提升输出质量:让更“专业”的实例去处理特定任务,而不是让一个“通才”包揽一切。
- 加速任务执行:在多个终端窗口并行处理那些互不依赖的任务。
然而,子代理模式存在一个致命缺陷:所有子代理只能与主 Agent 通信,彼此之间是隔离的。
我们可以用一个内容创作团队来类比:研究员(子代理 1)和审稿人(子代理 2)都只能向主 Agent(写手)汇报工作。审稿人无法直接审阅研究员提供的素材,研究员也看不到审稿人给出的修改意见。主 Agent 成了所有信息的交换中心,也是性能瓶颈。这是一种典型的 星型拓扑模型——有任务委派,但缺乏真正的协作。
智能体团队模式
Agent Teams(智能体团队)的出现,通过引入 共享任务列表 填补了上述协作空白。这才是 多智能体 协作应有的形态。
它的核心区别在于:
- 每个团队成员(Teammate)拥有自己独立的上下文窗口,互不干扰。
- 团队成员之间可以 直接进行通信和协作。
- 所有成员共享一个中心任务列表,可以从中领取任务、更新状态。
- 每个团队成员本质上都是一个独立的 Claude Code 实例。
当然,这种能力的代价是更高的资源消耗:每个 Teammate 都需要加载完整的 claude.md、MCP 配置等初始化上下文,因此总体 Token 消耗会显著高于单智能体模式。
如何启用与配置 Agent Teams
第一步:修改实验性配置
打开 Claude Code 的 settings.json 配置文件,添加以下字段以启用实验性功能:
{
"claude code experimental agent teams": true
}
第二步:确认 CLI 版本
确保你的 Claude Code CLI 工具版本不低于 2.1.32。你可以通过以下命令更新:
claude update
第三步:以特定权限启动
使用以下命令启动 Claude Code,这将跳过对每个文件变更的逐一确认,非常适合自动化协作场景:
claude --dangerously-skip-permissions
注意:--dangerously-skip-permissions 参数会授予智能体较高的文件操作权限,请确保在受信任的项目环境中使用。
第四步:在初始指令中明确要求
这是最关键的一步。你需要在给 Claude 的第一个 Prompt 中明确要求创建“智能体团队”。你可以:
- 精确指派:直接说明需要“研究员”、“前端开发”、“测试工程师”等具体角色。
- 模糊委托:只描述任务范围和目标,让 Claude 自行决定最优的团队构成。
无论如何,Prompt 中必须包含 “agent team” 或类似表述来触发该模式。
实战场景分级:你的项目需要哪种协作?
⭐⭐ 低协作需求
示例任务:从一个 Airtable 内容日历中提取创意,然后分别生成独立的 LinkedIn 帖子、Instagram 图文、深度研究文档和风格审查报告。
决策分析:各产出物之间几乎没有交互需求。LinkedIn 写手不需要和 Instagram 写手沟通,研究文档完成后可以作为一个静态输入传给所有人。这种情况下,使用子代理模式并行处理就足够了,启用完整的 Agent Teams 反而浪费资源。
⭐⭐⭐⭐⭐⭐ 中等协作需求
示例任务:基于一份视频转录稿,衍生出多种内容形式——长文博客(需 Markdown 格式和 SEO 优化)、LinkedIn 轮播图(需要设计 Hook 和故事线)、以及邮件 Newsletter。
决策分析:虽然最终产出是独立的,但它们需要在核心观点、品牌调性和 Hook 角度上保持一致。这时,团队成员之间需要就“核心卖点是什么”、“采用哪种叙事角度”进行协商,并互相检查文件以确保跨平台内容的一致性。Agent Teams 的直接通信能力在这里能发挥巨大价值。
⭐⭐⭐⭐⭐⭐⭐⭐ 高协作需求
示例任务:构建一个集成 Stripe 支付功能的 Next.js 全栈应用。
- Teammate 1:负责构建后端 API 层(包括端点和 Webhook 处理)。
- Teammate 2:专注前端页面与交互开发。
- Teammate 3:编写完整的单元测试与集成测试套件。
决策分析:这是必须使用 Agent Teams 的典型场景。在整个开发流程中,API 的接口变更需要实时同步给前端和测试,前端新增的组件需要写入测试用例,而测试结果的反馈(如失败用例)又需要及时更新到任务列表中,指引其他成员进行修复。这种深度的、持续的交叉协作,正是智能体团队模式的核心价值所在。
核心操作技巧指南
- 切换团队成员:在终端中,使用
Shift + ↑ 或 Shift + ↓ 键可以在不同的 Teammate 之间快速切换焦点。
- 直接下达指令:选中某个 Teammate 后,直接按回车键,就可以像与单智能体对话一样,给它下达专属的、具体的指令。
- 中断任务执行:你可以随时中断任何一个团队成员当前正在执行的任务。
- 分屏实时监控:安装
tmux(通过 brew install tmux)后,每个 Teammate 会在独立的终端面板中运行。这让你能像真正的项目指挥官一样,实时观察所有“下属”的工作进度。
重要注意事项与当前局限
- 无上下文继承:新创建的 Teammate 不会自动获得主对话的历史记录。你需要确保在初始 Prompt 或共享任务中,为团队传递了足够且精确的上下文信息。
- 权限全局传播:如果主 Agent 是使用
--dangerously-skip-permissions 参数启动的,那么所有派生出的 Teammate 都会继承这一高权限。如果你的工作流中有些角色(如只读的审稿人)不应该有写权限,则需要通过其他方式进行手动约束。
- 更高的 Token 消耗:更多 Agent 意味着更多并行的上下文窗口,成本自然上升。务必仅在任务真正需要复杂协作时才启用此模式。
- 潜在的文件冲突:如果多个 Teammate 被允许同时编辑同一个文件(例如
package.json),可能会发生更改互相覆盖的情况。最佳实践是在任务分配阶段就规划清晰的文件修改边界。
终极决策框架
| 场景特征 |
推荐模式 |
| 单文件、单一功能、简单短对话 |
单智能体 |
| 需要专家分工、降低单次成本、提升单项任务质量 |
子代理 |
| 并行任务 + 跨任务协作 + 复杂项目迭代 |
Agent Teams |
核心原则是:从简单模式开始,随着项目复杂度的增长而逐步升级。 先尝试用单智能体搞定,当发现上下文不够或任务太多时,升级到子代理模式进行分工。只有当任务逻辑真正需要多个角色进行深度、动态的交叉协作时,才值得启用功能强大但成本更高的 Agent Teams。
希望这份指南能帮助你更好地利用 Claude Code 的协作潜能。如果你在实践过程中有更多关于 Agent 的心得或疑问,欢迎在 云栈社区 与更多开发者交流探讨。