人工智能基础知识笔记四十二:Sub-Agent vs Agent Team

在 Claude Code 中,当任务复杂到单个Agent难以高效完成时,我们有两种选择:Sub-AgentAgent Team。虽然它们都涉及多个Agent协作完成任务,但底层架构和适用场景截然不同。本文将基于官方文档,为你梳理这两者的核心区别、优缺点及选型建议。

1、核心区别速览

维度 Sub-Agent Agent Team
上下文 拥有独立的上下文窗口,结果返回给调用者 拥有独立的上下文窗口,完全独立运行
通信方式 仅向主 Agent 汇报结果 Teammates 之间可以直接互相发消息
协调机制 由主 Agent 统一管理所有工作 共享任务列表,Teammates 自主协调、自主认领任务
Token 成本 较低:结果汇总后返回主上下文 较高:每个 Teammate 都是一个独立的 Claude 实例
最佳场景 聚焦型任务,只需关注最终结果 需要讨论和协同的复杂工作

2、什么是 Sub-Agent?

Sub-Agent 是一种轻量级委托机制。当你需要快速完成某个聚焦型任务(如调研、验证)时,主 Agent 可以 spawn 一个 Sub-Agent 去执行,Sub-Agent 完成后将结果汇报给主 Agent,然后结束。

特点

  • 单向通信:Sub-Agent 只对主 Agent 负责,彼此之间不交流

  • 低成本:结果被汇总后返回主上下文,Token 消耗相对较低

  • 适合简单委托:调研、代码审查中的单一维度检查等

3、什么是 Agent Team?

Agent Team 是一种实验性功能 (默认禁用),需要设置 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 才能启用。它模拟了一个真正的"团队协作"场景:

  • 一个主会话充当 Team Lead,负责协调工作、分配任务、汇总结果

  • 多个 Teammates 各自独立运行,拥有自己的上下文窗口

  • Teammates 之间可以直接通信,共享任务列表,自主认领和完成任务

  • 你可以直接与某个 Teammate 对话,而无需经过 Lead

架构组成:Team Lead、Teammates、共享任务列表(Task List)、以及 Agent 间的消息系统(Mailbox)

4、Sub-Agent 的优缺点

4.1 优点

  • 轻量高效:Token 成本低,适合快速任务

  • 简单可靠:通信路径单一,不易出错

  • 易于理解:主 Agent 全权掌控,行为可预测

4.2 缺点

  • 缺乏横向协作:Sub-Agent 之间无法交流,无法互相挑战或验证

  • 不适合复杂任务:当任务需要多角度碰撞、互相质疑时,Sub-Agent 力不从心

5、Agent Team 的优缺点

5.1 优点

  • 真正的并行探索:多个 Teammates 可以同时从不同角度研究问题,然后分享和互相挑战发现

  • 自协调能力:共享任务列表让 Teammates 可以自主认领工作,无需 Lead 事事干预

  • 支持对抗性推理:特别适合"竞争性假设"调试------不同 Teammate 测试不同理论,互相反驳,更快收敛到正确答案

  • 你可以直接介入:随时给某个 Teammate 发消息,调整方向或追问

5.2 缺点

  • Token 成本高:每个 Teammate 都是独立的 Claude 实例,成本随活跃 Teammate 数量线性增长

  • 实验性功能,有诸多限制

    • 不支持会话恢复(/resume/rewind 无法恢复 in-process 模式的 Teammates)

    • 任务状态可能滞后

    • 一个会话只能有一个 Team

    • 不支持嵌套 Team(Teammate 不能再 spawn 自己的 Teammate)

    • Lead 固定,不能转移

  • 协调开销:Teammates 越多,通信和协调成本越高,超过一定数量后收益递减

6、各自适用于什么情况?

6.1 什么时候选 Sub-Agent?

"快速、聚焦、只需结果"的任务

  • 单一维度的代码审查(只检查安全性,或只检查性能)

  • 调研某个库的用法

  • 验证某个假设是否成立

  • 任何不需要多个 Agent 互相讨论的场景

6.2 什么时候选 Agent Team?

"需要多角度碰撞、互相挑战、协同推进"的复杂任务

官方文档给出了几个典型场景:

  1. 研究与评审:多个 Teammate 同时调研问题的不同方面,然后分享和互相挑战发现

  2. 新模块或新功能:每个 Teammate 负责独立的部分,互不干扰

  3. 竞争性假设调试:多个 Teammate 并行测试不同理论,互相反驳,更快找到根因

  4. 跨层协调:涉及前端、后端、测试的变更,各自由不同 Teammate 负责

并行代码审查示例:一个 Teammate 关注安全,一个关注性能,一个关注测试覆盖率------三个维度同时进行,Lead 汇总所有发现。

竞争性假设调查示例:当应用出现偶发性断连问题时,spawn 5 个 Teammate 各自调查不同假设,互相挑战对方的理论,"像科学辩论一样"。

7、选型决策树

复制代码
你的任务是否需要多个Agent之间互相讨论、挑战、协同?
│
├─ 否 → 选 Sub-Agent(低成本、简单可靠)
│
└─ 是 → 考虑 Agent Team
         │
         ├─ 你能接受更高的Token成本吗?
         │  ├─ 否 → 考虑拆分任务,用多个Sub-Agent串行或并行
         │  └─ 是 → 继续
         │
         ├─ 你愿意接受实验性功能的限制吗?
            ├─ 否 → 考虑手动并行会话(如 Git worktrees)[reference:42]
            └─ 是 → 选 Agent Team ✓

8 参考

Orchestrate teams of Claude Code sessions - Claude Code Docs