CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
OpenClaw 实战入门/课时/Agents 与路由
RawBlame
课时目录12 节

OpenClaw 实战入门

  1. 01OpenClaw 概览
  2. 02安装与部署
  3. 03Workspace 文件
  4. 04Gateway 与上下文
  5. 05模型与 Provider
  6. 06Channels 集成
  7. 07Skills 生态
  8. 08Memory 系统
  9. 09Agents 与路由
  10. 10自动化
  11. 11安全
  12. 12运维与插件

Agents 与路由

Agent loop 与 multi-agent。

30 分钟

Agents 与路由

这一课你将能做到

  1. 理解 OpenClaw 的 agent 循环(agent loop)与主动核心(proactive core)
  2. 配置多 agent 并设置路由规则
  3. 为「评审 bot + 值班 bot + 日报 bot」设计多 agent 架构

为什么要学

一个 bot 什么都会等于什么都不精。评审 bot 需要冷静严谨,值班 bot 需要紧急响应,日报 bot 需要活泼亲切——用一个 agent 硬撑三种人格,结果往往是人格分裂。OpenClaw 的多 agent 路由让不同渠道、不同场景、不同用户群走不同的 agent,各有人设、各有记忆、各有权限。

人话:多 agent 就是给团队招不同性格的「虚拟员工」,而不是逼一个员工八面玲珑。

先建立图像

消息进入 Gateway
    │
    ▼
路由层(Routing)
    ├── 按渠道:Slack #code-review → 评审 agent
    ├── 按关键词:含「告警」「紧急」→ 值班 agent
    ├── 按用户:管理员 DM → 高权限 agent
    └── 默认:其他 → 通用 agent
    │
    ▼
Agent 循环(Agent Loop)
    ├── 接收消息 + 上下文
    ├── 调用模型推理
    ├── 可能调用工具(skills / MCP)
    ├── 生成回复
    └── 写记忆、写日志
    │
    ▼
主动核心(Proactive Core)
    ├── 定时任务触发(cron)
    ├── 事件触发(webhook / hook)
    └── 心跳检查(heartbeat)

每个 agent 是独立的:独立 workspace、独立记忆、独立模型配置、独立权限。

跟着做

步骤 1:查看当前 agent 配置

openclaw config get agents
openclaw agents list

步骤 2:配置多 agent

编辑 ~/.openclaw/openclaw.json:

{
  "agents": {
    "defaults": {
      "systemAgent": {
        "agentId": "assistant",
        "model": "claude-sonnet-4-20250514"
      }
    },
    "entries": {
      "reviewer": {
        "workspace": "~/.openclaw/workspaces/reviewer",
        "systemAgent": {
          "model": "claude-sonnet-4-20250514"
        },
        "description": "代码评审 bot,严谨、直接、引用规范"
      },
      "oncall": {
        "workspace": "~/.openclaw/workspaces/oncall",
        "systemAgent": {
          "model": "claude-sonnet-4-20250514"
        },
        "description": "值班问答 bot,紧急优先、步骤导向"
      },
      "standup": {
        "workspace": "~/.openclaw/workspaces/standup",
        "systemAgent": {
          "model": "claude-3-haiku"
        },
        "description": "日报 bot,轻量、活泼、定时触发"
      }
    }
  }
}

步骤 3:为每个 agent 准备 workspace

mkdir -p ~/.openclaw/workspaces/reviewer
mkdir -p ~/.openclaw/workspaces/oncall
mkdir -p ~/.openclaw/workspaces/standup

每个目录下放独立的 SOUL.md、AGENTS.md、USER.md(见第 3 课)。

步骤 4:配置路由规则

路由可以通过渠道配置绑定到特定 agent:

{
  "channels": {
    "slack": {
      "accounts": {
        "default": {
          "agentId": "assistant"
        }
      },
      "channels": {
        "C01234567": {
          "agentId": "reviewer"
        }
      }
    }
  }
}

步骤 5:验证路由

openclaw gateway restart
openclaw agents list
openclaw channels status --probe

在 Slack 的 #code-review 频道发消息,确认走 reviewer agent;在 DM 发消息,确认走默认 assistant。

