Claude AI 代理团队完全指南:让多个 AI 协同工作

8 阅读13分钟

Claude AI 代理团队完全指南:让多个 AI 协同工作

在开始使用代理团队之前,建议先做一个准备工作:让 Claude 学习代理团队的官方文档。你可以提供文档链接,让它生成一份本地参考指南,这样在后续构建过程中查询会更快速。


如何编写提示词

代理团队的成本较高,速度也相对较慢,但如果使用得当,输出质量会显著提升。好消息是,你可以用接近自然语言的方式来调用它们。

基本的提示词模式是:指定使用哪个模型(Sonnet 或 Opus)组建多少个代理,然后为每个代理定义角色、职责和协作方式。

提示词的关键要素包括:首先设定一个明确的目标,因为代理启动时只能看到你输入的提示,没有其他上下文。例如:”目标是构建一个可运行的全栈应用,配备 REST API 和 React 前端。最终结果应该是一个可以在本地主机上查看的运行应用,包含用户和帖子功能,以及一份 QA 测试报告。”

然后定义团队结构:”组建一个三人团队,使用 Sonnet 模型。第一个是后端开发者,第二个是前端开发者,第三个是质量保证人员。”在描述中要明确协作流程:”后端开发者完成后,给前端开发者发消息。前端开发者等待后端的消息,完成后把所有内容发给质量保证人员。”最后说明最终交付物:运行中的应用、测试报告和关键决策文档。


该做与不该做的事项

务必做到:

  • 让每个代理拥有特定的文件:避免代理共享文件,防止互相覆盖工作成果
  • 定义明确的输出:不要使用模糊的交付物描述
  • 明确指定通信对象:清楚说明每个代理应该与谁沟通以及沟通的目的
  • 控制团队规模在 3-5 个:大规模代理群(10 个以上)成本会成倍增加
  • 提供完整的背景信息:代理启动时没有历史上下文,需要在提示词中提供所有必要信息

代理团队的工作原理

以一个实际案例来说明:创建一个研究团队,目标是整理工作区,包含研究员、战略家和评论家三个角色。

系统会创建团队和待办事项清单,然后并行启动三个代理。每个代理收到的是主代理发送的角色定义:”你是研究团队的研究员,你的工作内容是……”同时包含协作指令:”完成后,用消息工具把你的分析结果发给战略家和评论家。”

在执行过程中,系统会实时更新进度。当研究员完成任务后,主代理会确认:”你把结构化清单发给战略家和评论家了吗?请确保两位队友都收到了。”研究员确认后,其他代理就能基于这些信息继续工作。

所有任务完成后,主代理会收集成果并关闭各个代理:”保存你的工作,准备关闭。”最终输出一份详尽的文档,比如发现了 11 个文件缺口的分析报告。

如果使用终端环境(特别是配合 Tmux),你可以在多个窗格中同时看到不同代理的工作状态和思考过程。例如前端开发者(蓝色)、后端开发者(绿色)和质量保证代理(黄色)各自在独立窗格中工作,你可以实时查看他们的进度,甚至与他们沟通或提供额外信息。


核心运作规则

代理团队有三个关键运作规则:

1. 各自拥有领地

每个代理应该有自己的文件,只编辑自己负责的内容,避免冲突。

2. 直接私信沟通

代理之间可以直接交流,不需要通过主代理作为中间人。

3. 并行工作

代理可以同时工作,不一定要按顺序交接。

代理启动时会继承主会话的权限设置(例如 bash 命令权限),并且可以访问你的文件、MCP 服务器和技能工具。

一个重要的功能是计划审批模式:让所有代理先制定计划,经主代理批准后再执行,这能有效防止工作方向偏离。


常见陷阱与解决方案

问题 1:不断请求许可

解决方案:预先批准某些工具或指令,避免代理频繁暂停等待授权。

问题 2:交付成果被覆盖

解决方案:明确指定文件所有者,确保每个代理只操作自己的文件。

问题 3:代理闲置

解决方案:在提示词和计划中为每个代理分配明确的工作或依赖关系。

问题 4:成本过高

解决方案:减少代理数量,优先使用成本较低的模型。

问题 5:错误终止导致工作丢失

解决方案:会话结束时,主代理会发送”关闭请求”,让各代理先保存临时文件,确认准备就绪后再干净地关闭,避免未清理的残局。


何时使用代理团队?

代理团队适用于以下场景:

  • 任务复杂度高,需要多个专业领域的协作
  • 需要并行处理多个模块或功能
  • 代理之间需要频繁沟通和任务分配
  • 对输出质量要求极高

不适合使用代理团队的场景:

  • 简单的顺序流程任务
  • 单文件或小规模修改
  • 预算有限,需要控制 Token 成本

对于这些简单场景,使用普通的子代理或在同一会话中完成即可。


