Claude Code Agent Teams:3个AI同时写代码,底层原理和主流框架对比

作者:易安说AI日期:2026/2/10

大家好,我是易安,AI超级个体,大厂程序员二孩奶爸。 Claude Opus 4.6 带来了 Agent Teams 功能,可以让多个 Claude Code 实例并行工作。我用它做了个小项目,踩了一些坑,也顺便把底层原理和市面上几个主流多 Agent 框架做了个对比。这篇文章干货比较多,建议收藏。

Agent Teams 到底是什么

简单说就是一个 Lead Agent 可以 spawn 出多个 Teammate Agent,每个 Teammate 是一个完全独立的 Claude Code 会话实例,有自己的 200K 上下文窗口,并行处理不同的任务。完成后 Lead Agent 负责集成。

不需要特殊的 CLI 命令,用自然语言告诉 Lead Agent 怎么分工就行。

但这里有个关键点很多教程没讲清楚——Agent Teams 和之前的 Subagents 是两码事:

图片

Subagents 更像是"我派你去查个资料回来告诉我",Agent Teams 则是"我们组个团队一起干"。

底层原理:Agent Teams 是怎么工作的

这部分我觉得是理解 Agent Teams 的关键。搞清楚原理,才能知道什么时候该用、怎么用才高效。

TeammateTool:13 个核心操作

Agent Teams 的底层是一套叫 TeammateTool 的系统,2026 年 1 月社区开发者 kieranklaassen 在 Claude Code 二进制文件上跑 strings 命令时发现了它——当时功能还被两个门控函数隐藏着。11 天后 Anthropic 就正式发布了。

这套系统包含 13 个操作,分三类,同时配合本地文件系统做状态管理:

图片

没有专有云数据库,没有复杂的消息队列。就是 JSON 文件 + 文件锁。并发安全靠原子写入(tempfile + os.replace)和跨平台文件锁。

这意味着你可以直接 cat ~/.claude/tasks/my-team/1.json 看任务状态,甚至手动改它。跟 git 一样,对开发者很友好。

任务依赖:DAG 图

任务之间支持依赖关系,形成有向无环图(DAG)。队友完成任务后,依赖它的任务会自动解除阻塞:

图片

通信机制:邮箱系统

每个队友有个 JSON 格式的收件箱。关键设计——Claude 的文本输出对团队不可见,必须用 write 操作才能让其他队友看到消息。

这很重要:如果 API 队友完成了类型定义,它可以直接通知 UI 队友开工,不需要经过 Lead 中转。测试队友也可以直接请求 API 队友启动开发服务器。这比纯层级汇报灵活很多。

Spawn 后端:三种运行模式

系统会自动检测环境选择后端,tmux 是最稳的选择:

图片

Delegate 模式

Shift+Tab 可以把 Lead 切换到 delegate 模式。这个模式下 Lead 只能做协调——生成队友、发消息、管理任务,不能直接改代码。

为什么需要这个?因为 Lead 有时候会"手痒",明明该分配给队友的任务自己偷偷实现了。delegate 模式是个强制约束。

开启方式

~/.claude/settings.json 里加两个配置:

1{
2  "env": {
3    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
4  },
5  "experimental": {
6    "agentTeams": true
7  }
8}
9

推荐在 tmux 里启动,可以看到分屏效果:

1tmux new -s my-team
2claude
3

实战:3个Agent并行写一个记账工具

我选了一个 Python CLI 记账工具作为测试项目,功能不复杂但可以拆成清晰的并行任务:

图片

每个 Agent 拿到的 prompt 里详细描述了要创建的文件、类名、方法签名、参数类型。三个任务同时发出去,并行执行。

结果

三个 Agent 全部完成,总共生成 7 个文件、21 个测试用例。速度确实快——三个 Agent 最慢的那个大概用了不到 3 分钟,如果串行做至少要 6-7 分钟。

跑测试的时候问题来了:8 个模型测试全过,13 个存储测试全挂。

踩坑:接口契约不一致

