教程

Claude Code 从零到精通:第九章:Agent Teams — 多Agent协作开发

第九章:Agent Teams — 多Agent协作开发


这是 Claude Code 最强大也最前沿的功能。根据实战经验,Agent Teams 可以像真实开发团队一样协作。


9.1 Agent Teams 架构


Plaintext

┌──────────────────────────────────────────────────────────┐

│ Agent Teams 协作架构 │

├──────────────────────────────────────────────────────────┤

│ │

│ ┌───────────────┐ │

│ │ 主 Agent │ │

│ │ (Team Lead) │ │

│ │ 只统筹不干活 │ ← 核心原则! │

│ └───────┬───────┘ │

│ │ │

│ ┌─────────────┼─────────────┐ │

│ │ │ │ │

│ ┌──────┴──────┐ ┌───┴────┐ ┌──────┴──────┐ │

│ │ 产品经理 │ │ 架构师 │ │ 测试工程师 │ │

│ │ Agent │ │ Agent │ │ Agent │ │

│ │ - 需求定义 │ │- 审查 │ │ - 写测试 │ │

│ │ - 功能验收 │ │ 代码 │ │ - 运行测试 │ │

│ │ │ │- 审查 │ │ - 报告结果 │ │

│ │ │ │ git │ │ │ │

│ └─────────────┘ └────────┘ └─────────────┘ │

│ │ │ │ │

│ ┌──────┴──────┐ ┌───┴────┐ ┌──────┴──────┐ │

│ │ 前端工程师 │ │ 后端 │ │ AI 助手 │ │

│ │ Agent │ │ Agent │ │ Agent │ │

│ │ - 页面开发 │ │- API │ │ - 提示词 │ │

│ │ - 组件开发 │ │- 数据库 │ │ - 工具链 │ │

│ │ - 样式调整 │ │- 逻辑 │ │ - 编排 │ │

│ └─────────────┘ └────────┘ └─────────────┘ │

│ │

│ 所有 Agent 可以互相发消息、纠错、协调 │

│ │

└──────────────────────────────────────────────────────────┘


9.2 启用和启动 Agent Teams


_⚠️ Agent Teams 目前是__实验性功能__,需要手动启用:_


Bash

export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1


或在 .claude/settings.json 中设置。


推荐团队大小:3-5 个 teammates,每个分配 5-6 个任务。


显示模式:支持 in-process(默认)和 split-pane(tmux/iTerm2 分屏)两种。


启动:claude --teammate-mode tmux


方式一:自然语言启动


Plaintext

使用 Agent Teams 帮我开发一个笔记应用。

需要以下角色:

1\. 产品经理 - 负责需求定义和功能验收

2\. 架构师 - 负责审查代码质量和规范

3\. 前端工程师 - 负责页面开发

4\. 后端工程师 - 负责 API 开发

5\. 测试工程师 - 负责编写和运行测试


方式二:通过 superpowers 工作流启动


Plaintext

使用 superpowers 和 agent teams 帮我开发一个笔记应用


9.3 Agent 角色设计指南


主 Agent(Team Lead)的关键约束


_⚠️_ _最重要的原则:主 Agent 绝对不能干重活!_


Markdown

\# 在 CLAUDE.md 中约束主 Agent

\## 主 Agent 行为约束

\- 你是团队领导,只负责:

1\. 理解用户需求并分发给团队成员

2\. 监控各 Agent 的工作进度

3\. 协调 Agent 之间的沟通

4\. 向用户汇报进度

\- 你绝对不要:

1\. 自己写代码(看到 bug 也不要自己改!)

2\. 自己读大量代码文件

3\. 自己做探索性工作

\- 原因:你的上下文大约 200K tokens,约 1.5 万行代码,

一旦被代码占满就会触发压缩,导致丢失关键约束信息。


_实战趣事__:有开发者约束主 Agent 不干活,但主 Agent 看到 bug 还是忍不住自己改了,然后说"这个 bug 比较小,顺手就改了,下次不会了" 😄_


架构师 Agent


Plaintext

\- 只做两件事:

1\. 审查每个人的 git 提交记录

2\. 检查代码是否符合 CLAUDE.md 中的规范

\- 发现 DSL 或接口变更时,必须全局广播通知


