OpenClaw 多 Agent 协同工作:方案设计深度解析
📌 声明:本文内容基于 OpenClaw 官方文档撰写,所有技术细节均已通过官方文档验证。
📚 参考来源:OpenClaw 官方文档[1]
一、为什么需要多 Agent 协同?
在 AI 智能体应用场景中,单一智能体往往难以满足复杂需求:
不同任务需要不同模型:日常聊天用快速模型,深度编程用高推理模型 多用户共享服务器:家庭成员或团队成员各自需要独立的 AI 助手 人格与权限隔离:工作助手和个人助手需要不同的记忆、技能和权限 渠道分流:WhatsApp 用于日常沟通,Telegram 用于深度工作
OpenClaw 的多 Agent 协同方案正是为解决这些问题而生。
二、核心概念:什么是 "一个 Agent"?
在 OpenClaw 架构中,一个 Agent(智能体)是一个完全独立的大脑,拥有自己的:
2.1 独立工作区(Workspace)
每个智能体有自己的工作目录,包含:
AGENTS.md- 运行指令和行为准则SOUL.md- 人格设定和语气风格USER.md- 用户档案TOOLS.md- 工具使用说明skills/- 智能体专属技能
2.2 独立状态目录(agentDir)
存储智能体的:
认证配置文件( auth-profiles.json)模型注册表 每智能体专属配置
2.3 独立会话存储(Sessions)
聊天历史和路由状态存储在:
~/.openclaw/agents/<agentId>/sessions/
关键点:认证配置是每智能体独立的,主智能体凭证不会自动共享。这意味着不同智能体可以使用不同的模型 API 密钥、不同的权限配置。
三、架构设计:单一 Gateway,多智能体并行
┌─────────────────────────────────────────────────────────────┐
│ Gateway 网关 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ WhatsApp │ │ Telegram │ │ Discord │ ... │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
│ └────────────────┼────────────────┘ │
│ │ │
│ ┌─────┴─────┐ │
│ │ Bindings │ ← 路由规则 │
│ └─────┬─────┘ │
│ ┌────────────────┼────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ Agent: │ │ Agent: │ │ Agent: │ │
│ │ main │ │ work │ │ family │ │
│ │ │ │ │ │ │ │
│ │ workspace │ │ workspace │ │ workspace │ │
│ │ sessions │ │ sessions │ │ sessions │ │
│ │ auth │ │ auth │ │ auth │ │
│ └───────────┘ └───────────┘ └───────────┘ │
└─────────────────────────────────────────────────────────────┘
核心优势:
单一 Gateway 进程管理所有渠道连接 智能体之间完全隔离,互不干扰 灵活的路由规则,支持多种分发策略
四、路由机制:Binding 绑定系统
4.1 路由规则优先级(最具体优先)
OpenClaw 使用确定性路由,按以下优先级匹配:
| 优先级 | 匹配条件 | 说明 |
|---|---|---|
| 1 | peer 精确匹配 |
指定的 DM/群组/频道 |
| 2 | parentPeer 匹配 |
线程继承 |
| 3 | guildId + roles |
Discord 角色路由 |
| 4 | guildId |
Discord 服务器 |
| 5 | teamId |
Slack 团队 |
| 6 | accountId |
渠道账户匹配 |
| 7 | accountId: "*" |
渠道级默认 |
| 8 | fallback | 默认智能体 |
4.2 配置示例:两个 WhatsApp → 两个智能体
{
agents: {
list: [
{
id: "home",
default: true,
name: "Home",
workspace: "~/.openclaw/workspace-home",
agentDir: "~/.openclaw/agents/home/agent",
},
{
id: "work",
name: "Work",
workspace: "~/.openclaw/workspace-work",
agentDir: "~/.openclaw/agents/work/agent",
},
],
},
// 绑定规则
bindings: [
{ agentId: "home", match: { channel: "whatsapp", accountId: "personal" } },
{ agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },
],
channels: {
whatsapp: {
accounts: {
personal: {},
biz: {},
},
},
},
}
4.3 场景:同一 WhatsApp,不同用户路由到不同智能体
{
agents: {
list: [
{ id: "alex", workspace: "~/.openclaw/workspace-alex" },
{ id: "mia", workspace: "~/.openclaw/workspace-mia" },
],
},
bindings: [
{
agentId: "alex",
match: {
channel: "whatsapp",
peer: { kind: "direct", id: "+15551230001" }
}
},
{
agentId: "mia",
match: {
channel: "whatsapp",
peer: { kind: "direct", id: "+15551230002" }
}
},
],
}
五、Agent 间通信:Session Tools 会话工具
OpenClaw 提供四个核心会话工具,实现智能体间的协同:
5.1 sessions_list
列出所有会话,支持过滤:
// 参数
{
kinds: ["main", "group", "cron", "hook", "node"], // 会话类型
limit: 200, // 最大行数
activeMinutes: 60, // 活跃时间过滤
messageLimit: 5, // 包含最近消息数
}
5.2 sessions_history
获取指定会话的聊天记录:
{
sessionKey: "agent:main:whatsapp:group:123@g.us",
limit: 50,
includeTools: false, // 是否包含工具调用记录
}
5.3 sessions_send
向另一个会话发送消息(实现 Agent 间通信):
{
sessionKey: "agent:work:main",
message: "请帮我处理这个任务...",
timeoutSeconds: 30, // 等待回复超时
}
回复循环机制:
发送后自动进入回复循环 最大轮数可配置(默认 5 轮) 回复 REPLY_SKIP可停止循环
5.4 sessions_spawn
生成子智能体执行独立任务:
{
task: "分析这个代码仓库并生成报告",
label: "代码分析",
agentId: "coding", // 可选:指定其他智能体
model: "anthropic/claude-opus-4-6", // 可选:指定模型
runTimeoutSeconds: 300, // 超时时间
sandbox: "require", // 要求沙箱环境
}
特点:
非阻塞调用,立即返回 runId和childSessionKey完成后自动将结果通告回请求者 子智能体默认不能再次调用 sessions_spawn(防止无限嵌套)
六、安全与权限控制
6.1 每智能体沙箱隔离
{
agents: {
list: [
{
id: "personal",
sandbox: { mode: "off" }, // 个人智能体无沙箱
},
{
id: "family",
sandbox: {
mode: "all", // 始终沙箱隔离
scope: "agent", // 每智能体一个容器
docker: {
setupCommand: "apt-get update && apt-get install -y git curl",
},
},
tools: {
allow: ["read"],
deny: ["exec", "write", "edit", "apply_patch"],
},
},
],
},
}
6.2 Agent-to-Agent 通信控制
默认关闭,需要显式启用:
{
tools: {
agentToAgent: {
enabled: true,
allow: ["home", "work"], // 允许通信的智能体列表
},
},
}
6.3 群组提及模式
为群组智能体设置触发关键词:
{
agents: {
list: [{
id: "family",
groupChat: {
mentionPatterns: ["@family", "@familybot", "@Family Bot"],
},
}],
},
}
七、典型应用场景
场景 1:按渠道分配智能体
WhatsApp → 日常聊天智能体(快速模型) Telegram → 深度工作智能体(高推理模型)
场景 2:家庭共享服务器
每个家庭成员有独立智能体 各自的记忆、技能、权限隔离 统一 Gateway 管理
场景 3:企业多团队支持
开发团队使用 coding智能体运营团队使用 social智能体不同 Discord 频道绑定不同智能体
场景 4:子任务委托
主智能体接收复杂任务 使用 sessions_spawn委托给专业子智能体结果自动返回给用户
八、最佳实践建议
8.1 工作区隔离
每个智能体使用独立工作区 不要在智能体间共享 agentDir需要共享凭证时,手动复制 auth-profiles.json
8.2 路由规则设计
将最具体的规则放在前面 为渠道设置默认智能体作为兜底 使用 openclaw agents list --bindings验证配置
8.3 安全配置
公开访问的智能体启用沙箱 限制敏感工具( write,exec)群组智能体设置提及触发
8.4 监控与维护
定期检查会话存储大小 配置会话维护策略( session.maintenance)使用 /status命令查看会话状态
九、总结
OpenClaw 的多 Agent 协同方案提供了:
| 特性 | 说明 |
|---|---|
| 🧠 完全隔离 | 每个智能体独立工作区、会话、认证 |
| 🔀 灵活路由 | 确定性绑定规则,多维度匹配 |
| 🤝 Agent 通信 | 会话工具实现跨智能体协作 |
| 🔒 安全控制 | 每智能体沙箱、工具权限、通信白名单 |
| 📱 多渠道支持 | WhatsApp、Telegram、Discord 等 20+ 渠道 |
这套架构让单一服务器能够服务多个用户、多种场景,同时保持各智能体的独立性和安全性,是实现企业级 AI 助手服务的理想选择。
本文基于 OpenClaw v2026.3.x 官方文档撰写,技术细节以官方文档为准。
参考链接:
OpenClaw 官方文档[2] 多智能体路由[3] 会话工具[4] GitHub 开源仓库[5]
引用链接
[1]OpenClaw 官方文档: https://docs.openclaw.ai/concepts/multi-agent
[2]OpenClaw 官方文档: https://docs.openclaw.ai
[3]多智能体路由: https://docs.openclaw.ai/concepts/multi-agent
[4]会话工具: https://docs.openclaw.ai/concepts/session-tool
[5]GitHub 开源仓库: https://github.com/openclaw/openclaw
夜雨聆风