共计 3367 个字符,预计需要花费 9 分钟才能阅读完成。
玩转 OpenClaw|如何配置多个相互独立的 Agent?
本文首发于腾讯云开发者社区,介绍如何在 OpenClaw 中配置多个相互独立的智能体。
为什么需要多个 Agent?
在单一 Agent 模式下,你只有一个 ” 大脑 ” 处理所有任务。但实际工作中,我们往往需要不同的角色:
- 研究助手 — 负责搜集信息、整理资料
- 内容创作 — 负责写作、编辑、发布
- 客服助手 — 负责回答用户问题
- 数据分析 — 负责处理数据、生成报告
多个 Agent 可以让你:
- ✅ 为不同任务配置专属 ” 人格 ”
- ✅ 使用不同的模型(快速任务用轻量模型,复杂任务用高级模型)
- ✅ 隔离数据和会话(研究数据不会混入客服对话)
- ✅ 独立配置工具权限(某些 Agent 只能读取,不能写入)
核心概念
什么是 Agent?
Agent(智能体) 是一个完全独立的 AI 大脑,拥有:
- 独立工作区(workspace)— 包含 SOUL.md、AGENTS.md、USER.md 等身份文件
- 独立状态目录(agentDir)— 存储认证信息、模型配置
- 独立会话存储 — 聊天记录互不干扰
关键术语
| 术语 | 说明 | 示例 |
|---|---|---|
agentId |
智能体唯一标识 | main、research、content |
workspace |
工作区路径 | ~/.openclaw/workspace-research |
agentDir |
状态目录 | ~/.openclaw/agents/research/agent |
accountId |
渠道账号(如飞书应用) | main、amazon |
binding |
路由规则 | 飞书 main 账号 → main agent |
配置步骤
步骤 1:创建新 Agent
使用 OpenClaw 命令行工具:
openclaw agents add research
这会创建:
- 工作区:
~/.openclaw/workspace-research - 状态目录:
~/.openclaw/agents/research/agent - 会话存储:
~/.openclaw/agents/research/sessions
步骤 2:配置身份文件
在新工作区创建核心文件:
SOUL.md(人格定义)
# SOUL.md - 研究助手
** 身份 **:专业研究分析师
** 职责 **:搜集信息、整理资料、提供深度分析
** 风格 **:严谨、客观、数据驱动
IDENTITY.md(快速参考)
# IDENTITY.md
- ** 名称 **:Research Bot
- ** 表情 **:📊
- ** 语气 **:专业、简洁
USER.md(服务对象)
# USER.md
- ** 姓名 **:张三
- ** 时区 **:Asia/Shanghai
- ** 偏好 **:早晨 9 点发送日报
步骤 3:配置多账号(以飞书为例)
编辑 ~/.openclaw/openclaw.json:
{
"channels": {
"feishu": {
"accounts": {
"main": {
"appId": "cli_a9f06d0247badbdc",
"appSecret": "SGRx6ej1vrM6KcKQRGkwSbjqkddrHlPe"
},
"research": {
"appId": "cli_xxx_research_app",
"appSecret": "xxx_research_secret"
}
}
}
}
}
步骤 4:配置路由规则(bindings)
{
"agents": {
"list": [{"id": "main", "workspace": "~/.openclaw/workspace"},
{"id": "research", "workspace": "~/.openclaw/workspace-research"}
]
},
"bindings": [
{
"agentId": "research",
"match": {"channel": "feishu", "accountId": "research"}
},
{
"agentId": "main",
"match": {"channel": "feishu", "accountId": "main"}
}
]
}
步骤 5:重启并验证
# 重启网关
openclaw gateway restart
# 验证配置
openclaw agents list --bindings
openclaw channels status
路由规则详解
OpenClaw 使用 确定性路由,第一个匹配的规则获胜。
优先级(从高到低)
- peer 匹配 — 精确匹配 DM/ 群组 ID
- parentPeer 匹配 — 线程继承
- guildId + roles — Discord 角色路由
- guildId — Discord 服务器
- teamId — Slack 团队
- accountId 匹配 — 渠道账号
- 渠道级匹配 —
accountId: "*" - fallback — 默认 agent
实用路由模式
模式 1:按渠道分离
bindings: [{agentId: "chat", match: {channel: "whatsapp"}},
{agentId: "deep", match: {channel: "telegram"}}
]
模式 2:同渠道不同用户
bindings: [{agentId: "vip", match: {channel: "whatsapp", peer: {kind: "direct", id: "+15551234567"}}},
{agentId: "standard", match: {channel: "whatsapp"}}
]
模式 3:特殊群组路由
bindings: [{agentId: "family", match: {channel: "whatsapp", peer: {kind: "group", id: "120363xxx@g.us"}}},
{agentId: "main", match: {channel: "whatsapp"}}
]
安全隔离
沙箱配置
每个 Agent 可以独立配置沙箱:
{
"agents": {
"list": [
{
"id": "trusted",
"sandbox": {"mode": "off"}
},
{
"id": "untrusted",
"sandbox": {
"mode": "all",
"scope": "agent"
}
}
]
}
}
工具权限
限制 Agent 可用的工具:
{
"agents": {
"list": [
{
"id": "reader",
"tools": {"allow": ["read"],
"deny": ["exec", "write", "edit"]
}
}
]
}
}
基于文件的协作
多个 Agent 可以通过文件系统协作,无需 API 调用:
单写者原则
每个共享文件只允许一个 Agent 写入,其他 Agent 读取:
research agent → intel/DAILY-INTEL.md ← content agent
← analysis agent
共享上下文层
创建 shared-context/ 目录:
- THESIS.md — 当前思维框架,所有 Agent 对齐
- FEEDBACK-LOG.md — 跨 Agent 纠正,一次纠正全员生效
最佳实践
- 精确匹配优先 — peer 绑定放在 channel 绑定前面
- 命名规范 — 使用有意义的 agentId(如
research、content) - 独立认证 — 不要共享 agentDir,每个 Agent 独立认证
- 定期备份 — 备份
~/.openclaw/agents/*/sessions - 渐进式建设 — 先跑通单个 Agent,再扩展多 Agent
- 文件积累 — 让 SOUL.md、AGENTS.md 随使用进化
常见问题
Q: 多个 Agent 会消耗更多资源吗?
A: 是的,每个 Agent 独立运行。建议根据任务配置模型(快速任务用轻量模型)。
Q: 可以在运行时切换 Agent 吗?
A: 可以,通过 binding 规则动态路由。
Q: 如何迁移现有会话?
A: 会话存储在 ~/.openclaw/agents/<agentId>/sessions,可以手动复制。
Q: 飞书机器人需要配置什么?
A: 每个 Agent 对应一个飞书应用,需要独立的 App ID 和 App Secret。
总结
OpenClaw 的多 Agent 系统让你可以:
- ✅ 创建多个独立 ” 人格 ” 的 AI 助手
- ✅ 为不同任务配置专属 Agent
- ✅ 通过文件系统实现协作
- ✅ 独立控制权限和资源
核心理念:不是调 prompt,不是换模型,而是通过文件积累上下文。每个 Agent 周围的文件会变得更丰富、更精准、更贴合你的需求——这些积累的上下文才是护城河。
参考文档:
最后更新:2026-03-06