乐于分享
好东西不私藏

OpenClaw 多 Agent 协作实战指南:让多个 AI 分工合作帮你干活

OpenClaw 多 Agent 协作实战指南:让多个 AI 分工合作帮你干活
OpenClaw 多 Agent 协作实战指南:让多个 AI 分工合作帮你干活

这篇文章写给谁: 你已经在用 OpenClaw 了,但发现一个 Agent 处理复杂任务时力不从心——要么上下文太长导致"失忆",要么一个任务链条太长容易出错。这篇文章教你如何让多个 Agent 分工协作,像一个小型 AI 团队一样为你工作。

一、为什么需要多 Agent?
单 Agent 的局限

一个 Agent 处理所有事情,就像让一个人同时当厨师、服务员、收银员——能做,但效率低、容易出错。

问题原因后果
上下文爆炸
所有对话都在一个会话里,Token 越来越多
越聊越贵,而且 AI 开始"忘记"早期内容
任务交叉污染
帮你写代码的同时又要回复邮件
上下文切换导致质量下降
单点故障
一个模型挂了,所有功能停摆
你的"整个助手"一起罢工
权限过宽
一个 Agent 什么都能做
安全风险更大
多 Agent 的优势

多 Agent = 让多个 AI 各司其职,像一个小团队:

你(老板)

  ├── Agent A(秘书)→ 处理邮件、日程、提醒

  ├── Agent B(程序员)→ 写代码、审查 PR、部署

  ├── Agent C(调研员)→ 搜索信息、整理报告

  └── Agent D(运营)→ 写内容、发布、数据分析

每个 Agent 有自己的独立上下文专属 Skills独立记忆,互不干扰但能互相通信。

二、OpenClaw 多 Agent 通信的四种方式
方式难度适合场景核心思路
方式一:Multi-Session(多会话)
简单
同一实例内不同任务隔离
在一个 OpenClaw 实例中开多个独立会话
方式二:Agent Send(代理发送)
中等
Agent 之间互发消息
Agent A 主动给 Agent B 发消息
方式三:Sub-Agents(子代理)
中等
主 Agent 分派子任务
主 Agent 创建临时子 Agent 处理特定任务
方式四:ACP 协议(Agent Communication Protocol)
高级
跨实例、跨设备通信
标准化协议,不同 OpenClaw 实例间互联
三、方式一:Multi-Session(多会话)—— 最简单的"隔离"
3.1 什么是 Multi-Session?

在同一个 OpenClaw 实例中,创建多个独立的对话会话。每个会话有自己的上下文,互不干扰。

类比: 你的手机可以同时开多个微信聊天窗口——和 A 聊工作、和 B 聊生活,互不干扰。

3.2 怎么用?

方式一:通过不同聊天渠道自动隔离

当你同时连接了 Telegram 和飞书时,OpenClaw 会自动为每个渠道创建独立会话

Telegram → Session 1(你的私人助手)

飞书     → Session 2(你的工作助手)

Web UI   → Session 3(调试/测试用)

方式二:在配置中手动创建多个 Agent Session

编辑 ~/.openclaw/openclaw.json:

{

  "agents": {

    "sessions": {

      "personal": {

        "model": { "primary": "zai/glm-5" },

        "workspace": "~/.openclaw/workspace/personal",

        "soul": "你是我的私人助手,帮我处理生活琐事"

      },

      "work": {

        "model": { "primary": "deepseek/deepseek-chat" },

        "workspace": "~/.openclaw/workspace/work",

        "soul": "你是我的工作助手,帮我处理工作相关任务"

      },

      "coding": {

        "model": { "primary": "zai/glm-5" },

        "workspace": "~/.openclaw/workspace/coding",

        "soul": "你是一个资深程序员,帮我写代码和审查代码"

      }

    }

  }

}

重启网关后,每个 Session 就像一个独立的"员工":

1.有自己的工作区(workspace)
2.有自己的人格(soul)
3.有自己的模型(可以给不同 Agent 配不同模型)
4.有自己的记忆
3.3 将不同渠道绑定到不同 Session