实战提示词示例

下面是两个完整的提示词示例,展示如何构建代理团队。

示例 1:简单的三人开发团队

"目标:构建一个待办事项应用,包含 Node.js 后端和 React 前端。

用 Sonnet 组建一个三人团队:

  1. 后端开发者 - 负责创建 Express API,包含用户认证和待办事项的 CRUD 操作。完成后发消息给前端开发者,提供 API 文档。文件:backend/ 目录下的所有文件。
  2. 前端开发者 - 等待后端开发者的消息。收到 API 文档后,构建 React 界面,实现登录、注册和待办事项管理功能。完成后通知 QA 测试员。文件:frontend/ 目录下的所有文件。
  3. QA 测试员 - 等待前端开发者完成通知。进行端到端测试,编写测试报告,列出所有发现的问题和改进建议。文件:qa-report.md

最终交付物:可运行的全栈应用 + 完整的测试报告。"

示例 2:内容创作团队

"目标:为技术博客创作一篇关于 AI 代理的深度文章。

用 Opus 组建一个四人团队:

  1. 研究员 - 收集关于 AI 代理的最新资料、论文和案例研究。整理成结构化文档发给撰稿人和编辑。文件:research-notes.md
  2. 撰稿人 - 基于研究员提供的资料,撰写 3000 字的技术文章,包含代码示例和实践建议。完成初稿后发给编辑和技术审核员。文件:article-draft.md
  3. 编辑 - 审查文章的语言、结构和可读性,提出修改建议。文件:editing-feedback.md
  4. 技术审核员 - 验证文章中的技术细节、代码示例的准确性。文件:technical-review.md

最终交付物:经过多轮审核的高质量技术文章 + 审核意见汇总。"


Claude 代理团队的运行过程详解

当你提交一个代理团队提示词后,Claude 会经历以下几个阶段:

阶段 1:解析与规划(5-10 秒)

主代理首先会解析你的提示词,识别出:

  • 团队目标和最终交付物
  • 需要创建多少个代理
  • 每个代理的角色和职责
  • 代理之间的依赖关系和通信流程
  • 文件分配和权限设置

这个阶段你会看到类似这样的输出:

正在创建代理团队...
✓ 已识别 3 个代理角色
✓ 已建立任务依赖关系
✓ 已分配文件权限

阶段 2:代理初始化(10-15 秒)

主代理会并行启动所有子代理。每个代理会收到:

  • 它的角色定义和具体任务
  • 可以访问的文件列表
  • 需要与哪些代理通信
  • 继承的权限设置(bash、文件操作等)

你会看到:

正在初始化代理...
→ 后端开发者 (agent-1) 已启动
→ 前端开发者 (agent-2) 已启动
→ QA 测试员 (agent-3) 已启动

阶段 3:并行执行(时间不定)

这是最核心的阶段。代理们开始工作:

  • 独立代理会立即开始执行任务
  • 有依赖关系的代理会等待前置任务完成
  • 代理之间通过消息系统通信
  • 主代理会定期向你汇报进度

如果你在 Tmux 终端中运行,你会看到多个窗格同时显示不同代理的工作状态:

[蓝色窗格 - 后端开发者]
正在创建 Express 服务器...
✓ 已创建 server.js
✓ 已配置数据库连接
正在实现用户认证...

[绿色窗格 - 前端开发者]
等待后端 API 文档...
[待机中]

[黄色窗格 - QA 测试员]
等待前端完成...
[待机中]

阶段 4:代理间通信(实时)

当一个代理完成任务后,它会主动发消息给下一个代理:

[后端开发者 → 前端开发者]
"API 已完成。文档在 api-docs.md。
主要端点:
- POST /api/auth/login
- POST /api/auth/register
- GET /api/todos
- POST /api/todos
- PUT /api/todos/:id
- DELETE /api/todos/:id"

[前端开发者]
收到消息,开始构建界面...

阶段 5:质量检查与汇总(最后 1-2 分钟)

所有代理完成任务后,主代理会:

  • 收集所有输出文件
  • 验证交付物是否完整
  • 生成最终报告
  • 向每个代理发送关闭请求
正在收集成果...
✓ 后端代码已保存
✓ 前端代码已保存
✓ 测试报告已生成

正在关闭代理...
→ 后端开发者已安全关闭
→ 前端开发者已安全关闭
→ QA 测试员已安全关闭

任务完成!

典型输出结果展示

让我们看看一个完整的代理团队任务的输出是什么样的。

场景:使用三人团队构建一个简单的博客系统

最终输出文件结构

