14-OpenClaw-多-Agent-协作:从一脸懵到真正跑通.md12.7 KBit/ai/14-OpenClaw-多-Agent-协作:从一脸懵到真正跑通.md
 ## OpenClaw 多 Agent 协作:从一脸懵到真正跑通 上一篇我们把微信接入搞定了,Agent 终于有了入口。但你很快会发现一个问题——一个 Agent 根本不够用。 > 让一个 Agent 既写代码、又做 SEO、还要写文案?就像让一个人同时当厨师、司机和会计——不是不行,是干不好。 OpenClaw 从设计上就支持多 Agent 协作。问题是,第一次打开目录结构,大多数人的反应是:workspace 、 `agents` 、 `agentDir` 、 `sessions` 、 `subagents` 、 `sessions_spawn` 、 `agency-agents` —— 七八个概念扎堆出现,还长得像亲戚,分都分不清。 这篇就一个目标: **让你彻底搞懂 OpenClaw 多 Agent 是怎么转起来的** ,然后真正用起来。 ## **先看全景:五个核心概念怎么分?** OpenClaw 的多 Agent 体系,本质上就五样东西。搞清楚它们的关系,后面全通。  你可以把整个多 Agent 系统想象成一家公司—— `openclaw.json` 是 HR 系统,每个 Agent 有自己的工位(workspace)、员工档案(agentDir)、工作日志(sessions),老板可以通过派工单(subagents)给下属安排活儿。 **HR 系统里没你的名字?对不起,你就不是这家公司的人。** ## **第一层:理解每个 Agent 的「三件套」** 每个 Agent 在磁盘上对应三块内容。打开 `**~/.openclaw/**` 看一眼:  ## **01、workspace:决定 Agent「是谁」** **workspace** 里放的全是跟「工作内容」相关的东西。 `**SOUL.md**` 告诉 Agent:你是一个 SEO 专家,说话要专业但不要掉书袋。 `**TOOLS.md**` 告诉它:你可以用搜索工具、可以读写文件。 `**memory/**` 里是它积累的上下文记忆。 **一句话:workspace 决定了 Agent 怎么思考、怎么干活。** 默认路径通常是 `**~/.openclaw/workspace**` 或 `**~/.openclaw/workspace-**`,但这不是死规定。你完全可以把 workspace 放在任何地方,只要在配置里告诉 OpenClaw 路径在哪就行。 ## **02、agentDir:决定 Agent「怎么登录」** agentDir 放的是系统层面的东西——用什么模型、怎么认证、运行状态如何。 你不需要经常碰它,但它必须存在。就像你不会天天翻自己的员工档案,但没有档案你就进不了公司门禁。 路径通常是: `~/.openclaw/agents//agent` ## **03、sessions:Agent 的完整工作日志** 每个 Agent 都有自己 **独立的** 对话记录。这点很重要——不是所有 Agent 共用一个聊天记录本,而是各记各的。 主 Agent 和 SEO 专家的对话历史完全隔离。就像公司里每个人有自己的工作周报,不会混在一起写。 ## **第二层:Agent 之间怎么协作?** 单个 Agent 的结构搞清楚了,下一个问题自然就来了: **Agent 之间怎么配合干活?** 答案是四个工具(Tool)。没错,在 OpenClaw 里,协作能力是通过「工具」实现的——Agent 调用工具来找人、派活、追进度。 ## **01、先搞清楚:工具和配置不是一回事** 这是新手最容易绕进去的地方。  `**sessions_spawn**` 是工具——Agent 用它来「拨号」叫人。 `**subagents.allowAgents**` 是配置——决定通讯录里有谁的号码。 **工具是动作,配置是规则。** ## **02、四个协作工具速查**  ## **03、sessions\_spawn 到底在调用谁?** 这是理解多 Agent 最关键的一个问题。 很多人以为 `sessions_spawn` 会去磁盘上扫一圈,看到哪个文件夹像 Agent 就拉过来用。 **完全不是。** 它的逻辑是这样的:  **sessions\_spawn 不是「目录扫描器」,而是「按配置拨号」。** 通讯录里没有的人,叫不出来。 ## **04、agents\_list:先查电话簿再打电话** 在打电话之前,Agent 得先知道自己能叫谁。这就是 `agents_list` 的用途——查一下当前 Agent 的可调用名单。 但这里有个权限机制。不是系统里所有 Agent 都能互相调用,而是通过 `subagents.allowAgents` 做了白名单控制。 **举个例子:** 系统里注册了 5 个 Agent:manager、seo-specialist、frontend-developer、copywriter、data-analyst。 但 manager 的配置里写的是:  那 manager 调用 `**agents_list**` 时,只能看到 3 个人。 `**data-analyst**` 虽然在公司里,但不在 manager 的通讯录里—— **叫不到。** 这套权限机制的好处是:不同角色看到不同的协作范围,避免混乱。 ## **第三层:openclaw.json 才是真正的大脑** 前面所有概念最终都汇聚到一个文件: `**~/.openclaw/openclaw.json**` 。 你可以把它理解为整个多 Agent 系统的 **组织架构图 + 通讯录 + 权限表** ,三合一。  每个 Agent 的登记信息包括: - id: 唯一标识,调用时就靠这个名字 - workspace: 工作区路径,决定它是谁、怎么干活 - agentDir: 状态目录路径,决定它怎么运行 - subagents.allowAgents: 它能调用哪些子 Agent **OpenClaw 认的是这份配置,不是目录名字长什么样。** 你把 workspace 放在 `**/home/my-cool-agents/bob/**` 也完全可以,只要配置里写对了路径。 ## **第四层:agency-agents 到底是什么?** 讲到这里,终于可以聊 `agency-agents` 了。 很多人看到`~/.openclaw/agency-agents/` 这个目录,以为它是 OpenClaw 的内置功能。 **不是的。** > **agency-agents 就是一批提前写好的 workspace,打包放在一个目录里方便管理。仅此而已。**  你可以把它想象成一个「人才市场」——里面有现成的 SEO 专家、前端工程师、文案写手、数据分析师……每个人都带着自己的简历(SOUL.md)、技能清单(TOOLS.md)、工作习惯(memory/)。 但人才市场里的人,不会自动变成你的员工。你得完成「入职手续」: ## **01、准备工位(workspace)** 把角色模板放到对应目录: ``` ~/.openclaw/agency-agents/seo-specialist/ ``` ## **02、建立档案(agentDir)** 创建系统状态目录: ``` ~/.openclaw/agents/seo-specialist/agent/ ``` ## **03、登记入册(写进 openclaw.json)** 通过命令行注册: ``` openclaw agents add seo-specialist \ ``` 三步完成后,这个 Agent 才算正式「入职」。 > **偷懒的办法:** 你不需要一个一个手动添加。把 agency-agents 的 GitHub 仓库地址喂给 OpenClaw,让它自己读懂、自己注册,省心得多。 所以「安装 agency-agents」的本质不是复制文件,而是: **workspace 落地 + agentDir 创建 + openclaw.json 注册。**  ## **实际工作中怎么用?** 概念全搞清楚了,最后聊聊实战。 ## **什么时候不需要多 Agent?** 任务短、目标单一、不涉及多种专业——这种情况一个 Agent 就够了。比如看段日志、改个小 bug、回答一个技术问题。硬拆成多 Agent 纯粹是给自己找麻烦。 ## **什么时候该上多 Agent?** 两种典型场景: **场景一:主从协作——一个指挥,多个干活** 你跟主 Agent 说:「帮我做一个产品落地页。」 主 Agent 拆解任务,分别 spawn: - SEO 专家 → 分析关键词和标题 - 前端工程师 → 写页面代码 - 文案写手 → 写产品描述 三个人并行干活,主 Agent 汇总结果交给你。 **场景二:临时外援——主线不停,支线并行** 你正在跟主 Agent 讨论技术方案,突然需要一份竞品分析。与其打断当前对话,不如 spawn 一个数据分析师去做,做完了主 Agent 把结果拉回来。 **主线对话零污染,支线任务不耽误。** ## 拆任务的黄金原则 > **按产出物拆,不按动作拆。**  **让每个子 Agent 对一个结果负责。** 汇总的时候,质量和清晰度会好得多。 ## **最容易踩的三个坑** ## **坑一:以为目录存在就等于 Agent 存在**  OpenClaw 不扫目录。它只看配置。目录里有十万个文件夹,配置里没写,一个都不认。 ## **坑二:搞混 workspace 和 agentDir**  记住口诀: **办公桌上放文件,档案柜里放工卡。** ## **坑三:不设 allowAgents 导致权限混乱**  建议按实际协作关系设计权限: manager 能叫所有人, specialist 之间默认不互相调用。 ## **核心概念速查表**  ## **快速开始:最小可用路径** 如果你只想最快跑通多 Agent 协作,按这个顺序来:  **先跑通一个子 Agent 的调用,确认消息能来回,再去折腾权限设计和复杂工作流。** 不要一上来就注册 100 个 Agent。从 1 个主 Agent + 2 个子 Agent 开始,感受一下协作链路,然后按需扩展。 **多 Agent 协作的意义,不在于你能同时跑多少个 Agent,而在于每个 Agent 都在自己擅长的事情上全力输出——就像一支真正的团队,各司其职,最后汇总出一个人做不到的结果。** ## **下一篇教程是什么?** _下一篇:OpenClaw 十问十答——从傅盛李诞呼兰的养虾热潮,到字节、阿里、百度、腾讯、Kimi、MiniMax 纷纷下场,关于 OpenClaw 大家最关心的 10 个问题一次讲清。_