{

  "channels": {

    "telegram": {

      "enabled": true,

      "token": "你的 Telegram Token",

      "session": "personal"

    },

    "feishu": {

      "enabled": true,

      "appId": "xxx",

      "appSecret": "xxx",

      "session": "work"

    }

  }

}

这样:

1.Telegram 的消息 → 交给 personal Agent 处理
2.飞书的消息 → 交给 work Agent 处理
3.它们各自有独立的上下文和记忆,互不干扰
TIP - 什么时候用 Multi-Session?

当你的需求是"隔离"而不是"协作"的时候。比如你不希望工作聊天记录出现在私人助手的上下文中。

四、方式二:Agent Send(代理发送)—— Agent 之间互发消息
4.1 什么是 Agent Send?

让一个 Agent 主动给另一个 Agent 发送消息,触发对方执行任务,然后拿到结果。

类比: 公司里 A 同事写了一份报告,通过内部邮件发给 B 同事审阅,B 审完后把意见回给 A。

4.2 内置工具:agents_list 和 agent_send

OpenClaw 内置了两个关键工具:

工具功能
agents_list
列出当前所有可用的 Agent 会话
agent_send
向指定 Agent 发送消息,并等待回复
4.3 实操示例

场景:让"调研 Agent"搜索信息,然后让"写作 Agent"写文章

首先确保你配置了多个 Session(见方式一)。

然后在主 Agent 的对话中:

帮我完成一篇关于 AI 编程趋势的文章:

1. 先让调研 Agent 搜索 2026 年最新的 AI 编程工具和趋势

2. 把调研结果发给写作 Agent

3. 让写作 Agent 基于调研结果写一篇 2000 字的文章

OpenClaw 会自动:

1.调用 agents_list 查看有哪些 Agent 可用
2.调用 agent_send 给调研 Agent 发消息:"搜索 2026 年 AI 编程趋势"
3.收到调研结果后,调用 agent_send 给写作 Agent 发消息:"根据以下资料写文章:..."
4.把最终文章返回给你
4.4 手动使用 agent_send

你也可以直接在对话中指定:

请使用 agent_send 工具,向 coding 会话发送以下消息:

"帮我审查这段代码有没有安全漏洞:[代码内容]"

或者通过命令行:

# 列出所有 Agent 会话

openclaw agents list

# 向指定会话发送消息

openclaw agents send --session coding --message "帮我写一个排序算法"

TIP - agent_send 是同步的

发送消息后会等待对方 Agent 处理完并返回结果,主 Agent 拿到结果后才继续下一步。适合需要"串行"处理的场景。

五、方式三:Sub-Agents(子代理)—— 主 Agent 自动拆分任务
5.1 什么是 Sub-Agents?

主 Agent 在处理复杂任务时,自动创建临时的子 Agent 来处理特定子任务。子 Agent 完成后自动销毁,结果返回给主 Agent。

类比: 项目经理接到一个大项目,把它拆成多个小任务,分给不同的临时工去做,做完后汇总给经理。

5.2 和 Agent Send 的区别
对比Agent SendSub-Agents
Agent 生命周期
长期存在的独立 Session
临时创建,用完即销毁
由谁创建
你事先配置好
主 Agent 自动创建
上下文共享
完全隔离
子 Agent 继承主 Agent 部分上下文
适合场景
长期分工协作
临时拆分子任务
5.3 实操示例

你只需要描述一个复杂任务,OpenClaw 会自动拆分:

帮我做一份完整的竞品分析报告:

- 分析市面上 5 个主要的 AI 编程工具

- 每个工具的功能、价格、优缺点

- 最后给出对比表格和推荐建议

OpenClaw 可能会自动创建:

1.Sub-Agent 1 → 调研 Cursor
2.Sub-Agent 2 → 调研 Claude Code
3.Sub-Agent 3 → 调研 Copilot
4.Sub-Agent 4 → 调研 Windsurf
5.Sub-Agent 5 → 调研 Codex CLI
6.主 Agent → 汇总 5 个子 Agent 的结果,生成最终报告
TIP - Sub-Agents 会产生额外的模型调用费用
每个子 Agent 都是一次独立的模型调用。5 个子 Agent = 5 次调用 + 1 次汇总 = 6 次。如果用付费模型注意成本。5.4 配置 Sub-Agents 行为