测试 Agent


Plaintext

\- 不要去读源代码(避免上下文膨胀)

\- 只通过接口文档和测试用例进行测试

\- 测试有反馈有输入有输出(这很关键!)

\- 发现 bug 后报告给主 Agent


9.4 Agent 间通信机制


Plaintext

┌────────────────────────────────────────────────────┐

│ Agent 通信示例 │

├────────────────────────────────────────────────────┤

│ │

│ 后端 Agent → 前端 Agent: │

│ "API 对齐确认:POST /api/experiments │

│ 请求体: { name, dslConfig, metadata } │

│ 响应: { id, status, createdAt } │

│ SSE 流格式: event: progress, data: {...}" │

│ │

│ 架构师 Agent → 全体广播: │

│ "DSL 规范已更新:pin 字段改名为 puzzle, │

│ 所有使用 DSL 的模块需要同步修改" │

│ │

│ 前端 Agent → 主 Agent: │

│ "test3 的指令方向与引擎实际情况冲突, │

│ 需要确认后再执行。等待确认的同时, │

│ 我先从 test4 开始做。" │

│ │

│ 主 Agent → 前端 Agent: │

│ "之前方向确实反了,任务描述已更新, │

│ 请按新方向继续。" │

│ │

└────────────────────────────────────────────────────┘


9.5 Agent Teams 的已知限制与应对


| | | |

| --- | --- | --- |

| 限制 | 说明 | 应对方案 |

| 消息不实时 | Agent 干完活才看消息 | 在 CLAUDE.md 中约束检查频率 |

| 默认自动关闭 | 每轮对话后会关闭成员 | 全局 CLAUDE.md 写明"不要自动关闭" |

| 并发写入冲突 | 多个 Agent 同时编辑同一文件 | 模块分工要清晰,减少文件交叉 |

| 无打断机制 | Agent 长时间工作时无法中途通知 | 可通过 Hooks 或自研插件解决 |

| 闷头干活 | Agent 不主动同步进度 | 在规范中约束定期汇报 |


9.6 多人协作时的代码管理


Plaintext

┌──────────────────────────────────────────────┐

│ 多人 + 多Agent 协作模式 │

├──────────────────────────────────────────────┤

│ │

│ 开发者A 开发者B 开发者C │

│ (AI助手模块) (编辑器) (DSL引擎) │

│ │ │ │ │

│ ▼ ▼ ▼ │

│ ┌──────┐ ┌──────┐ ┌──────┐ │

│ │ CC + │ │ CC + │ │ CC + │ │

│ │多Agent│ │多Agent│ │多Agent│ │

│ └──┬───┘ └──┬───┘ └──┬───┘ │

│ │ │ │ │

│ ▼ ▼ ▼ │

│ feature/ai-agent feature/editor feature/ │

│ (独立分支) (独立分支) dsl-engine │

│ │ │ │ │

│ └───────────────────┼──────────┘ │

│ │ │

│ 主分支合并 │

│ (解决冲突) │

│ │ │

│ 全量回归测试 │

│ │

│ 原则: │

│ - 模块划分清楚,每人负责独立模块 │

│ - 大功能用不同分支,合并时处理冲突 │

│ - 个人并行任务可用 git worktree │

│ │

└──────────────────────────────────────────────┘


9.7 Cowork 速览:不用终端的 AI Agent


_Cowork 是 Anthropic 于 2026 年 1 月推出的__桌面智能代理工具__,内置于 Claude Desktop,以独立标签页的形式存在。核心定位:__让不写代码的人也能使用 Agent 能力__。_


Cowork 能做什么?


| | |

| --- | --- |

| 能力 | 说明 |

| 文件操作 | 读取、编辑、创建本地文档(Word、PDF、表格、PPT 等) |

| 多步骤自动化 | 分解复杂任务为子任务,并行执行,实时展示进度 |

| 跨应用联动 | Excel 数据自动流入 PPT 摘要,输入变化时自动更新 |

| 浏览器操作 | 通过 Chrome 扩展做网页研究、表单填写、数据抓取 |

| 外部工具连接 | 通过 MCP 连接 Slack、Notion、Figma、Google Workspace 等 |


Cowork vs Claude Code


