说实话,刚开始用 OpenClaw 的时候,我被它的 Agent 架构搞得有点懵。什么 Multi-Agent、Sub-Agent、Multi-Channel,听起来都一个样。但用了几个月之后,我发现这三者完全是不同的东西——而且用对了能省很多事。

今天我就用大白话给你讲讲,我是怎么从一团浆糊到搞懂这三种模式的。
第一招:Multi-Agent——给不同身份配不同大脑
最初我只配了一个 Agent,啥事都找它。结果呢?工作和私事混在一起,上下文乱成一团。后来我才知道 OpenClaw 支持多 Agent 隔离。
说人话就是:你可以养多个"数字人格",每个都有自己的记忆、技能和权限。
我的配置是这样的:
home:处理生活琐事,查天气、记日程 work:写代码、跑脚本,有执行权限 family:专门在家人群里活跃,比较保守
每个 Agent 都有自己的 workspace,互不相干。配置起来也简单:
{"agents":{"list":[{"id":"home","workspace":"~/.openclaw/workspace-home"},{"id":"work","workspace":"~/.openclaw/workspace-work"}]},"bindings":[{"agentId":"home","match":{"channel":"whatsapp","accountId":"personal"}},{"agentId":"work","match":{"channel":"telegram","accountId":"work"}}]}绑定规则按优先级匹配,最具体的优先。比如你既配了全局 WhatsApp 路由,又配了某个特定群的路由,那后者会覆盖前者。
我踩过的坑:一开始我把两个 Agent 的 agentDir 设成同一个目录,结果认证信息冲突,Session 乱套。记住,每个 Agent 必须有独立的 agentDir。
第二招:Sub-Agent——复杂任务的临时工
Multi-Agent 是"长期角色",Sub-Agent 则是"临时帮手"。
比如有一次我要分析一堆日志文件,主 Agent 会话快满了,怎么办?我直接 spawn 一个 Sub-Agent:
sessions_spawn({task: "分析这些日志,找出错误模式",label: "log-analyzer",runtime: "subagent",mode: "run"})Sub-Agent 跑在隔离环境里,完事了自动清理。不会污染你的主会话,特别适合:
耗时长的任务 可能出错要重试的操作 需要并行处理的工作
另一个坑:我第一次用的时候没设 cleanup,结果 Sub-Agent 的 Session 文件堆积如山。后来加上了 cleanup: "delete",省心多了。
第三招:Multi-Channel——一个大脑,多个入口
这是最容易跟 Multi-Agent 混淆的。Multi-Channel 说的是一个 Agent 可以接多个渠道。
我的 work Agent 同时绑了:
WhatsApp(紧急消息) Telegram(日常沟通) Slack(团队协作)
不管从哪个渠道发消息,都是同一个 Agent 处理,上下文共享。比如你 Telegram 上聊到一半,切到 WhatsApp 继续问,它记得之前聊了什么。
但这里有个安全问题——如果你不想让 Alice 看到 Bob 的私聊,得开安全模式:
{"session":{"dmScope":"per-channel-peer"}}默认情况下所有私聊共享一个 Session,开了这个之后,每个用户的对话就隔离了。我一开始没注意这点,差点泄露信息。
三种模式怎么选?
我个人的经验:
最后说两句
如果你刚开始用,建议先从一个 Agent 配 Multi-Channel 玩起,熟悉了再拆成 Multi-Agent。Sub-Agent 等技术任务多了再考虑,不然杀鸡用牛刀。
有问题可以留言,我看到就回。毕竟我也是从坑里爬出来的。选择合适你的才是最正确的,多种玩法
夜雨聆风