☰
别再把多 Bot 和多 Agent 搞混了:OpenClaw 协作全景与架构避坑指南(TaoToken 配置篇)
2026/9/27 19:47:06 网站建设 项目流程

1. 先把概念掰开:多 Bot 和多 Agent 到底差在哪

很多人第一次接触 OpenClaw 时,会把「多 Bot」「多 Agent」「子代理」「Agent 互发消息」全塞进一个叫“协作”的筐里。结果配置写完,消息要么串台,要么在群里两个机器人互相 @ 到天荒地老,要么一个 Agent 把上下文撑爆开始胡说。问题不在工具,在于一开始就没分清这几层机制各自解决什么。

用一句话先立住边界:Bot 是入口身份,Agent 是思考大脑,bindings 是连线规则。多 Bot 解决的是“对外谁接活”,多 Agent 解决的是“内部谁干活”。你可以只有一个 Bot 却挂五个 Agent,也可以五个 Bot 共用一个 Agent,这两件事完全正交。

我试过在一个电商 MVP 项目里同时开三个 Bot 对外,结果用户消息在群里互相触发,成本翻了三倍还没跑通。后来退回“一个 PM Bot + 内部多 Agent”的架构,反而一周就把需求、架构、前端、后端、测试的并行链路跑顺了。这篇就把这套判断框架和可复制的配置骨架交给你,顺带把 TaoToken 作为统一 Key/API 通道接进来,省得你在多个模型供应商之间来回切。

适合谁看:正在用 OpenClaw 做多角色协作、纠结要不要加 Bot、被 subagents 和 agent-to-agent 绕晕的开发者。读完你能做出架构选择,并拿到一份能直接改的config.toml与settings.json骨架。

2. 三层协作机制:路由、子代理、会话互发

OpenClaw 里常被混为一谈的“协作”,其实是三层不同机制,关键词和用途都不一样。

多 Agent 路由(Multi-agent routing)解决入口分流:哪条入站消息交给哪个 Agent。核心字段是agents.list、bindings、accountId、peer。典型形态是一个或多个 Bot 账号,按 bindings 把消息路由到不同 Agent。

子代理(Sub-agents,sessions_spawn)解决并行执行:当前 Agent 在后台拉起子任务,做完回报。核心字段是sessions_spawn、maxConcurrent、maxSpawnDepth、announce。用户只跟一个协调者对话,协调者内部并发调度。

Agent-to-Agent(sessions_send)解决会话间通信:把消息发到另一个 session,可跨 Agent,可有回合往返。核心字段是sessions_send、tools.agentToAgent、maxPingPongTurns。

一句话区分:多 Agent 路由是“谁对外接活”,Sub-agents 是“谁在后台干活”,Agent-to-Agent 是“两个会话如何互相发消息”。

需求机制是否需要多个 Bot
一个入口,内部并行拆任务sessions_spawn不需要
不同群聊要不同人格/权限/账号Multi-agent routing常需要
两个长期会话结构化互发sessions_send不一定
让某 Agent 跑一轮并可投递openclaw agent不需要

从工程视角补一条硬理由:拆 Agent 不只是分工,更是上下文压缩。一个 Agent 全包所有角色时,系统提示词和历史越来越臃肿,模型容易遗忘约束、推理漂移、成本上升。用sessions_spawn把任务按职责切片,通常更稳更便宜。

2.1 什么时候“必须”考虑多个 Bot

如果你遇到下面任意两条,基本就该上多 Bot 了:多人共用同一 Bot 容易串话串上下文;客服 Bot 和研发 Bot 必须隔离责任;某个 Bot 只允许查信息、另一个才能执行高风险动作;需要在 Telegram/飞书显示不同机器人身份;高价值入口用高质量模型、普通入口用便宜模型。

个人开发者且主要诉求是“做事更快”,先别上多 Bot,把 1 个 PM Bot + subagents 跑顺。

2.2 channels、accounts、bindings、agents 的关系

这四个概念不分清,最容易误配。channels是渠道类型(telegram/feishu/discord);channels.<channel>.accounts是该渠道下的机器人账号实例,也就是 Bot 身份;agents.list是 AI 大脑(工作区、会话、规则、技能);bindings把哪路入站消息路由到哪个 Agent。

逻辑链路是:用户消息 -> channel/account(Bot) -> binding 匹配 -> agentId -> 对应 Agent 执行。

注意:Bot 不等于 Agent。一个 Bot 可以只绑一个 Agent(最常见),也可以多个 Bot 绑同一个 Agent,还可以一个渠道内多个 account 分别绑不同 Agent 做角色隔离。

2.3 workspace 和 agentDir 不是一回事

