乐于分享
好东西不私藏

OpenClaw 多 Agent 协同工作:方案设计深度解析

OpenClaw 多 Agent 协同工作:方案设计深度解析

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"],  // 会话类型
  limit200,                                         // 最大行数
  activeMinutes60,                                  // 活跃时间过滤
  messageLimit5,                                    // 包含最近消息数
}

5.2 sessions_history

获取指定会话的聊天记录:

{
  sessionKey"agent:main:whatsapp:group:123@g.us",
  limit50,
  includeToolsfalse,  // 是否包含工具调用记录
}

5.3 sessions_send

向另一个会话发送消息(实现 Agent 间通信):

{
  sessionKey"agent:work:main",
  message"请帮我处理这个任务...",
  timeoutSeconds30,  // 等待回复超时
}

回复循环机制

  • 发送后自动进入回复循环
  • 最大轮数可配置(默认 5 轮)
  • 回复 REPLY_SKIP 可停止循环

5.4 sessions_spawn

生成子智能体执行独立任务:

{
  task"分析这个代码仓库并生成报告",
  label"代码分析",
  agentId"coding",           // 可选:指定其他智能体
  model"anthropic/claude-opus-4-6",  // 可选:指定模型
  runTimeoutSeconds300,      // 超时时间
  sandbox"require",          // 要求沙箱环境
}

特点

  • 非阻塞调用,立即返回 runIdchildSessionKey
  • 完成后自动将结果通告回请求者
  • 子智能体默认不能再次调用 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