Plaintext

┌──────────────────────────────────────────────────┐

│ Cowork 与 Claude Code 对比 │

├─────────────────────┬────────────────────────────┤

│ Cowork │ Claude Code │

├─────────────────────┼────────────────────────────┤

│ 面向知识工作者 │ 面向开发者 │

│ GUI 图形界面 │ Terminal 终端命令行 │

│ ❌ 不能执行代码 │ ✅ 可执行代码、跑测试 │

│ 操作文档和应用 │ 操作代码和项目 │

│ 沙盒 VM 隔离运行 │ 直接在本地终端运行 │

│ 任务前需确认计划 │ 可在会话内自主运行 │

│ 连接办公类工具 │ 连接开发类工具 │

├─────────────────────┴────────────────────────────┤

│ │

│ 一句话:Claude Code 改变了程序员的工作方式, │

│ Cowork 要改变其余所有人的工作方式。 │

│ │

└──────────────────────────────────────────────────┘


使用方式


打开 Claude Desktop → 切换到 Cowork 标签页


授权文件夹:指定允许 Claude 访问的本地文件夹


安装插件:根据岗位选择对应插件(产品管理、财务、法务、市场等 11 类官方插件)


描述任务:用自然语言说清想要的结果


Claude 展示执行计划,确认后自动执行,实时显示进度


_⚠️ 需要 Claude Pro($20/月)或以上订阅。Cowork 目前仍处于 Research Preview 阶段。_


什么时候用 Cowork?


| | |

| --- | --- |

| 场景 | 选择 |

| 写代码、跑测试、调试 | Claude Code |

| 分析报表、整理文档、做 PPT | Cowork |

| 调研竞品、抓取网页数据 | Cowork |

| 部署项目、CI/CD | Claude Code |

| 管理 Slack/Notion/Figma | Cowork |


9.8 一张图看清四者的关系与边界


Skills、Subagents、Plugins、Agent Teams 这四个概念容易混淆,下面用一张图理清它们的关系:


Plaintext

┌────────────────────────────────────────────────────────────────────┐

│ Skills · Subagents · Plugins · Agent Teams 全景关系图 │

├────────────────────────────────────────────────────────────────────┤

│ │

│ ┌─ Agent Teams ──────────────────────────────────────────────┐ │

│ │ │ │

│ │ Team Leader(主 Agent) │ │

│ │ ┌────────────────────────────────────┐ │ │

│ │ │ 可加载 Skills 可调用 Subagents │ │ │

│ │ │ 可使用 Plugins 可安装 MCP │ │ │

│ │ └────────────────────────────────────┘ │ │

│ │ │ 分发任务 │ 分发任务 │ │

│ │ ▼ ▼ │ │

│ │ ┌──────────┐ ┌──────────┐ │ │

│ │ │ Teammate │ │ Teammate │ ← 每个都是独立 Agent │ │

│ │ │ 前端工程师│ │ 后端工程师│ 有自己的上下文 │ │

│ │ │ (可加载 │ │ (可加载 │ 可加载 Skills │ │

│ │ │ Skills) │ │ Skills) │ 可调用 Subagents │ │

│ │ └──────────┘ └──────────┘ │ │

│ │ │ │

│ └────────────────────────────────────────────────────────────┘ │

│ │

├────────────────────────────────────────────────────────────────────┤

│ │

│ ┌─ Skill ─────────┐ ┌─ Subagent ────┐ ┌─ Plugin ──────────┐ │

│ │ │ │ │ │ │ │

│ │ 一张"任务卡片" │ │ 独立上下文的 │ │ Skills 的打包集合 │ │

│ │ │ │ 专业 Agent │ │ │ │

│ │ 注入到当前Agent │ │ │ │ 方便团队分发复用 │ │

│ │ 的上下文中执行 │ │ 执行完只返回 │ │ │ │

│ │ │ │ 总结给调用者 │ │ 一个 Plugin 可包含 │ │

│ │ 共享调用者的 │ │ │ │ 多个 Skills │ │

│ │ 上下文(会占用) │ │ 不污染调用者 │ │ │ │

│ │ │ │ 的上下文 │ │ 支持 marketplace │ │

│ └──────────────────┘ └───────────────┘ └────────────────────┘ │