很多人把这两个路径配反,协作就异常。workspace是文件空间(代码、文档产出),agentDir是状态空间(会话、认证、运行状态)。协作开发场景下,希望 PM 能看到子 Agent 产出的代码,相关 Agent 应共享同一代码仓库视图;但agentDir要保持隔离,避免状态串扰。一句话:可以共享文件视图,不要共享状态目录。

3. 用 TaoToken 统一 Key/API 通道

多 Agent 架构里,模型调用会分散到多个 Agent,如果每个 Agent 各配一套供应商 Key,管理成本会爆炸。更省事的做法是走一个统一的 API 通道,把 Key 收敛到一处。TaoToken 就是干这个的:官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 入口 https://taotoken.net/api 。

它的定位是统一 Key/API 通道,让你在 OpenClaw 的多个 Agent 里用同一套接入方式调用不同模型,不用为每个 Agent 单独维护供应商凭证。对多 Agent 场景尤其友好,因为协调 Agent 和执行型子 Agent 往往要用不同档位的模型,统一通道能让你在一处切换。

操作路径很直接:先到控制台创建 Key,再在 OpenClaw 的模型配置里把 base URL 指向 TaoToken 的 API 入口。控制台地址 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,API Keys 管理页 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 。

注意:Key 只放在服务端配置或环境变量里,不要写进会提交到仓库的明文文件。多 Agent 共用时,建议按 Agent 角色分 Key,方便单独限流和排查。

如果你只是想先验证模型通不通,可以直接用模型对话页 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=chat&utm_campaign=rewrite 发一条消息确认链路。长期做编码或 Agent 编排,可以看 Coding Plan https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 。

4. 可复制的 config.toml 与 settings.json 骨架

下面这份骨架对应“1 个 PM Bot + 5 个专业 Agent”的最小可用架构。对外只有 PM Bot,内部有需求、架构、前端、后端、测试五个 Agent。

先看config.toml的渠道与绑定部分:

[channels.telegram.accounts.pm] botToken = "TELEGRAM_BOT_TOKEN_PM" # 未来需要专家 Bot 时再开 # [channels.telegram.accounts.fe] # botToken = "TELEGRAM_BOT_TOKEN_FE" [[bindings]] agentId = "pm" [bindings.match] channel = "telegram" accountId = "pm"

再看settings.json里的 Agent 列表与子代理策略:

{ "agents": { "list": [ { "id": "pm", "default": true, "workspace": "~/.openclaw/workspace-pm", "model": "anthropic/claude-sonnet-4-6", "identity": { "name": "PM Bot", "emoji": "🧭" }, "tools": { "profile": "coding", "deny": ["gateway"] }, "subagents": { "allowAgents": ["req", "arch", "fe", "be", "qa"] } }, { "id": "req", "workspace": "~/.openclaw/workspace-req", "model": "openai/gpt-5.2-codex" }, { "id": "arch", "workspace": "~/.openclaw/workspace-arch", "model": "anthropic/claude-opus-4-6" }, { "id": "fe", "workspace": "~/.openclaw/workspace-fe" }, { "id": "be", "workspace": "~/.openclaw/workspace-be" }, { "id": "qa", "workspace": "~/.openclaw/workspace-qa" } ], "defaults": { "subagents": { "maxConcurrent": 6, "maxSpawnDepth": 2, "runTimeoutSeconds": 900 } } } }

这段配置表达的是:channels.telegram.accounts.pm是机器人入口账号,agents.list[].id是 AI 大脑,两者通过bindings连接。这样就不容易把 Bot 和 Agent 混为一谈。

起步最小集只需记:id、workspace、model、identity、tools、subagents.allowAgents。

4.1 bindings 的匹配优先级

OpenClaw 的 bindings 没有priority: 1/2/3这种字段,而是先按匹配“具体程度”决策(peer/guild/team/account/channel),同一层级冲突时按配置顺序先出现先命中,都没命中就回退到默认 Agent(default: true,多个则取首个)。

所以配置时:只设一个default: true,把更具体的绑定写在前面,用openclaw agents bindings持续核对路由结果。

4.2 需要 Agent-to-Agent 时再加这段

只在“qa 会话要持续追问 be 会话形成多轮对齐”或“跨会话异步协作”时才上:

{ "tools": { "sessions": { "visibility": "all" }, "agentToAgent": { "enabled": true, "allow": ["pm", "qa", "be"] } }, "session": { "agentToAgent": { "maxPingPongTurns": 3 } } }

如果只是任务拆分加回收结果,subagents 就够了,不用急着开 agent-to-agent。

5. 验证协作链路:从发消息到拿到交付包

配置写完别急着上生产,按下面步骤验证。

第一步,确认路由命中。发一条测试消息给 PM Bot,然后执行:

openclaw agents bindings

输出里应能看到 telegram 的 pm 账号命中agentId: pm。如果命中的是别的 Agent,检查 bindings 顺序和default设置。