这是多 Agent 并行开发最典型的问题——每个 Agent 独立工作,对同一个接口的理解不完全一致。

三个 Agent 之间出现了 3 类冲突:参数名不同、类型不匹配、返回值 key 名对不上。

图片

修复过程

修复分两步:

第一步改测试文件 test_storage.py,对齐实际的 storage.py 接口:

第二步改 cli.py,对齐 models.py 的类型要求:

  • args.category 改成 args.category.value
  • date 对象用 str() 转换
  • summary 里的 key 名对齐
  • delete 命令的 ID 类型从 int 改成 str(因为实际用的是 UUID)

改完之后 21 个测试全部通过,CLI 也能正常跑了:

1 已添加支出: ¥35.50 [FOOD]
2 已添加支出: ¥100.00 [TRANSPORT]
3 已添加支出: ¥299.00 [SHOPPING]
4
5 3 条记录,合计: ¥434.50
6

框架对比:Agent Teams vs Oh-My-OpenCode vs BMAD-METHOD

市面上做多 Agent 编排的框架不少,我重点对比了三个有代表性的:

Oh-My-OpenCode:希腊神话式的多模型编排

Oh-My-OpenCode 是给 OpenCode(开源终端 AI 工具)做的插件,GitHub 上有 24000+ Star。它的设计挺有意思——用希腊神话人物命名 11 个 Agent 角色:

  • Sisyphus(西西弗斯):主编排器。名字来自不断推石头上山的神话,意思是你的任务一定会被完成
  • Prometheus(普罗米修斯):规划师,不是简单拆任务,而是通过"采访"帮你厘清需求
  • Hephaestus(赫菲斯托斯):自主深度工作者,在写一行代码之前会先并行启动 2-5 个侦察 Agent 做情报收集
  • Oracle:战略顾问,只读不写

核心设计是多模型混合——Opus 做决策、GPT 做执行、Grok 做搜索、Gemini 做多模态分析。用便宜模型做侦察,贵模型做决策,成本控制比较灵活。

但有个现实问题:2026 年 1 月 Anthropic 限制了第三方 OAuth 访问,明确提到 Oh-My-OpenCode 是封锁原因之一。它之前允许用 Claude Pro/Max 订阅驱动 OpenCode,被认定违反了服务条款。

BMAD-METHOD:文档驱动的敏捷团队

BMAD(Breakthrough Method for Agile AI-Driven Development)走了一条完全不同的路——不追求并行速度,追求流程可控

它的核心理念是把 AI 组织成一支完整的敏捷团队:分析师、产品经理、架构师、Scrum Master、开发者、QA。每个角色的定义是版本化的 Markdown/YAML 文件,可以 Git 管理。

开发分两个阶段:

第一阶段:规划。Analyst 做调研 → PM 写 PRD → Architect 定架构 → Product Owner 对齐验证 → Scrum Master 生成开发故事。整个过程产出的文档就是持久化的上下文。

第二阶段:执行。开发者 Agent 打开一个故事文件,里面有完整的实现细节、架构指导、设计原理、测试标准。不需要额外沟通,文档即上下文。

BMAD 还有个"文档分片"的概念——把复杂的项目文档拆成原子化的、AI 可消化的片段。这解决了大项目上下文塞不进去的问题。

它是工具无关的,支持 Claude Code、Cursor、Windsurf、GitHub Copilot 等多种 AI IDE。

三个框架的核心差异

图片

怎么选?

Agent Teams 适合:已经在用 Claude Code,项目可以清晰拆分并行任务,接口契约比较明确。胜在零配置、原生体验好。

Oh-My-OpenCode 适合:想混用多个模型控制成本,项目需要复杂的规划-执行分离。但要注意 OAuth 合规问题。

BMAD-METHOD 适合:大型复杂项目,需要完整的文档链路和角色分工。可以和 Agent Teams 互补——用 BMAD 做规划阶段,用 Agent Teams 做并行执行阶段。