编辑 ~/.openclaw/openclaw.json:

{

  "agents": {

    "defaults": {

      "subAgents": {

        "enabled": true,

        "maxConcurrent": 5,

        "model": {

          "primary": "zai/glm-4-flash"

        },

        "timeout": 120000

      }

    }

  }

}

参数含义建议值
enabled
是否启用子代理
true
maxConcurrent
最多同时运行几个子 Agent
3~5
model.primary
子 Agent 用什么模型
用便宜模型省钱
timeout
子 Agent 超时时间(毫秒)
120000(2 分钟)
TIP - 省钱技巧:主 Agent 用好模型,子 Agent 用便宜模型

主 Agent 负责规划和汇总,用好模型(如 GLM-5);子 Agent 负责执行具体子任务,用便宜模型(如 GLM-4-Flash 免费),这样既有质量又省钱。

六、方式四:ACP 协议 —— 跨设备的 Agent 通信
6.1 什么是 ACP?

ACP = Agent Communication Protocol(代理通信协议),是让不同 OpenClaw 实例之间互相通信的标准协议。

类比: 前三种方式是"同一家公司内部通信",ACP 是"不同公司之间通信"。

6.2 使用场景

你的 Mac mini(家里)运行 OpenClaw A → 负责个人事务

你的云服务器运行 OpenClaw B → 负责监控和自动化

你的公司 Mac 运行 OpenClaw C → 负责工作

三者通过 ACP 互联互通:

- A 可以让 B 帮忙跑一个定时任务

- B 监控到异常可以通过 A 发 Telegram 通知你

- C 可以把工作报告发给 A 归档

6.3 配置方法

在每台设备的 OpenClaw 上启用 ACP:

{

  "agents": {

    "acp": {

      "enabled": true,

      "peers": [

        {

          "name": "home-server",

          "url": "wss://home.example.com:18789",

          "token": "shared-secret-token-123"

        },

        {

          "name": "cloud-server",

          "url": "wss://cloud.example.com:18789",

          "token": "shared-secret-token-456"

        }

      ]

    }

  }

}

重启网关后即可互联。

6.4 使用方式

在任一 Agent 中说:

请通过 ACP 协议,让 cloud-server 上的 Agent 检查一下服务器的磁盘空间和内存使用情况

或在命令行:

openclaw agents send --peer cloud-server --message "检查服务器健康状态"

!! 安全提醒 !!

1.ACP 涉及跨网络通信,必须使用 WSS(加密连接)
2.Token 要足够复杂且保密
3.建议通过 VPN 或 Tailscale 连接,不要直接暴露到公网
七、实战架构案例
案例 1:个人效率系统(3 Agent 协作)

┌─────────────────────────────────────────┐

│              你(通过 Telegram)            │

└─────────────┬───────────────────────────┘

              │

    ┌─────────▼─────────┐

    │   主 Agent(调度)   │ ← 接收你的指令,分配任务

    └──┬──────┬──────┬──┘

       │      │      │

  ┌────▼──┐ ┌─▼───┐ ┌▼─────┐

  │邮件管家│ │日程助│ │文件管│

  │Session│ │理Ses│ │理Ses │

  │       │ │sion │ │sion  │

  └───────┘ └─────┘ └──────┘

配置:

{

  "agents": {

    "sessions": {

      "dispatcher": {

        "model": { "primary": "zai/glm-5" },

        "soul": "你是任务调度员,负责理解用户意图并将任务分配给合适的专员"

      },

      "email": {

        "model": { "primary": "zai/glm-4-flash" },

        "soul": "你是邮件专员,只负责处理邮件相关的任务",

        "skills": ["gmail-pro"]

      },

      "calendar": {

        "model": { "primary": "zai/glm-4-flash" },

        "soul": "你是日程专员,只负责日历和提醒相关的任务",

        "skills": ["google-calendar"]

      },

      "files": {

        "model": { "primary": "zai/glm-4-flash" },

        "soul": "你是文件管理专员,只负责文件整理和搜索",

        "skills": ["file-organizer"]

      }

    }

  }

}

