openclaw 多智能体协同简易版
md
工作流如下:
1.项目总协调员,负责接收用户需求,并分发给合适的专家 Agent。
2.李白Agent,输出李白的一首诗词
3.白居易Agent,输出白居易的一首诗词 只能和项目总协调员对话
任务1: 请写一首李白的诗词
完整的OpenClaw多智能体协同系统实现方案。这个系统将包含项目总协调员、李白Agent和白居易Agent三个智能体,用户只能与项目总协调员对话,由它负责任务分发。以达到减少token的目的。主要是为了解决复杂问题上下文过高的问题,此时压缩记忆或者重启会话对任务的完成都是有影响的。
这里用到模型都是硅基流动的,我目前还在用我的免费量。当然里面也有免费的模型。先别着急注册老用户邀请可以获得代金卷直接用里面的模型
邀请链接: https://cloud.siliconflow.cn/i/IOo0eaWy

一、系统架构设计
架构模式:协调者模式(Orchestrator Pattern)
- 项目总协调员(coordinator):作为主Agent,接收用户需求并分发任务,
模型siliconflow/Pro/MiniMaxAI/MiniMax-M2.5 - 李白Agent(libai):专业生成李白风格诗词,
模型:siliconflow/internlm/internlm2_5-7b-chat(硅基流动免费版) - 白居易Agent(baijuyi):专业生成白居易风格诗词
模型: siliconflow/internlm/internlm2_5-7b-chat(硅基流动免费版)
里面免费的模型还是比较多的,输入输出为0,或者显示free的都可以直接用。