其实这三个方案不互斥。BMAD 可以运行在 Claude Code 之上,Oh-My-OpenCode 的设计理念(多模型混用、层级化 Agent)对 prompt 设计也有参考价值。

经验总结

Agent Teams 的优势

  • 并行确实快,三个 Agent 同时干活,总耗时约等于最慢的那个
  • 队友间可以直接通信,比纯层级汇报灵活
  • 适合拆分清晰的项目:前端/后端/测试、不同模块、不同微服务

Agent Teams 的坑

  • 接口契约是最大的问题。每个 Agent 独立理解需求,即使 prompt 写得很详细,参数名、类型、返回值格式都可能对不上
  • Token 消耗大。3 个 Agent 的 token 消耗大概是单个的 4-5 倍(Anthropic 研究员 Nicholas Carlini 用 16 个 Agent 写 C 编译器花了 $20,000)
  • Lead Agent 的集成工作不可省略。并行开发完一定需要一个"粘合"阶段
  • /resume 暂时不能恢复 teammate 会话

建议

  • prompt 中尽量用代码片段定义接口,不要只用自然语言描述。直接写 class ExpenseStorage(data_path: Optional[Path] = None),而不是"构造函数接受可选的目录参数"
  • Lead 用 Opus 做战略决策,队友用 Sonnet 执行具体任务,可以省一些 token
  • 先用 Plan 模式制定计划(便宜),确认后再交给团队并行执行(贵但快)
  • 用 delegate 模式约束 Lead,防止它越权自己写代码
  • 对于小项目(< 500 行),单 Agent 可能更高效,因为省去了集成成本
  • Agent Teams 更适合中大型项目,各模块之间接口已经明确定义的场景
  • 官方建议 2-5 个队友、每个队友 5-6 个任务。别贪多,协调开销会吃掉并行收益

多 Agent 协作是 AI 辅助开发的下一步,不管用哪个框架,核心问题都是一样的:怎么把"接口契约"定义清楚,怎么在并行效率和协调成本之间找到平衡。跟人类团队协作其实是一个道理——分工越清晰,扯皮越少。


Claude Code Agent Teams:3个AI同时写代码,底层原理和主流框架对比》 是转载文章,点击查看原文


相关推荐


abigen使用教程 - go版本
Warson_L2026/2/1

在 Web3 后端开发中,abigen 是一个至关重要的工具。它能根据 Solidity 合约生成的 ABI(应用二进制接口)自动生成 Go 语言代码,让你像调用普通 Go 函数一样调用智能合约。 以下是详细的 abigen 使用教程。 第一步:安装 abigen 工具 abigen 是 go-ethereum 项目的一部分。你可以通过以下命令安装: # 安装最新版 abigen go install github.com/ethereum/go-ethereum/cmd/abigen@lat


Verifier-state pruning in BPF
mounter6252026/1/22

The BPF verifier works, on a theoretical level, by considering every possible path that a BPF program could take. As a practical matter, however, it needs to do that in a reasonable amount of time. At the 2025 Linux Plumbers Conference, Mahé Tardy an


Spring设计模式与依赖注入详解
callNull2026/1/14

📚 前言 这是我之前写 项目时的一些理解和感悟, 我喊了AI帮我润色了一下语言文字,发出来了,希望对大家有用 在学习Spring框架时,经常会遇到@Configuration、@Bean、@Service、@Resource等注解,以及各种设计模式的应用。本文通过具体的代码示例(MailConfig和MailService),深入浅出地解释这些概念,帮助理解Spring的核心机制。 🎯 核心问题 问题1:为什么需要@Configuration和@Bean? 问题2:为什么没有注解的类也能被@


多模态大模型有哪些模态?
智泊AI2026/1/6