讲清楚要点

  1. agent 是配置单元,不是进程:所有 agent 共享同一个 Gateway 进程,但各自有独立的 workspace、记忆、模型配置和权限边界。开销极小,隔离有效。
  2. 路由规则按优先级匹配:精确渠道/群组 > 渠道默认 > 全局默认。匹配不到时落到 agents.defaults.systemAgent.agentId。
  3. 主动核心让 agent 「自己动起来」:cron 定时触发、webhook 事件触发、心跳检查——bot 不再只是被动响应,而是主动发起动作。
  4. agent 间可以委托(delegate):主 agent 可以把子任务委派给专家 agent 执行,结果汇总后回复。这是「并行专家通道」的基础。
  5. 每个 agent 的记忆独立:reviewer 不知道 oncall 的记忆,反之亦然。这是特性不是 bug——避免信息串扰和权限泄露。

你可能会懵的地方

  • 多 agent 和多渠道什么关系? 渠道是「消息从哪来」,agent 是「谁来处理」。一个渠道可以路由到不同 agent(按群组/用户),一个 agent 也可以服务多个渠道。两者正交。

  • agent 切换会影响已有会话吗? 不会。已有会话的 agent 绑定在会话创建时确定,中途改路由只影响新会话。

  • 怎么让 reviewer agent 也能被 DM 咨询? 配置 DM 路由规则:channels.slack.accounts.default.dms."U123456".agentId = "reviewer"。特定用户私聊时走特定 agent。

  • agent 数量有上限吗? 技术上没有硬上限,但每个 agent 的 workspace 注入消耗 token,agent 越多配置越复杂。经验值:一个团队 3-5 个 agent 足够覆盖场景。

  • proactive core 和 cron 什么关系? proactive core 是概念层(agent 主动行动的能力),cron 是实现手段之一(定时触发)。webhook、hook、heartbeat 也是 proactive core 的触发源。

错法对照

错法问题正解
一个 agent 包打天下人格分裂,规则冲突按场景拆 agent,各有人设和权限
路由规则写得太笼统消息走错 agent,答非所问精确到渠道/群组/用户三级
所有 agent 用同一个 workspace人设和规则互相污染每个 agent 独立 workspace 目录
给 standup bot 配最贵模型日报不需要深度推理,浪费钱轻量任务用轻量模型
忽略 agent 记忆隔离敏感信息跨 agent 泄露默认隔离是保护,不强行打通

卡点急救

  1. 消息没走预期的 agent:openclaw agents list 确认 agent 存在;检查路由规则的渠道 ID/群组 ID 是否准确;openclaw gateway restart 确保配置加载。
  2. agent 响应风格不对:确认该 agent 的 workspace 路径正确;确认 SOUL.md/AGENTS.md 已写入;开新会话测试(旧会话上下文冻结)。
  3. 多 agent 记忆串了:检查是否误配了共享 workspace 或共享记忆目录;每个 agent 应完全独立。

面试常问

  • OpenClaw 的多 agent 架构如何实现? 在 agents.entries 中定义多个 agent,每个有独立 id、workspace、模型配置、描述。Gateway 路由层按渠道、群组、用户三级规则匹配,将消息路由到对应 agent。各 agent 共享进程但隔离状态(workspace、记忆、会话),支持按需委托(delegate)实现并行专家协作。

  • agent 路由的设计原则? 最小惊讶原则:用户预期哪个 bot 响应,就走哪个 agent;最小权限原则:高权限 agent 只暴露给可信渠道;成本最优原则:轻量任务路由到轻量模型 agent;可观测原则:路由决策写日志,异常路由可告警。

  • proactive core 与被动响应的区别? 被动响应是「用户问→bot 答」;proactive core 是「条件满足→bot 主动行动」。后者由 cron(定时)、webhook(外部事件)、hook(内部事件)、heartbeat(周期检查)触发,让 bot 从「问答机器」变成「主动同事」——比如每天早上主动发昨日部署汇总,而不是等有人问。

自测三问

  1. 多 agent 与多渠道的关系是什么?
  2. 为什么每个 agent 需要独立的 workspace?
  3. proactive core 的四种触发方式是什么?

小结一句话

多 agent 路由让 bot 团队化:不同渠道、不同场景走不同人格的 agent,各有人设、记忆、权限,主动核心让 bot 从被动响应变成主动协作。

延伸

  • 多 agent 路由
  • Agent 配置参考
  • 下一课:自动化——cron、hooks、webhooks,让 bot 按时间表和事件驱动工作。
加载本节练习…
← 上一课Memory 系统下一课 →自动化