OpenClaw 多智能体(Multi-Agent)核心机制详解
OpenClaw 多智能体(Multi-Agent)核心机制详解
OpenClaw 多智能体体系支持在单个网关进程中运行多个完全隔离的智能体实例,每个智能体拥有独立工作区、会话存储、认证配置与工具权限,可按消息来源、渠道、账号、用户 / 群组实现精准路由,同时提供并行任务分治、在线状态感知、企业级委托代理三大扩展能力。本文完整覆盖多智能体的隔离架构、路由规则、并行通道、状态管理与企业委托设计。
一、多智能体核心定位与隔离架构
1.1 什么是一个独立智能体
OpenClaw 中一个智能体是完整隔离的决策单元,拥有独占的运行环境:
独立工作区:专属文件、人格配置(
AGENTS.md/SOUL.md)、本地技能独立状态目录:认证配置、模型注册表、智能体配置
独立会话存储:聊天历史、路由状态、上下文数据
独立技能集:工作区私有技能优先于共享技能
独立认证:不共享主智能体凭证,如需复用需手动复制配置文件
1.2 核心文件路径
配置文件:~/.openclaw/openclaw.json
系统状态:~/.openclaw/
智能体工作区:~/.openclaw/workspace-<agentId>
智能体状态:~/.openclaw/agents/<agentId>/agent/
会话记录:~/.openclaw/agents/<agentId>/sessions/1.3 单智能体默认模式
未配置时系统自动运行 main 默认智能体:
工作区:
~/.openclaw/workspace会话键:
agent:main:<mainKey>状态目录:
~/.openclaw/agents/main/agent
二、智能体路由规则与绑定机制
多智能体的核心是消息绑定路由,遵循最精确匹配优先原则,所有匹配条件为AND 逻辑。
2.1 路由匹配优先级(从高到低)
精确用户 / 群组 / 频道(
peer)匹配线程父会话(
parentPeer)匹配Discord 服务器 + 角色(
guildId+roles)匹配Discord 服务器(
guildId)匹配Slack 团队(
teamId)匹配渠道账号(
accountId)匹配全渠道(
channel:"*")匹配回退默认智能体
2.2 绑定配置语法
通过 bindings 配置路由规则,格式:
{
"agentId": "目标智能体ID",
"match": {
"channel": "渠道名",
"accountId": "渠道账号ID",
"peer": { "kind": "direct/group", "id": "用户/群组ID" }
}
}2.3 典型路由场景
双 WhatsApp 账号分流
个人号路由到home智能体,工作号路由到work智能体。按渠道分流
WhatsApp 轻量对话走chat智能体,Telegram 深度任务走opus智能体。同渠道单用户精细化路由
WhatsApp 默认走chat,指定用户私聊走opus。专属群组智能体
家庭群绑定独立family智能体,开启 @提及触发与工具限制。单账号多用户隔离
一个 WhatsApp 号,不同发送者路由到不同智能体,实现多人共用隔离。
三、并行专家通道:高吞吐任务分治
并行专家通道用于解决资源竞争问题,将不同类型任务分配给专属智能体通道,避免阻塞。
3.1 设计原则
通道仅在解决真实瓶颈时提升性能:
会话锁:同一会话仅允许单次运行
模型容量:全局共享提供商配额
工具容量:Shell / 浏览器等为物理瓶颈
上下文预算:长会话降低后续响应速度
3.2 分阶段落地
阶段 1:通道契约
定义每个通道的职责、非目标任务、聊天预算、交接规则、工具权限。阶段 2:优先级与并发控制
配置全局并发数、子智能体并发数、消息队列策略,保障高优先级任务。阶段 3:协调器模式
新增协调智能体,管理任务分配、去重、跨通道交接,仅在通道稳定后启用。
3.3 最小通道契约模板
# 通道契约
## 负责任务
- 专属处理场景
## 不负责任务
- 需交接的场景
## 聊天预算
- 快速问题直接回复
- 重型任务简短确认后后台执行
## 交接规则
- 目标通道+目标+上下文+下一步动作
## 工具策略
- 最小可用工具集四、在线状态(Presence)感知体系
Presence 是网关与客户端的轻量在线感知系统,用于展示连接状态与设备信息。
4.1 状态来源
网关自身:启动时自动生成状态条目
WebSocket 连接:客户端握手后更新状态
系统事件信标:客户端周期性上报状态
节点连接:设备节点接入时生成状态
4.2 核心特性
合并去重:以
instanceId为唯一键,避免重复条目自动过期:超过 5 分钟的条目自动清理
数量限制:最大存储 200 条,淘汰最旧条目
回环地址忽略:SSH 隧道的 127.0.0.1 不覆盖真实 IP
4.3 消费者与调试
主要用于 macOS 客户端「实例」标签页展示
调试:调用
system-presence接口查看原始状态列表重复条目排查:确保客户端发送稳定
instanceId
五、企业级委托代理(Delegate)架构
委托架构将多智能体从个人场景扩展到组织级部署,智能体以独立身份代用户执行操作,不模拟真人身份。
5.1 委托核心定义
委托智能体:
拥有独立组织账号(邮箱、昵称、日历)
以代理身份执行操作,显示「代 XXX 发送」
遵循最小权限与组织策略
可配置自主操作与人工审批边界
5.2 三级能力模型
Tier1 只读 + 草稿:仅读取数据、生成草稿,需人工确认发送
Tier2 代发:可代发消息、创建日历,显示代理标识
Tier3 主动执行:定时任务自主运行,异步交付结果
5.3 前置安全加固
硬阻止规则:写入
SOUL.md/AGENTS.md,禁止越权操作工具限制:白名单仅开放必要工具
沙箱隔离:全量沙箱运行,隔离主机资源
审计日志:留存会话、定时任务、身份提供商日志
5.4 部署步骤
创建委托智能体:
openclaw agents add delegate配置身份提供商委托权限(Microsoft 365/Google Workspace)
绑定渠道路由规则
独立配置认证文件,不共享主智能体凭证
六、单智能体维度:沙箱与工具独立管控
OpenClaw 支持按智能体配置沙箱与工具策略,实现精细化权限隔离。
6.1 沙箱独立配置
{
"id": "family",
"sandbox": {
"mode": "all",
"scope": "agent",
"docker": { "setupCommand": "apt update && apt install -y git" }
}
}6.2 工具独立管控
支持 allow/deny 列表,独立于全局工具策略:
{
"id": "family",
"tools": {
"allow": ["read", "session_status"],
"deny": ["exec", "write", "browser"]
}
}七、常用 CLI 命令与典型配置示例
7.1 常用命令
# 创建新智能体
openclaw agents add work
# 列出智能体与绑定
openclaw agents list --bindings
# 查看智能体状态
openclaw agent status7.2 完整配置示例
{
"agents": {
"list": [
{ "id": "home", "default": true, "workspace": "~/.openclaw/workspace-home" },
{ "id": "work", "workspace": "~/.openclaw/workspace-work" }
]
},
"bindings": [
{ "agentId": "home", "match": { "channel": "whatsapp", "accountId": "personal" } },
{ "agentId": "work", "match": { "channel": "whatsapp", "accountId": "biz" } }
],
"channels": {
"whatsapp": {
"accounts": { "personal": {}, "biz": {} }
}
}
}八、多智能体落地最佳实践
绝对隔离:不共享
agentDir,避免认证与会话冲突最小权限:委托智能体从最低权限开始,按需升级
并行通道:先定义通道契约,再配置并发,最后启用协调器
路由精确:优先使用
peer精确匹配,减少路由歧义安全优先:群组 / 委托智能体强制开启沙箱与工具白名单
状态监控:通过 Presence 实时查看网关与客户端连接状态
