跳到正文
博客园· Tomorrowland_D·· 3 小时前AI 评分62

一文搞懂 Claude Code 的 Agent Teams:多个 AI 如何组队协作完成任务

一文搞懂 Agent Teams:如何让多个 AI 组队协作完成任务? - Tomorrowland_D

AI 导读

文章介绍 Claude Code 的 Agent Teams 多 Agent 协作机制,由 Team Lead、Teammates、Task List 和 Mailbox 四部分组成,队友各自拥有独立上下文并可直接通信。

正文

一文搞懂 Agent Teams:如何让多个 AI 组队协作完成任务?

一、为什么需要 Agent Teams?

上一篇文章我们介绍了 SubAgent(子智能体)。

它的核心思路很简单:主 Agent 将任务交给子 Agent,子 Agent 在独立的上下文中完成工作,再把核心的结果返回给主 Agent。

这样既能完成任务,又能避免大量中间过程占用主 Agent 的上下文。

但是,如果遇到更加复杂的任务呢?

比如开发一个 Web 应用,需要同时完成:

  • 前端页面开发
  • 后端 API 开发
  • 测试代码编写

这三个任务虽然可以并行,但并不是完全独立的。

例如,后端修改了 API 接口,前端需要及时调整调用方式;测试人员也需要知道最新的接口定义。

这时候,我们需要的不只是几个独立干活的 Agent,而是一支能够相互沟通、协调工作的 Agent 团队。

这就是 Agent Teams 要解决的问题。

二、什么是 Agent Teams?

Agent Teams 是 Claude Code 提供的一种多 Agent 协作机制,可以让多个独立的 Claude Code 实例组成团队,共同完成复杂任务。

你可以把它理解成一个软件开发项目组:

  • Team Lead(队长):负责拆分任务、分配工作、协调进度。
  • Teammates(队友):各自负责不同任务,可以相互沟通。
  • Task List(任务列表):所有成员共享的任务看板。
  • Mailbox(邮箱):Agent 之间传递消息的通信机制。

整个过程类似于一个真实的软件开发团队。

1. Team Lead:负责管理

Team Lead 就是你直接交互的主 Agent。

它会根据你的需求拆分任务、创建队友,并在工作完成后汇总结果。

2. Team mates:负责执行

每个队友都是独立的 Claude Code 实例,拥有自己的上下文窗口,可以调用工具、读取代码、修改文件。

队友不需要每完成一个步骤都向队长汇报,还可以直接与其他队友沟通。

3. Task List:共享任务看板

团队成员可以查看任务列表,了解每项任务的状态。

任务通常包括三种状态:

  • Pending:待处理
  • In Progress:进行中
  • Completed:已完成

任务还可以设置依赖关系。

例如,任务 B 依赖任务 A,那么 A 完成之前,B 就不能被认领。

4. Mailbox:消息通信

这是 Agent Teams 的关键机制之一。

假设后端 Agent 修改了接口,可以直接给前端 Agent 发消息:

“用户接口已经更新,新增了 email 字段,请同步修改前端表单。”

前端 Agent 收到消息后,就可以及时调整代码。

这四个部分结合起来,就形成了一个能够并行执行、共享任务、相互协调的 Agent 团队。

三、Agent Teams 和 SubAgent 有什么区别?

两者都能利用多个 Agent 完成工作,但设计重点不同。

对比维度 SubAgent Agent Teams
核心目标 独立执行任务 多 Agent 持续协作
上下文 独立上下文 每个队友也有独立上下文
任务管理 主要由主 Agent 管理 共享任务列表
通信方式 以任务委派和结果返回为主 支持队友直接通信与协调
生命周期 通常围绕单次委派任务 可以持续接收多个任务
Token 消耗 相对较低 通常更高
典型场景 查询、调研、独立任务 多角色开发、联合调试

可以用一个生活中的例子理解:

SubAgent 像找外包。

你把几个独立任务交出去,等他们完成后,再收集结果。

Agent Teams 像组建项目组。

大家分工合作,过程中可以相互交流,遇到问题还能一起讨论。

需要注意,随着 Claude Code 功能发展,部分 SubAgent 也支持消息通信,因此二者并不是绝对的“能否通信”之分。

更本质的区别是:SubAgent 更侧重任务委派和上下文隔离,Agent Teams 更侧重团队级别的任务管理与持续协作。

四、Agent Teams 是如何工作的?

我们用一个实际案例理解。

假设你正在开发一个 Web 应用,需要新增“用户登录”功能。

你对 Claude Code 说:

创建一个 Agent Team,安排三个队友分别负责后端登录 API、前端登录页面和测试代码。要求大家共享接口信息,并在完成后进行集成验证。