│ │

├────────────────────────────────────────────────────────────────────┤

│ │

│ 快速选型判断: │

│ │

│ "我需要一套固定工作流" → Skill │

│ "我需要调研但不想污染上下文" → Subagent │

│ "我要把多个 Skill 分享给团队" → Plugin │

│ "我要多人并行干大活" → Agent Teams │

│ "任务简单,不涉及代码" → Cowork │

│ │

└────────────────────────────────────────────────────────────────────┘


| | | | | |

| --- | --- | --- | --- | --- |

| 维度 | Skill | Subagent | Plugin | Agent Teams |

| 本质 | 任务卡片/工作流 | 独立上下文的 Agent | Skills 的打包集合 | 多 Agent 并行协作 |

| 上下文 | 共享调用者上下文 | 独立上下文 | 同 Skill | 每个成员独立上下文 |

| 触发方式 | /命令 或自动匹配 | Claude 自主决定 | 安装后同 Skill | 用户指令或自动 |

| 适合场景 | 重复性工作流 | 调研、探索、分析 | 团队共享标准化流程 | 复杂项目并行开发 |

| 文件位置 | .claude/skills/ | 无独立文件 | .claude/plugins/ | 运行时动态创建 |

| 复用性 | 项目内复用 | 一次性 | 跨项目/跨团队复用 | 按需组建 |


第十章:上下文管理 — 核心中的核心


_"上下文管理是使用多 Agent 编程中最重要的事情。一旦上下文爆炸触发压缩,模型就会忘掉你的约束细节,返工明显变多。"_ _—— 实战经验_


10.1 理解上下文限制


Plaintext

┌──────────────────────────────────────────────────┐

│ 上下文窗口示意图 │

├──────────────────────────────────────────────────┤

│ │

│ ┌─────────────────────────────────────────┐ │

│ │ 上下文窗口 (~200K tokens) │ │

│ │ │ │

│ │ ┌───────────────────────────┐ │ │

│ │ │ 系统提示 + CLAUDE.md │ ← 始终保持│ │

│ │ └───────────────────────────┘ │ │

│ │ ┌───────────────────────────┐ │ │

│ │ │ Skills + Hooks 注入 │ ← 始终保持│ │

│ │ └───────────────────────────┘ │ │

│ │ ┌───────────────────────────┐ │ │

│ │ │ 对话历史 │ ← 越来越长│ │

│ │ │ 代码文件内容 │ │ │

│ │ │ 工具调用结果 │ │ │

│ │ │ ... │ │ │

│ │ └───────────────────────────┘ │ │

│ │ │ │

│ │ ⚠️ 超过限制 → 触发压缩 → 丢失细节! │ │

│ │ │ │

│ └─────────────────────────────────────────┘ │

│ │

│ 约 200K tokens ≈ 约 1.5 万行代码 │

│ 主 Agent 约 10 分钟就容易触发压缩 │

│ │

└──────────────────────────────────────────────────┘

相关文章

拒绝“毛坯房”:DSH 必备插件清单,打造你的私人智能体工作台

如果你刚接触 DeepSeek Harness(简称 DSH),第一感觉往往是“强大但简陋”。它像是一个刚刚搭好骨架的毛坯房,虽然地基稳固、管线齐全,但缺乏家具

DeepSeek全面开源核心推理框架DeepInfer:再掀AI降本风暴,让“高智商”算力走向平价

今天下午,备受瞩目的国产大模型领头羊 DeepSeek(深度求索)再次放出“科技炸弹”,宣布将支撑其线上亿级流量服务的核心推理框架—— DeepInfer 全面

中转站的「倍率」到底怎么算?把一张账单拆开看

倍率是中转站最常见的报价方式,也是最容易被误读的数字。0.8x 听起来像打八折,但它乘的是哪个价、按什么单位结算、缓存命中算不算,各家口径并不统一。这篇把一次请

DeepSeek Harness 开源爆火:一夜狂揽5万星,AI Agent的“Android时刻”来了?

一夜之间,AI开发者的朋友圈被一条“黑色鲸鱼”刷屏了。 8月13日晚间,DeepSeek正式发布了其首款Agent产品—— DeepSeek Harness(D