“多模态”中的“模态”(modality),即指各类数据形式或信息来源。在多模态大模型中,典型模态涵盖以下类别: 更多AI大模型学习视频及资源,都在智泊AI。 文本模态‌: 涵盖自然语言文本、经语音识别转换的文本内容等。 图像模态‌: 指视觉图像数据,例如照片、插画、艺术作品等。 视频模态‌: 包含动态影像序列,如短视频、影视片段、监控录像等。 音频模态‌: 指声学信号数据,如人声、音乐、环境音效等。 其他模态‌: 还包括如环境传感器读数、生理信号、指纹、虹膜等非传统信息形式。 多模态模型的


旮旯c语言三个任务
宇宙超级无敌暴龙战士2025/12/29

#include <stdio.h> // 任务1:计算数组元素和 int getArrSum(int arr[], int len) { int sum = 0; for (int i = 0; i < len; i++) { sum += arr[i]; } return sum; } // 任务2:获取数组最大值 int getArrMax(int arr[], int len) { int max = arr[0]; f


python+django/flask+vue基于spark的西南天气数据的分析与应用系统
Q_Q5110082852025/12/19

目录 项目介绍本项目具体实现截图开发技术大数据类设计开发的基本流程是:论文大纲结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 项目介绍 系统功能 数据采集与清洗:系统通过爬虫技术从多个天气预报网站抓取西南地区的实时天气数据,并通过Spark SQL对数据进行并行计算,提取关键气象指标,并进行多维度分析,如空气质量、降水量、风速等。 数据处理与分析:系统利用Spark对天气数据进行分布式存储与处理,通过数据分析,实时展示西南地区的空气质量、温度变化、降水量、风


Flutter的核心优势
小a彤2025/12/11

欢迎大家加入开源鸿蒙跨平台开发者社区,一起共建开源鸿蒙跨平台生态。#### Flutter:开发效率神器详解 Flutter作为Google推出的跨平台开发框架,凭借其高效的开发体验和出色的性能表现,成为众多开发者的首选。其核心优势在于"一次编写,多端运行"的核心理念,同时提供超过2000个现成的Widget组件库和强大的工具链,显著提升开发效率达30%-50%。 Flutter的核心优势 跨平台一致性 Flutter使用自绘引擎(Skia)直接渲染UI,完全避免了平台原生控件的依赖,确


LLM 扫盲:什么是 Tokens?
mCell2025/12/2

同步至个人网站:LLM扫盲: 什么是tokens LLM 基础:什么是 Tokens? GPT 5.1 发布已经有一段时间了,LLM(大语言模型)的能力边界再一次被拓宽。对于应用开发者而言,虽然模型越来越智能,但 API 的计费逻辑和底层限制依然没有变:Token 始终是那个核心计量单位。 很多人对 Token 有误解,认为它等同于字符(Character)或单词(Word)。这种误解往往导致两个问题:一是预估 API 成本时出现较大偏差,二是无法精确控制 Prompt 的上下文长度,导致模型


【Python练习五】Python 正则与网络爬虫实战:专项练习(2道经典练习带你巩固基础——看完包会)
纯.Pure_Jin(g)2026/2/18

第一题 题目: 使用正则完成下列内容的匹配 匹配陕西省区号 029-12345匹配邮政编码 745100匹配邮箱 lijian@xianoupeng.com匹配身份证号 62282519960504337X 代码: import re # 1. 匹配陕西省区号 029-12345 pattern_area = r'^029-\d{5}$' # 精确匹配 029- 开头,后接5位数字 test_area = '029-12345' print("区号匹配:", re.match(pattern_


一文搞懂激活函数!
aicoting2026/2/27

推荐直接网站在线阅读:aicoting.cn 在深度学习中,激活函数(Activation Function)是神经网络的灵魂。它不仅赋予网络非线性能力,还决定了训练的稳定性和模型性能。那么,激活函数到底是什么?为什么我们非用不可?有哪些经典函数?又该如何选择? 所有相关源码示例、流程图、模型配置与知识库构建技巧,我也将持续更新在Github:AIHub,欢迎关注收藏! 1. 什么是激活函数,为什么需要激活函数 激活函数的核心作用就是为神经网络引入非线性。 为什么需要非线性? 想象一下,如果

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 XYZ博客