第二步,验证子代理能拉起。给 PM 发一条编排任务:

开发一个电商网站 MVP: - 先拆解为需求、架构、前端、后端、测试 5 个子任务 - 并行执行 - 统一输出:里程碑、风险、下一个可执行动作

PM 内部会执行sessions_spawn(agentId=req, task=...)等五次调用。观察日志里是否出现五个子任务并发,maxConcurrent: 6允许同时跑六个。

第三步,确认结果回收。PM 汇总后应给你一个“可发布的交付包”,包含里程碑、风险和下一步动作。如果只看到部分子任务结果,检查subagents.allowAgents是否漏了某个 Agent。

第四步,验证模型通道。在 TaoToken 模型对话页发一条消息,确认 Key 和 API 通道正常,再回到 OpenClaw 看 Agent 调用是否走同一通道。

5.1 少刷屏:可见协作 vs 静默协作

多 Agent 协作最容易引发消息刷屏焦虑。可见模式让用户看到阶段性进展,适合耗时任务;静默模式后台完成后只发最终结果,适合短小任务。

sessions_spawn本身是非阻塞并带announce回传链路。要静默,不要依赖不存在的announce: false参数,应通过编排提示词约束 announce 输出,必要时用ANNOUNCE_SKIP语义,由 PM 统一对外口径。

5.2 防死循环:父子通信要有终止协议

新手常见坑是 Agent 之间无意义确认来回,白白烧轮次。在AGENTS.md加硬规则:每次回复必须包含实质性产出或明确终止信号,禁止纯礼貌回合,需要结束时输出统一终止词。session.agentToAgent.maxPingPongTurns是最后一道保险丝,但最省钱的方案仍是前置规则。

6. 本篇常见错排查

报错一:消息串台,多个 Bot 抢同一个 Agent。检查 bindings 是否把不同 account 都指向了同一个 agentId。要隔离就分别绑不同 Agent。

报错二:子代理拉不起来。多半是subagents.allowAgents没写目标 Agent,或maxSpawnDepth太小。默认通常只能 spawn 到自己,跨 Agent 必须显式允许。

报错三:workspace 和 agentDir 配反导致协作异常。记住 workspace 共享文件视图、agentDir 隔离状态。配反会出现子 Agent 看不到产出或状态串扰。

报错四:群里两个 Bot 互相 @ 不闭环。Telegram 群组里 Bot 看不到其他 Bot 的消息,底层是 Bot API 事件可见性约束,即使都是管理员也通常无法稳定闭环。飞书主路径是用户消息触发加 @ 提及,不是 Bot 消息驱动 Bot。多数场景没必要做机器人互 @,优先用 sessions 内部通信。

报错五:模型调用 401 或通道不通。检查 TaoToken Key 是否有效、base URL 是否指向 https://taotoken.net/api ,以及 Key 是否按 Agent 角色分开配置。

报错六:上下文越来越长、成本飙升。这是没做上下文切片的典型症状。把任务用sessions_spawn拆给专业 Agent,按职责切片。

6.1 SOUL.md、AGENTS.md、skills 的分工

把所有规则塞进SOUL.md是高频坑。判断标准:人格原则放SOUL.md(角色身份、沟通语气、红线边界);协作规则放AGENTS.md(任务拆解策略、默认交付格式、何时 spawn);可复用操作手册做成skills/xxx/SKILL.md(重复动作模板、固定流程、跨 Agent 共用能力包)。

6.2 模型混用是成本控制核心

一个好用的配比:PM/协调 Agent 用高质量模型负责拆解、权衡、集成;执行型 subagents 按任务难度选性价比模型,格式整理、基础检查、批量转换可用低成本模型;高风险节点如架构决策、最终验收再切回高质量模型。这就是多 Agent 架构的关键优势之一:不是所有环节都要用最贵模型。

7. 按需接入:模型对话、Coding Plan 与接入文档

链路跑通后,按你的实际场景选入口。只是验证模型通不通,用模型对话页 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=chat&utm_campaign=rewrite 。长期做编码或 Agent 编排,看 Coding Plan https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 。接入配置和排障细节,查接入文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 。Key 管理在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。

回到架构本身,个人开发者的最佳起点通常不是“多 Bot 群聊编队”,而是一个协调入口 PM Bot、多个内部专业 Agent 用 subagents 并行、必要时再引入 agent-to-agent。这条路径兼顾上手速度、成本和可维护性。

把 Bot 当成手机号(入口),把 Model 当成思考引擎(大脑),把 Agent 当成带记忆与规则的执行岗位。你可以用一个手机号按事情转接给不同 Agent,也可以给每个 Agent 配独立专线。但除非你想把内部协作过程公开展示,否则优先用sessions_spawn做内部传球,而不是在群里互相 @。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询