一个 Agent 能干活,一群 Agent 能干大事。但如果没有好的协调机制,一群 Agent 就是一群无头苍蝇。这篇指南教你打造高效 Agent 团队。
| 架构 | 描述 | 适用场景 |
|---|---|---|
| Hub-Spoke | 一个协调者 + 多个执行者 | 简单任务分配 |
| Peer-to-Peer | Agent 之间平等协作 | 去中心化任务 |
| Hierarchical | 多层级管理结构 | 复杂项目管理 |
| Swarm | 自组织群体智能 | 大规模并行任务 |
# SOUL.md - 角色定义示例
## 角色:项目协调者
你是团队的协调者,负责:
1. 接收用户需求并分解为子任务
2. 根据每个 Agent 的能力分配任务
3. 跟踪任务进度,处理异常
4. 汇总结果并交付给用户
## 团队成员
- 代码 Agent:负责代码编写和审查
- 文档 Agent:负责文档生成和维护
- 测试 Agent:负责测试用例和执行
- 部署 Agent:负责部署和运维# 通过 sessions_spawn 创建子 Agent
# 协调者 Agent 接收任务后,按需创建子 Agent
# 创建代码编写子 Agent
sessions_spawn --task "编写用户认证模块" \
--agent-id "code-agent" \
--label "auth-module"
# 创建文档生成子 Agent
sessions_spawn --task "生成 API 文档" \
--agent-id "doc-agent" \
--label "api-docs"
# 等待所有子 Agent 完成
sessions_yield --message "等待子任务完成"# 任务分配逻辑示例
function assignTask(task, agents) {
// 1. 过滤有能力处理的 Agent
const capable = agents.filter(a =>
a.skills.includes(task.requiredSkill)
);
// 2. 按负载排序,选择最空闲的
capable.sort((a, b) => a.currentLoad - b.currentLoad);
// 3. 分配任务
return capable[0];
}# Agent 间消息传递
sessions_send --session-key "code-agent" \
--message "用户认证模块已完成,请开始编写测试用例"
# 事件广播
# 当某个 Agent 完成任务时,广播事件
openclaw events emit --event "task-completed" \
--data '{"task": "auth-module", "agent": "code-agent"}'Agent A → Agent B → Agent C,按顺序处理
# 代码编写 → 代码审查 → 测试 → 部署
1. code-agent: 编写代码
2. review-agent: 审查代码
3. test-agent: 运行测试
4. deploy-agent: 部署上线将大任务拆分给多个 Agent 并行处理,然后汇总结果
# 大规模数据分析
1. 协调者将数据分成 N 份
2. N 个分析 Agent 并行处理
3. 汇总 Agent 合并所有结果
4. 输出最终报告一个 Agent 执行,另一个 Agent 审查,确保质量
多个 Agent 从不同角度分析问题,通过辩论得出最优解