OpenClaw 多 Agent 实战指南
深入讲解如何在 OpenClaw 中创建和管理多个 AI Agent,打造你的智能助手团队
OpenClaw 多 Agent 实战指南
在上一篇文章中,我们介绍了 OpenClaw 的基础用法。但真正的强大之处在于它的多 Agent 系统——你可以创建多个具有不同性格、技能和职责的 AI 助手,协同工作。本文将详细介绍如何构建和管理多 Agent 系统。
为什么需要多 Agent?
单一 Agent 往往面临「全能但不精」的问题。多 Agent 架构让你可以:
- 专业化分工 - 每个 Agent 专注于特定领域
- 角色扮演 - 不同 Agent 有不同性格和语气
- 协同工作 - Agent 之间可以相互调用
- 场景隔离 - 不同场景使用不同 Agent
Agent 配置基础
2.1 默认 Agent 配置
查看当前配置:
openclaw config get agents
默认配置示例:
{
"agents": {
"defaults": {
"model": {
"primary": "minimax-cn/MiniMax-M2.5"
}
},
"list": [
{
"id": "main",
"identity": {
"name": "小光",
"emoji": "✨"
}
}
]
}
}
创建多个 Agent
3.1 在配置文件中定义
编辑 ~/.openclaw/openclaw.json:
{
"agents": {
"list": [
{
"id": "main",
"identity": {
"name": "小光",
"emoji": "✨"
},
"systemPrompt": "你是一个友善的 AI 助手,帮助用户解决日常问题。"
},
{
"id": "coder",
"identity": {
"name": "码农",
"emoji": "👨💻"
},
"systemPrompt": "你是一个资深程序员,专精于代码编写和调试。"
},
{
"id": "writer",
"identity": {
"name": "写作助手",
"emoji": "✍️"
},
"systemPrompt": "你是一个专业作家,擅长各种文风的写作。"
}
]
}
}
3.2 Agent 详细配置
每个 Agent 可以配置以下属性:
| 属性 | 说明 | 示例 |
|---|---|---|
id | 唯一标识符 | coder, writer |
name | 显示名称 | 码农 |
emoji | 头像 emoji | 👨💻 |
systemPrompt | 系统提示词 | 定义 Agent 行为 |
model | 使用的模型 | 可覆盖默认模型 |
skills | 绑定的技能 | ["code", "debug"] |
3.3 完整的 Agent 配置示例
{
"id": "coder",
"name": "专业程序员",
"emoji": "👨💻",
"model": {
"primary": "minimax-cn/MiniMax-M2.5"
},
"systemPrompt": "你叫码农,是一个拥有 10 年开发经验的资深程序员。你擅长:\n\n1. 前端开发(React, Vue, TypeScript)\n2. 后端开发(Node.js, Python, Go)\n3. 数据库设计\n4. 代码优化\n\n回答问题时,要简洁清晰,代码要规范易懂。",
"skills": [
"web-search",
"code-executor"
],
"tools": {
"allow": ["exec", "read", "browser"],
"deny": ["delete", "write"]
}
}
Agent 路由规则
4.1 按消息前缀切换
在对话中可以使用前缀切换 Agent:
@coder 帮我写一个 React 组件
@writer 帮我写一篇散文
4.2 按场景自动路由
配置自动路由规则:
{
"agents": {
"routing": {
"rules": [
{
"pattern": ".*编程.*|.*代码.*|.*bug.*",
"agent": "coder"
},
{
"pattern": ".*写作.*|.*文章.*|.*文案.*",
"agent": "writer"
}
]
}
}
}
4.3 按群聊隔离
{
"channels": {
"telegram": {
"groups": {
"-1001234567890": {
"agent": "coder"
},
"-1009876543210": {
"agent": "writer"
}
}
}
}
}
Agent 间的协作
5.1 子 Agent 调用
在提示词中可以让主 Agent 调用其他 Agent:
当你遇到复杂的编程问题时,可以调用 @coder Agent 帮助解答。
当你需要写作帮助时,可以调用 @writer Agent。
5.2 任务分发
使用工具让 Agent 协同工作:
# 示例:创建任务分发 Agent
{
"systemPrompt": "你是一个项目经理,根据用户需求分配任务给合适的 Agent:\n\n- 编程问题 → @coder\n- 写作需求 → @writer\n- 其他问题 → @main\n\n先理解用户需求,然后决定使用哪个 Agent。"
}
高级特性
6.1 Agent 记忆隔离
每个 Agent 可以有独立的记忆:
{
"agents": {
"list": [
{
"id": "coder",
"memory": {
"enabled": true,
"scope": "agent"
}
}
]
}
}
6.2 Agent 技能绑定
{
"agents": {
"list": [
{
"id": "coder",
"skills": {
"enabled": true,
"list": [
"code-analysis",
"debug-helper",
"code-review"
]
}
}
]
}
}
6.3 Agent 限流
{
"agents": {
"list": [
{
"id": "coder",
"rateLimit": {
"messages": 10,
"window": "1m"
}
}
]
}
}
实用场景示例
7.1 客服团队
┌─────────────────┐
│ 客服助手 │ ← 主 Agent
│ (接待分流) │
└────────┬────────┘
│
┌────┴────┐
▼ ▼
┌───────┐ ┌───────┐
│ 技术 │ │ 业务 │
│ 支持 │ │ 咨询 │
└───────┘ └───────┘
配置:
{
"agents": {
"list": [
{
"id": "support",
"name": "客服小助手",
"systemPrompt": "你负责接待用户,根据问题类型分流:\n- 技术问题 → @tech_support\n- 业务问题 → @biz_support\n- 其他 → 自己回答"
},
{
"id": "tech_support",
"name": "技术支持",
"systemPrompt": "你是技术专家,帮助用户解决技术问题。"
},
{
"id": "biz_support",
"name": "业务顾问",
"systemPrompt": "你是业务顾问,回答用户的业务相关问题。"
}
]
}
}
7.2 学习助手
┌─────────────────┐
│ 学习导师 │
│ (主 Agent) │
└────────┬────────┘
│
┌────┴────┐
▼ ▼
┌───────┐ ┌───────┐
│ 英语 │ │ 数学 │
│ 老师 │ │ 老师 │
└───────┘ └───────┘
管理与监控
8.1 查看 Agent 状态
openclaw agents list
8.2 切换当前 Agent
在对话中:
/agent coder
8.3 监控 Agent 使用
openclaw status
最佳实践
- Agent 数量适中 - 建议 3-5 个,过多会增加复杂度
- 职责单一 - 每个 Agent 专注一件事
- 清晰的命名 - 让人一眼看出 Agent 用途
- 充分的提示词 - 这是 Agent 性格的关键
- 测试后再上线 - 先在私聊中测试完善
常见问题
Q: Agent 数量有上限吗?
A: 没有硬性上限,但建议控制在 10 个以内。
Q: 不同 Agent 可以用不同模型吗?
A: 可以,每个 Agent 都可以单独配置模型。
Q: Agent 之间可以共享记忆吗?
A: 可以,通过配置 memory.scope 为 shared。
Q: 如何调试 Agent?
A: 使用 /debug 命令查看推理过程。
总结
多 Agent 系统是 OpenClaw 的强大特性,通过本文你应该已经掌握:
- 创建多个 Agent
- 配置 Agent 属性
- 设置路由规则
- 实现 Agent 协作
- 高级特性使用
合理运用多 Agent 系统,可以让你的 AI 助手更智能、更专业!
有问题欢迎在评论区交流!🦞
相关阅读: