Appearance
OpenClaw多Agent实战指南:从踩坑到7×24自动运行
朋友问我能不能帮他配置5个OpenClaw机器人协同工作。我说这有啥难的,不就是改配置文件吗?结果花了7小时,踩了9个坑。这篇文章把所有实战经验整理出来,帮你省掉排错时间。
为什么需要Multi-Agent?
用AI工具用多了,你一定踩过这个坑:让单个Agent去做复杂任务,它要么思路乱,要么做到一半"忘了"前面说的话。
解法是什么?Multi-Agent。把大任务拆给多个专门的Agent,各司其职,像一个小团队。
| 模式 | 流程 | 优势 |
|---|---|---|
| 单Agent | 你 → 一个AI → 输出 | 简单,适合小任务 |
| Multi-Agent | 你 → 调度Agent → 多个专项Agent → 汇总 | 上下文聚焦、专业度高、并行更快 |
先搞清楚:什么情况该拆?
最常见的错误:按职责拆
直觉告诉你:前端一个、后端一个、内容一个、运营一个。
这个直觉是错的。
实战总结的判断标准:按上下文拆,不按职责拆。
该拆的三种情况
上下文持续积累且互不干扰
- 调研Agent积累行业知识,写作Agent积累个人风格——两套记忆混在一起会互相污染
工作流程完全独立
- 内容创作流程和代码开发流程没有共享信息的需要
需要不同的"记忆"
- 技术调研Agent和市场调研Agent看的世界不一样
不该拆的情况
- 只是工具不同(都是编程)
- 只是输出格式不同(都是写作)
- 任务之间需要频繁共享信息——拆了反而更糟
踩坑实录:9个坑帮你避掉
坑1:API Key裸奔
离谱程度:⭐⭐⭐⭐⭐
朋友发给我的openclaw.json里,API Key、appid、appsecret全在里面,明文。
解决方案:
- 敏感凭证绝不在非加密渠道明文传输
- 必须发的话,至少打个码
- 如果已经发了,立刻去后台重新生成Secret轮换掉
坑2:AI生成的配置信不得
离谱程度:⭐⭐⭐⭐⭐
朋友说配置文件是让AI写的。写得挺像那么回事,但配置字段名是错的。
解决方案:不要让AI帮你写OpenClaw配置文件。用官方模板改。
坑3:A2A插件投毒
离谱程度:⭐⭐⭐⭐⭐
官方不支持A2A(Agent To Agent),只有插件支持。调研时发现,A2A插件在官网标记为有风险插件。
解决方案:
- 装一个Skill Vetter审查插件
- 只装大厂或可信来源的插件
坑4-9:配置文件的各种坑
| 坑 | 问题 | 解决方案 |
|---|---|---|
| 4 | bindings写错了 | 用openclaw agents bind命令,别手写JSON |
| 5 | 飞书事件没订阅 | 添加im.message.receive_v1事件 + 发布新版本 |
| 6 | 权限漏加 | 添加权限后必须发布版本才生效 |
| 7 | accounts.json没同步 | openclaw.json和accounts.json两个文件都要改 |
| 8 | session损坏 | 清session + 重启Gateway |
| 9 | API限流 | 降低maxConcurrent或等待 |
五步配置Multi-Agent
Step 1:打开配置文件
所有配置集中在一个文件:
~/.openclaw/openclaw.jsonStep 2:在agents.list里定义多个Agent
json
{
"agents": {
"list": [
{
"id": "main",
"name": "调度中枢",
"default": true,
"workspace": "~/.openclaw/workspace",
"subagents": { "allowAgents": ["*"] }
},
{
"id": "research",
"name": "调研Agent",
"workspace": "~/.openclaw/workspace-research",
"subagents": { "allowAgents": ["*"] }
}
]
}
}关键点:
- default: true:只有main设为true,其他都是false
- workspace:每个Agent独立目录
- subagents.allowAgents:跨Agent调用权限
Step 3:给每个Agent写SOUL.md
SOUL.md是Agent最重要的文件,身份、角色、原则、关系,全在这40-60行里。
Step 4:配置bindings和飞书
飞书接入必需权限:
- im:message
- im:message:send_as_bot
- im:message.group_at_msg:readonly
- im:message.p2p_msg:readonly
- contact:contact.base:readonly
三个最容易漏的:
- 忘了添加im.message.receive_v1事件 → 机器人收不到消息
- 添加权限/事件后忘了发布新版本 → 不会生效
- 缺少contact:contact.base:readonly → 日志报99991672错误
Step 5:防抢消息的铁律
解决方案:只让一个Agent设为requireMention: false(默认响应者),其他所有Agent必须设为true(必须@才响应)。
7×24自动运行:Cron和自愈
Cron调度顺序
上游Agent必须先跑:
08:01 Dwight(调研) → 产出DAILY-INTEL.md
09:01 Kelly(Twitter) → 读取情报,写推文草稿
09:01 Rachel(LinkedIn)→ 读取情报,写职场内容Heartbeat自愈机制
Cron job会失败——机器重启、网络抖动、API限流。
解决方案是HEARTBEAT.md:让主Agent在每次心跳时自动检查所有cron job状态。
没有自愈机制,你最终会变成Agent的运维工程师。
协作靠文件,不靠框架
多个Agent之间怎么协作?最稳的方案反而最笨:文件系统。
- Dwight每天三次把情报写入intel/DAILY-INTEL.md
- Kelly醒来后读这个文件写推文
- Rachel读同一个文件写职场内容
没有API调用,没有消息队列,没有编排框架。交接就是一份Markdown文档。
文件不会崩溃,不会有认证问题,不需要处理速率限制。
渐进扩展:四周路线图
第一周:一只Agent,一个任务。写SOUL.md,跑一个cron job,观察一周。
第二周:加记忆,调人格。给反馈,看记忆文件增长,修正SOUL.md。
第三周:加第二只。设好文件共享模式,配置bindings和cron顺序。
第四周及以后:按需扩展。
像招人一样对待Agent扩编。先把一只龙虾养明白,再考虑扩军。
运维速查表
日常命令
| 命令 | 用途 |
|---|---|
| openclaw agents list | 查看所有Agent |
| openclaw agents list --bindings | 查看路由绑定 |
| openclaw channels status --probe | 查看通道健康 |
| openclaw logs --follow | 实时日志 |
| openclaw gateway restart | 重启Gateway |
问题速查
| 现象 | 原因 | 解决方案 |
|---|---|---|
| 群消息不回复 | 未@机器人 | 群里必须@ |
| 新机器人完全无反应 | 未订阅事件 | 飞书添加事件+发布 |
| 收到消息但不回复 | session损坏 | 清session+重启 |
| 权限错误99991672 | 缺少飞书权限 | 添加权限+发布 |
| API限流429 | 并发过多 | 降低maxConcurrent |
核心记住三件事
- 按上下文拆,不按职责拆
- 配置文件用官方模板改,不让AI写
- 只让一个Agent主动响应,其他必须@
