news 2026/5/30 18:32:30

Agent teams讲解+实操

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Agent teams讲解+实操

什么是agent teams+原理是什么
agent teams功能允许用户协调多个 Claude Code 实例协同工作。其中一个会话充当团队领导,负责协调工作、分配任务和汇总结果。团队成员各自独立工作,在各自的上下文窗口中进行操作,并直接相互沟通。
传统的subagent只能在单个对话中运行,且只能向主agent汇报
现在这个agent teams可以和每个队员互动,可以看单独的窗口
然后队友之间也可以直接联系
[图片]
[图片]
然后这个agent teams功能默认是关闭的
打一个环境变量开启
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
用tmux可以看到每一个队员的终端,独立的,你可以和任何一个队员直接交互
然后有一个委派模式
即负责人完全专注于统筹工作,不需要接触代码
先创建一个团队,然后按 Shift+Tab 切换到委派模式(实测好用)

一个 Agent Team 由这些组件构成:

  • Team lead:创建团队的主 Claude Code 会话,负责拆解、分派、综合结果
  • Teammates:多个“单独的 Claude Code 会话实例”,各自执行分到的任务
  • Task list:共享任务列表(支持依赖关系、状态流转)
  • Mailbox:队员之间的消息系统(message / broadcast)
    团队与任务会存到本地(例如 team config / task list 的本地目录结构),队员可通过 team config 发现其它队员信息
    这个里面有一个值得关注的点,那队员之间是如何通讯的呢
  1. 基于收件箱的消息系统(Inbox-based Messaging)
    有一个基于收件箱的消息系统用于 agent 间通信,队员可以在完成任务后自行认领新工作。
    具体来说:
  • Subagent 只能向主 agent 汇报结果,仅此而已。Agent team 成员可以直接互发消息、挑战彼此的发现、并自主协调。 Claude Fast
  • 每个队员有自己的 inbox,其他队员可以往里发消息
  • 你作为用户也可以直接跟某个队员对话,不需要通过 team lead 中转
  1. 共享任务列表(Shared Task List)
    共享任务列表是中心化的工作项,有三种状态:pending(待处理)、in progress(进行中)、completed(已完成)。任务之间可以有依赖关系——被阻塞的工作会在依赖完成时自动解除阻塞。 Marc0
    工作流程大致是:
    Team Lead 创建任务列表

    队员从列表中认领/被分配任务

    队员通过 inbox 互相交流发现

    任务完成 → 自动解锁下游依赖任务
    整体架构如下:Leader 和 Teammate 之间通过 inbox 双向通信,Teammate 之间也可以互相发消息,同时共享一个有依赖追踪的任务列表。

适合场景:
最适合 可拆成相对独立、偏阅读/分析型的并行工作(例如 codebase review),并且你可以用快捷键或 tmux 直接接管队员会话。

Agent teams和subagent区别分析
Subagents 是“专门化的小助手”,每个 subagent:

  • 有自己的 context window
  • 有自定义 system prompt
  • 可配置工具权限与独立 permission
    Claude 在遇到匹配 subagent 描述的任务时,会把任务委派给它;subagent 独立完成后把结果返回。
    官方在 subagents 文档里直接写明:如果你需要多个 agent 并行、并且彼此交流协作,就用 agent teams;subagents 工作在单一 session 内,agent teams 跨多个独立 session 协作。
    subagents 更像“单会话里的内置多工分身”
    Subagents 的典型价值在于:
  • 把探索/实现从主对话里隔离,节省主上下文
  • 通过工具白名单/黑名单做约束
  • 跨项目复用(user-level / project-level)
  • 通过选择更便宜模型(如 Haiku)来控成本

Agent Teams vs Subagents:本质区别(不止“都叫多智能体”)
下面按“你真正会在工程实践里感受到的差异”来对比(前两列是官方定义/行为边界):
粒度:多会话 vs 单会话内委派

  • Subagents:发生在一个 Claude Code session 内,“主代理 → 子代理”委派,子代理做完把结果回传。
  • Agent Teams:是多个独立 Claude Code session 组成的 team;lead 只是其中一个 session,但负责统筹、分工、综合。
    通信拓扑:星型汇报 vs 队员可直接互聊
  • Subagents:只把结果回给 main agent(“汇报制”)。
  • Agent Teams:队员之间可以直接 message / broadcast,lead 不需要“轮询”等待消息。
    这点就是你问的“和之前多智能体有啥区别”的核心:Agent Teams 把多智能体从“工具式分身”升级成“有内部协作网络的团队”。
    协调机制:主控调度 vs 共享任务列表自协作
  • Subagents:由主代理管理工作流。
  • Agent Teams:共享 task list(含依赖、状态),队员可 self-claim,claim 还有文件锁避免冲突。
    可观测性与可接管性:看结果 vs 看过程 + 随时插话
  • Subagents 更像“把活外包出去,回来交付一个总结/产物”。
  • Agent Teams 是“你能看到每个队员在终端里跑什么,并随时接管/打断/追问”。
    成本结构:Agent Teams 明确更贵(而且贵得线性)
    Agent Teams 的 token 消耗会随活跃队员数增长;官方建议把它用在 research/review/new feature 这种“并行探索真的能省总时间”的场景,例行小改动更适合单会话或 subagents。
    另外 broadcast 也明确提示“成本随团队规模增长,要少用”。
    权限与上下文传播方式也不同
    Agent Teams:
  • 队员启动时会加载项目级上下文(CLAUDE.md、MCP servers、skills)+ spawn prompt
  • 但 lead 的对话历史不会带过去(每个队员是独立上下文窗口)
  • 权限方面,队员继承 lead 的 permission 设置,且不能在 spawn 时为不同队员设置不同 permission mode(只能 spawn 后改)
    Subagents:
  • 每个 subagent 也有独立上下文窗口与独立权限/工具配置(而且可以被你显式配置工具集/模型等)