project/
├── backend/
│   ├── server.js
│   ├── routes/
│   │   ├── auth.js
│   │   └── posts.js
│   ├── models/
│   │   ├── User.js
│   │   └── Post.js
│   └── package.json
├── frontend/
│   ├── src/
│   │   ├── App.jsx
│   │   ├── components/
│   │   │   ├── Login.jsx
│   │   │   ├── PostList.jsx
│   │   │   └── CreatePost.jsx
│   │   └── api/
│   │       └── client.js
│   └── package.json
├── qa-report.md
└── project-summary.md

主代理的最终报告(project-summary.md)

# 博客系统开发完成报告

## 项目概述
成功构建了一个全栈博客系统,包含用户认证和文章管理功能。

## 团队协作情况
- 后端开发者:完成时间 8 分钟,创建了 6 个文件
- 前端开发者:完成时间 12 分钟,创建了 8 个文件
- QA 测试员:完成时间 5 分钟,发现 3 个问题

## 关键决策
1. 使用 JWT 进行用户认证
2. 采用 MongoDB 作为数据库
3. 前端使用 React + Vite
4. 实现了基本的错误处理和输入验证

## 已知问题(来自 QA 报告)
1. 登录失败时错误提示不够明确
2. 文章列表缺少分页功能
3. 建议添加文章搜索功能

## 如何运行
1. 后端:cd backend && npm install && npm start
2. 前端:cd frontend && npm install && npm run dev
3. 访问 http://localhost:5173

## Token 使用统计
- 总消耗:约 45,000 tokens
- 后端开发者:15,000 tokens
- 前端开发者:22,000 tokens
- QA 测试员:8,000 tokens

QA 测试报告(qa-report.md)节选

# QA 测试报告

## 测试环境
- Node.js v18.17.0
- Chrome 120.0

## 功能测试结果

### ✅ 通过的测试
1. 用户注册功能 - 正常工作
2. 用户登录功能 - 正常工作
3. 创建文章功能 - 正常工作
4. 查看文章列表 - 正常工作
5. 编辑文章功能 - 正常工作
6. 删除文章功能 - 正常工作

### ⚠️ 发现的问题
1. **错误提示不明确**(优先级:中)
   - 位置:Login.jsx:45
   - 问题:登录失败时只显示"登录失败",没有说明具体原因
   - 建议:区分"用户名不存在"和"密码错误"

2. **缺少分页**(优先级:高)
   - 位置:PostList.jsx
   - 问题:如果文章很多,页面会很长
   - 建议:实现分页或无限滚动

3. **性能问题**(优先级:低)
   - 问题:每次编辑文章都会重新加载整个列表
   - 建议:使用局部更新

## 安全性检查
✅ 密码已加密存储
✅ JWT token 有过期时间
✅ API 端点有认证保护
⚠️ 建议添加请求频率限制

## 总体评价
项目基本功能完整,代码质量良好。建议优先解决分页问题。

性能与成本分析

根据实际使用经验,这里是不同规模任务的性能数据:

小型任务(3 个代理,简单应用)

  • 执行时间:15-25 分钟
  • Token 消耗:30,000-50,000
  • 成本(Sonnet):约 $0.15-0.25
  • 成本(Opus):约 $0.75-1.25

中型任务(4-5 个代理,复杂应用)

  • 执行时间:30-50 分钟
  • Token 消耗:80,000-150,000
  • 成本(Sonnet):约 $0.40-0.75
  • 成本(Opus):约 $2.00-3.75

大型任务(5+ 个代理,企业级项目)

  • 执行时间:1-2 小时
  • Token 消耗:200,000-500,000
  • 成本(Sonnet):约 $1.00-2.50
  • 成本(Opus):约 $5.00-12.50

优化建议:

  1. 对于简单任务使用 Sonnet,复杂任务才用 Opus
  2. 控制代理数量在 3-5 个
  3. 明确定义每个代理的职责,避免重复工作
  4. 使用计划审批模式,防止代理跑偏浪费 token

高级技巧:混合使用不同模型

你可以为不同代理指定不同的模型:

"用 Opus 创建主代理,但子代理使用 Sonnet:

  1. 架构师(Opus)- 负责整体设计和关键决策
  2. 前端开发者(Sonnet)- 实现界面
  3. 后端开发者(Sonnet)- 实现 API
  4. 测试员(Sonnet)- 执行测试"

这样可以在保证质量的同时降低成本。关键的架构决策用 Opus,具体实现用 Sonnet。


总结

代理团队是 Claude 最强大的功能之一,但也是最昂贵的。关键是要:

  1. 写清晰的提示词,明确目标和交付物
  2. 合理分配代理角色和文件权限
  3. 建立清晰的通信流程
  4. 使用计划模式防止跑偏
  5. 根据任务复杂度选择合适的模型

掌握这些技巧后,你就能用代理团队处理真正复杂的项目,让多个专业化的 AI 协同工作,完成单个代理难以胜任的任务。