案例 2:内容创作流水线(4 Agent 流水线)

用户:"帮我把这个 B 站视频做成一篇公众号文章"

        │

        ▼

  Agent 1(抓取员)→ 抓取视频字幕/内容

        │

        ▼

  Agent 2(大纲师)→ 根据内容生成文章大纲

        │

        ▼

  Agent 3(写手)  → 根据大纲写完整文章

        │

        ▼

  Agent 4(编辑)  → 润色、配图、适配公众号格式

        │

        ▼

    输出最终文章

实现方式: 主 Agent 用 agent_send 依次调用四个 Session,每个 Session 拿到上一步的结果作为输入。

案例 3:代码审查 + 自动修复(Sub-Agent 并行)

你:"审查 my-project 仓库的最新 5 个 PR"

        │

        ▼

  主 Agent → 自动创建 5 个 Sub-Agent(并行)

    │

    ├── Sub-Agent 1 → 审查 PR #101

    ├── Sub-Agent 2 → 审查 PR #102

    ├── Sub-Agent 3 → 审查 PR #103

    ├── Sub-Agent 4 → 审查 PR #104

    └── Sub-Agent 5 → 审查 PR #105

        │

        ▼

  主 Agent ← 汇总 5 份审查报告

        │

        ▼

    输出完整的审查摘要

八、最佳实践与避坑指南
最佳实践

TIP 1 - 每个 Agent 的职责要明确

在 SOUL.md 中用"你是 xxx 专员,只负责 xxx 相关的任务"来限定。职责越明确,效果越好。

TIP 2 - 主 Agent 用好模型,子/辅助 Agent 用便宜模型

调度和汇总需要强推理,用 GLM-5 或 Claude。执行具体任务的用 GLM-4-Flash(免费)或 DeepSeek(便宜)。TIP 3 - 先跑通单 Agent,再上多 Agent

不要一开始就搞复杂的多 Agent 架构。先确保单个 Agent 能正常工作,再逐步拆分。TIP 4 - 用 Cron + Multi-Session 实现自动化流水线

定时任务触发主 Agent → 主 Agent 通过 agent_send 调度其他 Agent → 结果汇总后推送到 Telegram。TIP 5 - 每个 Session 用独立 workspace

防止不同 Agent 的记忆和文件互相污染。常见问题
问题原因解决
agent_send 超时
目标 Agent 的模型处理太慢
增加 timeout 或换更快的模型
子 Agent 结果质量差
子 Agent 用的模型太弱
给子 Agent 换更好的模型
多个 Agent 争抢资源
Ollama 本地模型同时只能服务一个请求
用云端模型,或降低 maxConcurrent
ACP 连接失败
网络不通或 Token 不匹配
检查防火墙、URL、Token
Agent 之间"传话"丢内容
中间结果太长,超出上下文窗口
让中间 Agent 先做摘要再传递
九、多 Agent vs 单 Agent 选择指南

你的需求是什么?

├── 任务简单,聊天就能搞定

│   └── 用单 Agent 就够了,不要过度设计

├── 任务多但互不相关(工作 + 生活)

│   └── Multi-Session:给不同场景开不同会话

├── 一个复杂任务需要多步骤(调研→写作→发布)

│   └── Agent Send:让 Agent 之间传递结果

├── 一个任务可以拆成多个并行子任务

│   └── Sub-Agents:自动并行处理

└── 多台设备上的 Agent 需要协作

    └── ACP 协议:跨设备通信

记住: 多 Agent 不是"越多越好"。每多一个 Agent 就多一层复杂度和成本。从最简单的方案开始,确认真有需要了再加。

十、命令速查

# 列出所有 Agent 会话

openclaw agents list

# 向指定会话发送消息

openclaw agents send --session <session-name> --message "你的消息"

# 向远程 Peer 发送消息(ACP)

openclaw agents send --peer <peer-name> --message "你的消息"

# 查看 Agent 状态

openclaw agents status

# 重启所有 Agent

openclaw gateway restart

本文基于 OpenClaw 2026 年 3 月版本编写。多 Agent 功能仍在快速迭代中,请以官方文档为准。

官方文档:docs.openclaw.ai

- END -