接下来,Agent Teams 大致会按照以下流程工作。

第一步:创建团队

Team Lead 将任务分解为三个部分,并创建相应队友:

  • Backend Agent:开发后端 API
  • Frontend Agent:开发登录页面
  • Test Agent:编写测试代码

第二步:并行执行

三个 Agent 分别开展工作,而不是一个 Agent 顺序完成所有内容。

第三步:相互通信

后端 Agent 确定接口格式后,可以直接通知前端和测试 Agent。

前端根据接口完成页面,测试 Agent 根据接口契约编写测试。

第四步:完成任务并汇总

每个 Agent 更新任务状态。

Team Lead 收集各成员的工作结果,检查集成情况,并向用户汇报。

整个过程不需要用户反复充当不同 Agent 之间的“传话筒”。

当然,并行不意味着所有工作都能同时完成。存在依赖关系的任务仍然需要等待,最终也需要进行测试和验证。

五、哪些场景适合使用 Agent Teams?

Agent Teams 并不是任务越多越好用,它更适合能够并行推进,同时又需要协调的复杂任务。

场景一:多角度代码审查

安排三个 Agent 分别检查:

  • 安全漏洞
  • 性能问题
  • 测试覆盖情况

每个 Agent 从不同角度独立分析,可以减少彼此思路的干扰,最后由 Team Lead 汇总审查结果。

场景二:复杂 Bug 排查

当一个 Bug 存在多种可能原因时,可以安排不同 Agent 分别验证不同假设。

它们还能相互质疑结论,帮助缩小排查范围。

但最终仍然需要通过日志、实验或测试确认真正的原因。

场景三:多模块并行开发

例如前端、后端、测试分别由不同 Agent 负责。

各成员独立开发,同时通过消息同步接口和任务进度。

相反,如果任务很简单、必须严格按顺序执行,或者多个 Agent 需要频繁修改同一个文件,那么使用单 Agent 或 SubAgent 往往更合适。

六、如何在 Claude Code 中使用?

Agent Teams 目前仍属于实验性功能,需要手动启用。

1. 开启 Agent Teams

打开 Claude Code 配置文件:

~/.claude/settings.json

在配置文件中添加:

"env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" }

注意:这是需要合并到现有 JSON 配置中的字段,不要覆盖原有配置。

完成配置后,就可以在 Claude Code 的交互式会话中使用。

2. 创建团队

不需要自己编写复杂的多 Agent 调度代码,直接使用自然语言即可。

例如:

创建一个 Agent Team,让三个队友分别从安全性、性能和测试覆盖率三个角度审查当前项目。最后由 Team Lead 汇总结果。

Claude Code 会根据要求创建队友、安排工作并协调结果。

3. 查看队友与任务

Agent Teams 主要支持两种显示方式:

  • In-process(进程内模式):所有队友显示在同一个终端界面中,可以通过方向键选择队友并按 Enter 查看。
  • Split-pane(分屏模式):不同队友显示在独立终端面板中,通常需要 tmux 或 iTerm2。

此外,还可以使用 Ctrl+T 切换共享任务列表,查看任务进度。

七、使用 Agent Teams 需要注意什么?

虽然多个 Agent 可以并行工作,但也会带来新的管理问题。

1. 明确任务边界

最好让不同 Agent 负责不同文件或模块,避免多人同时修改同一个文件,导致代码冲突。

2. 提供足够的背景信息

队友不会自动继承 Team Lead 的完整对话历史。

创建队友时,应说明任务目标、涉及的文件、技术栈和预期结果。

3. 不要创建太多队友

可以先从 3~5 个队友开始。

队友数量增加后,协调成本和 Token 消耗也会增加,并不意味着效率一定成倍提高。

4. 定期检查工作进度

不要完全放任团队运行。发现某个 Agent 偏离目标时,及时调整任务。

5. 关注实验性限制

Agent Teams 目前仍存在一些限制,例如部分队友无法随会话恢复、任务状态可能延迟更新,以及分屏模式需要额外终端支持等。

因此,建议先从代码审查、项目调研等只读任务开始尝试,再逐步用于实际开发。

八、总结

Agent Teams 的核心思想,其实就是把单个 Agent 的工作方式升级为团队协作。

它主要依靠四个组件:

Team Lead + Teammates + Task List + Mailbox

让多个独立的 Agent 能够分工、并行执行、交换信息,并最终汇总成果。

与 SubAgent 相比,Agent Teams 的重点不只是让任务执行得更快,而是让多个 Agent 在复杂任务中能够像一个团队一样协作。

实际使用时,可以遵循一个简单原则:

独立任务优先考虑 SubAgent,需要多角色持续协调时再考虑 Agent Teams。

来源:博客园 · cnblogs.com