多 Agent 协作:如何用 OpenClaw 构建 AI 团队
一个 Agent 干活累,多个 Agent 协作快!
🤔 什么是多 Agent 协作?
就像一个公司有不同岗位:
- 👨💻 前端工程师
- 👩💻 后端工程师
- 🧪 测试工程师
- 📋 产品经理
OpenClaw 可以让你创建多个 Agent,分别负责不同工作。
🏗️ 架构设计
用户请求
│
▼
┌───────────────┐
│ 总控 Agent │ ◄── 协调整个工作流
└───────┬───────┘
│
┌──────┼──────┐
▼ ▼ ▼
┌────────┐┌────────┐┌────────┐
│ 研究 ││ 写作 ││ 审核 │
│ Agent ││ Agent ││ Agent │
└────────┘└────────┘└────────┘
│ │ │
└──────┼──────┘
│
▼
最终输出⚙️ 配置示例
yaml
agents:
# 总控 Agent
coordinator:
model: gpt-4
skills:
- task分解
- agent调用
# 研究 Agent
researcher:
model: gpt-4
skills:
- web-search
- summarize
# 写作 Agent
writer:
model: gpt-4
skills:
- document
- markdown
# 审核 Agent
reviewer:
model: gpt-4
skills:
- grammar
- fact-check💡 使用场景
场景 1:写一篇研究报告
用户输入:
帮我写一篇关于 AI Agent 发展现状的报告协作流程:
1. coordinator 分解任务
→ 需要:调研 + 写作 + 审核
2. researcher 收集信息
→ 搜索 AI Agent 最新动态
→ 整理成要点
3. writer 生成初稿
→ 根据要点写报告
→ 添加图表和数据
4. reviewer 审核
→ 检查语法错误
→ 验证数据准确性
5. coordinator 汇总输出
→ 返回最终报告场景 2:代码审查
coordinator → 分发 PR
↓
┌─────────────┼─────────────┐
▼ ▼ ▼
安全检查 性能检查 代码风格
│ │ │
└─────────────┼─────────────┘
↓
汇总审查意见场景 3:客服系统
用户问题
│
▼
┌─────────────┐
│ 客服 Agent │ ← 判断意图
└──────┬──────┘
│
┌────┼────┐
▼ ▼ ▼
技术 业务 投诉
Agent Agent Agent
│ │ │
└────┼────┘
│
▼
回复用户📝 代码实现
javascript
// 调用其他 Agent
async function callAgent(agentName, task) {
const response = await openclaw.invoke(agentName, task);
return response;
}
// 工作流编排
async function researchAndWrite(topic) {
// 1. 研究
const research = await callAgent('researcher', {
task: `调研 ${topic} 相关信息`
});
// 2. 写作
const draft = await callAgent('writer', {
task: `根据以下要点写文章:${research}`
});
// 3. 审核
const review = await callAgent('reviewer', {
task: `审核这篇文章:${draft}`
});
// 4. 返回
return review.passed ? draft : await revise(draft, review.issues);
}🎯 最佳实践
| 原则 | 说明 |
|---|---|
| 单一职责 | 每个 Agent 只做一件事 |
| 清晰接口 | 定义好 Agent 之间的输入输出 |
| 错误处理 | 单个 Agent 失败不影响整体 |
| 成本控制 | 避免不必要的重复调用 |
🚀 起步
yaml
# 最简单的多 Agent
agents:
agent-a:
model: gpt-4
agent-b:
model: gpt-4
coordinator:
model: gpt-4
skills:
- agent-call想了解更多?查看 多 Agent 协作教程