实战测试
Claude code赠送了50美元
用这个赠送的50美元开始实战
首先打开agent teams功能
然后给他指令,帮我实现一个agent teams功能
[图片]
他会创建四个成员,一个leader

team-lead(我自己)
角色:项目负责人 + 主力开发

  • 制定实施计划,创建 9 个 Task 并设置依赖关系

  • 启动并协调 4 个 Agent

  • 自己写了核心的 team.py(编排器)和 manager.py(工厂)

  • 完成了整个 Web 层集成(chat_service, routes, server)

  • 最后做代码审查 + 跑全部测试

    models-dev
    角色:数据模型 + CLI 集成

  • Task #1: 创建 agent/team/models.py — 所有枚举和数据类(TeamTask, TeamMessage, TeamProgress 等)

  • Task #7: 修改 agent/init.py 添加 team 导出,修改 main.py 添加 --team / --team-size 参数和团队执行分支

    bus-dev
    角色:通信层

  • Task #2: 创建 agent/team/message_bus.py — 线程安全的消息总线,支持点对点发送、广播、全局监听

    member-dev
    角色:成员执行层

  • Task #3: 创建 agent/team/member.py — 将 CodingAgent 封装为 TeamMember,实现独立线程执行、任务生命周期管理、消息通知

    leader-dev
    角色:任务分解层

  • Task #4: 创建 agent/team/leader.py — TeamLeader 用 LLM 分解任务为子任务 JSON,解析依赖关系、校验成员名、失败兜底

最后花费10美元左右,完成这个功能
中间他自己检查出有bug,另外一个智能体成员帮他修复了

局限性

  • 会话恢复后,不会恢复正在进行中的队友:/resume请勿/rewind恢复正在进行中的队友。会话恢复后,组长可能会尝试向已不存在的队友发送消息。如果发生这种情况,请告知组长创建新的队友。
  • 任务状态可能存在滞后:团队成员有时未能将任务标记为已完成,从而导致依赖任务无法进行。如果某个任务似乎卡住了,请检查工作是否实际完成,并手动更新任务状态,或者通知项目负责人催促团队成员。
  • 关闭过程可能会很慢:团队成员需要完成当前的请求或工具调用才能关闭,这可能需要一些时间。
  • 每次只管理一个团队:一位组长一次只能管理一个团队。在创建新团队之前,请先清理现有团队。
  • 不支持嵌套队伍:队友不能创建自己的队伍或队友。只有队长才能管理队伍。
  • 领导权是固定的:创建团队的那次会议就是该团队的领导会议,并且领导权在其整个生命周期内都是固定的。你不能提拔团队成员担任领导,也不能转移领导权。
  • 出生时权限设置:所有队友初始权限模式与队长相同。出生后可以更改单个队友的权限模式,但无法在出生时设置单个队友的权限模式。
  • 分屏模式需要 tmux 或 iTerm2:默认的进程内模式适用于任何终端。VS Code 的集成终端、Windows Terminal 和 Ghostty 均不支持分屏模式。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 23:09:39

claude code使用技巧

一、基础操作 安装 VS Code 或 Cursor 插件 因为Claude Code是运行在终端的,编辑文件不太方便,所以你可以在IDE中(VS Code、Cursor、JetBrains等)中安装Claude Code插件,安装后可以快速启动Claude Code。实现IDE和Clau…

作者头像 李华
网站建设 2026/5/23 23:50:19

Flink ZooKeeper HA 实战原理、必配项、Kerberos、安全与稳定性调优

1. ZooKeeper 在 Flink HA 里负责什么 Flink 借助 ZooKeeper 在多个 JobManager 之间做分布式协调,核心包含三类能力: Leader election:在多个 JobManager 候选者里选出唯一 LeaderService discovery:让组件能找到“当前 Leader 的…

作者头像 李华
网站建设 2026/5/29 16:18:43

《HTTP黑客指南:深入解析请求与响应的每个细节》

漏洞赏金训练营 #10:HTTP黑客指南——解码每个请求与响应 每一次点击都是一次对话。作为一名黑客,你的工作就是流利地掌握HTTP这门语言,倾听服务器的秘密,并精心构建完美的谎言来突破其防线。 在你启动代理工具或编写任何攻击载荷…

作者头像 李华
网站建设 2026/5/30 12:33:58

Java AI 工程化:基于 MCP 协议的自动化发帖实践-1770465571465

1. 什么是 MCP 协议 Model Context Protocol (MCP) 是一种开放协议,旨在连接 AI 模型与外部数据源。 2. 工程化落地挑战 在 Java 后端集成 AI 模型时,如何解决高并发推理与结果缓存是核心难点。 3. 自动化实践 本次调用通过 Spring AI 的 MCP 客户端&…

作者头像 李华
网站建设 2026/5/23 17:17:01

中国文化速记清单.地名与母亲河.文化名人与经典

中国文化速记清单.地名与母亲河.文化名人与经典一、为啥盖房别比邻居高?核心原因有三点,兼顾民俗智慧、邻里关系与实用考量:风水与气场平衡过高易犯 “孤峰煞”,打破 “藏风聚气” 的平衡,被视为 “孤阳突兀”&#xf…

作者头像 李华