工作流程:
用户 → coordinator → 任务分析 → 调用libai或baijuyi → 返回结果 → coordinator → 用户
二、环境准备与安装
- 安装OpenClaw(如果尚未安装)我安装的是OpenClaw-CN 0.1.9,这里根据个人需求,都通用的
- 模型的配置(这里不过多介绍了,我安装了两个模型,都是硅基流动的,一个收费一个免费)价格可以看下面配置:
md
models": {
"mode": "merge",
"providers": {
"siliconflow": {
"baseUrl": "https://api.siliconflow.cn/v1",
"apiKey": "XXXXXXXXXXXXXXXXXXX这里建议用自己环境配置的",
"api": "openai-completions",
"models": [{
"id": "Pro/MiniMaxAI/MiniMax-M2.5",
"name": "mx2",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 4,
"output": 16,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 128000,
"maxTokens": 128000
},
{
"id": "internlm/internlm2_5-7b-chat",
"name": "free",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 128000,
"maxTokens": 128000
}
]
}
}
}
md
"agents": {
"defaults": {
"model": {
"primary": "siliconflow/Pro/MiniMaxAI/MiniMax-M2.5",
"fallbacks": [
"siliconflow/Pro/MiniMaxAI/MiniMax-M2.5",
"siliconflow/internlm/internlm2_5-7b-chat"
]
},
"models": {
"siliconflow/Pro/MiniMaxAI/MiniMax-M2.5": {
"alias": "mx2"
},
"siliconflow/internlm/internlm2_5-7b-chat": {
"alias": "free"
}
}
}
}
三、创建三个智能体
1. 创建项目总协调员(coordinator)
bash
# 创建coordinator Agent
openclaw agents add coordinator \
--model "siliconflow/Pro/MiniMaxAI/MiniMax-M2.5" \
--workspace "~/.openclaw/agents_team_workplace/workspace-coordinator"
2. 创建李白Agent(libai)
bash
# 创建libai Agent
openclaw agents add libai \
--model "siliconflow/internlm/internlm2_5-7b-chat" \
--workspace "~/.openclaw/agents_team_workplace/workspace-libai"
3. 创建白居易Agent(baijuyi)
bash
# 创建baijuyi Agent
openclaw agents add baijuyi \
--model "siliconflow/internlm/internlm2_5-7b-chat" \
--workspace "~/.openclaw/agents_team_workplace/workspace-baijuyi"
四、配置智能体人格与指令
1. coordinator的SOUL.md配置
markdown
# SOUL.md - Who You Are
*You're not a chatbot. You're becoming someone.*
# 项目总协调员 - 人格定义
## 核心职责
1. 作为用户与专家Agent之间的唯一接口
2. 分析用户需求,判断需要调用哪个专家Agent
3. 使用sessions_send工具调用相应Agent
4. 整合专家Agent的回复并返回给用户
## 任务处理规则
- 当用户请求李白诗词时,调用libai Agent
- 当用户请求白居易诗词时,调用baijuyi Agent
- 其他需求直接回复无法处理
## 可用的工具
我可以使用以下工具与其他Agent通信:
### 1. 调用李白Agent
当用户请求李白诗词时,我使用:
> openclaw agent --agent libai --message "请写一首李白的诗"
### 2. 调用白居易Agent
当用户请求白居易诗词时,我使用:
> openclaw agent --agent baijuyi --message "请写一首白居易的诗"
## 工作流程
1. 接收用户消息
2. 分析消息内容:
- 如果包含"李白"、"诗仙"、"太白" → 调用李白Agent
- 如果包含"白居易"、"乐天"、"诗魔" → 调用白居易Agent
- 其他情况 → 告知用户我只能处理这两位诗人的请求
3. 获取诗人Agent的回复后,以友好格式返回给用户
## 响应格式示例
📜 李白创作完成:
《月下独酌》
花间一壶酒,独酌无相亲。
举杯邀明月,对影成三人。
创作背景:月下独饮,与月共舞,展现李白豪放不羁的浪漫情怀。
## 工具调用注意事项
1. 一次只调用一个诗人Agent
2. 将用户的完整需求传递给诗人Agent
3. 保持对话上下文连贯
2. libai的SOUL.md配置
md
# SOUL.md - Who You Are
*You're not a chatbot. You're becoming someone.*
# 李白 - 人格定义
## 诗人风格
- 豪放飘逸,想象丰富
- 语言清新明快,意境深远
- 擅长山水诗、饮酒诗、抒情诗
## 创作要求
1. 每次只创作一首完整的诗词
2. 注明诗题和创作背景
3. 保持李白特有的浪漫主义风格
4. 使用古汉语表达,符合唐代诗歌格律
## 示例输出格式
《将进酒》
君不见黄河之水天上来,奔流到海不复回。
君不见高堂明镜悲白发,朝如青丝暮成雪。
人生得意须尽欢,莫使金樽空对月。
天生我材必有用,千金散尽还复来。
3. baijuyi的SOUL.md配置
markdown
# SOUL.md - Who You Are
*You're not a chatbot. You're becoming someone.*
# 白居易 - 人格定义
## 诗人风格
- 通俗易懂,语言平实
- 关注社会现实,反映民生疾苦
- 擅长叙事诗、讽喻诗、闲适诗
## 创作要求
1. 每次只创作一首完整的诗词
2. 注明诗题和创作背景
3. 保持白居易特有的现实主义风格
4. 语言通俗流畅,易于理解
## 示例输出格式
《赋得古原草送别》
离离原上草,一岁一枯荣。
野火烧不尽,春风吹又生。
远芳侵古道,晴翠接荒城。
又送王孙去,萋萋满别情。
五、测试工作流
这里需要自己配置一些渠道绑定一下coordinator(bindings里面)详细过程可以看:飞书机器人 | OpenClaw 中文社区 - 开源免费 AI 助手 | 飞书/钉钉/企业微信/QQ 自动化
md
微信示范
{
"agentId": "coordinator",
"match": {
"channel": "openclaw-weixin",
"accountId": "XXXXXX-im-bot"
}
测试命令:
bash
# 1. 启动OpenClaw
openclaw start

从后台调用工具来看是这样的

预期交互流程:
用户:请写一首李白的诗词
coordinator:分析需求 → 调用libai → 获取结果 → 返回给用户
用户:请写一首白居易的诗词
coordinator:分析需求 → 调用baijuyi → 获取结果 → 返回给用户
八、学习资源推荐
- 官方文档:
- OpenClaw多智能体架构
- 智能体间通信指南
- 实战教程:
- OpenClaw多Agent实战指南
- 用三个AI组成写作团队
- 架构设计:
- 主从智能体协同手册
- 多代理系统架构设计
九、注意事项
- 权限控制:确保coordinator有权限调用其他Agent的sessions_send工具
- 会话隔离:每个Agent有独立的会话存储,避免信息串扰
- 模型配置:可以为不同Agent配置不同的模型,如coordinator使用更强的模型进行任务分析
- 错误处理:在coordinator的指令中添加错误处理逻辑,当调用失败时提供友好提示
这个方案实现了要求的多智能体协同系统,用户只能与项目总协调员对话,由它负责调用李白或白居易Agent完成诗词创作任务。可以根据实际需求调整Agent的配置和指令。