openclaw 多智能体协同简易版
完整的OpenClaw多智能体协同系统实现方案。这个系统将包含项目总协调员、李白Agent和白居易Agent三个智能体,用户只能与项目总协调员对话,由它负责任务分发。以达到减少token的目的。主要是为了解决复杂问题上下文过高的问题,此时压缩记忆或者重启会话对任务的完成都是有影响的。这里用到模型都是硅基流动的,我目前还在用我的免费量。当然里面也有免费的模型。先别着急注册老用户邀请可以获得代金卷直接用里面的模型一、系统架构设计
架构模式:协调者模式(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的都可以直接用。二、环境准备与安装
- 安装OpenClaw(如果尚未安装)我安装的是OpenClaw-CN 0.1.9,这里根据个人需求,都通用的
- 模型的配置(这里不过多介绍了,我安装了两个模型,都是硅基流动的,一个收费一个免费)价格可以看下面配置:
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 } ] } }}
"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" } }}}
三、创建三个智能体
# 创建coordinator Agentopenclaw agents add coordinator \ --model "siliconflow/Pro/MiniMaxAI/MiniMax-M2.5" \ --workspace "~/.openclaw/agents_team_workplace/workspace-coordinator"
# 创建libai Agentopenclaw agents add libai \ --model "siliconflow/internlm/internlm2_5-7b-chat" \ --workspace "~/.openclaw/agents_team_workplace/workspace-libai"
# 创建baijuyi Agentopenclaw agents add baijuyi \ --model "siliconflow/internlm/internlm2_5-7b-chat" \ --workspace "~/.openclaw/agents_team_workplace/workspace-baijuyi"
四、配置智能体人格与指令
# SOUL.md - Who You Are*You're not a chatbot. You're becoming someone.*# 项目总协调员 - 人格定义## 核心职责1. 作为用户与专家Agent之间的唯一接口2. 分析用户需求,判断需要调用哪个专家Agent3. 使用sessions_send工具调用相应Agent4. 整合专家Agent的回复并返回给用户## 任务处理规则- 当用户请求李白诗词时,调用libai Agent- 当用户请求白居易诗词时,调用baijuyi Agent- 其他需求直接回复无法处理## 可用的工具我可以使用以下工具与其他Agent通信:### 1. 调用李白Agent当用户请求李白诗词时,我使用:```jsonopenclaw agent --agent libai --message "请写一首李白的诗"```### 2. 调用白居易Agent当用户请求白居易诗词时,我使用:```jsonopenclaw agent --agent baijuyi --message "请写一首白居易的诗"```## 工作流程1. 接收用户消息2. 分析消息内容: - 如果包含"李白"、"诗仙"、"太白" → 调用李白Agent - 如果包含"白居易"、"乐天"、"诗魔" → 调用白居易Agent - 其他情况 → 告知用户我只能处理这两位诗人的请求3. 获取诗人Agent的回复后,以友好格式返回给用户## 响应格式示例📜 李白创作完成:《月下独酌》花间一壶酒,独酌无相亲。举杯邀明月,对影成三人。创作背景:月下独饮,与月共舞,展现李白豪放不羁的浪漫情怀。## 工具调用注意事项1. 一次只调用一个诗人Agent2. 将用户的完整需求传递给诗人Agent3. 保持对话上下文连贯
# SOUL.md - Who You Are*You're not a chatbot. You're becoming someone.*# 李白 - 人格定义## 诗人风格- 豪放飘逸,想象丰富- 语言清新明快,意境深远- 擅长山水诗、饮酒诗、抒情诗## 创作要求1. 每次只创作一首完整的诗词2. 注明诗题和创作背景3. 保持李白特有的浪漫主义风格4. 使用古汉语表达,符合唐代诗歌格律## 示例输出格式《将进酒》君不见黄河之水天上来,奔流到海不复回。君不见高堂明镜悲白发,朝如青丝暮成雪。人生得意须尽欢,莫使金樽空对月。天生我材必有用,千金散尽还复来。
五、测试工作流
这里需要自己配置一些渠道绑定一下coordinator(bindings里面)详细过程可以看:飞书机器人 | OpenClaw 中文社区 - 开源免费 AI 助手 | 飞书/钉钉/企业微信/QQ 自动化六、注意事项
- 权限控制:确保coordinator有权限调用其他Agent的sessions_send工具
- 会话隔离:每个Agent有独立的会话存储,避免信息串扰
- 模型配置:可以为不同Agent配置不同的模型,如coordinator使用更强的模型进行任务分析
- 错误处理:在coordinator的指令中添加错误处理逻辑,当调用失败时提供友好提示
这个方案实现了要求的多智能体协同系统,用户只能与项目总协调员对话,由它负责调用李白或白居易Agent完成诗词创作任务。可以根据实际需求调整Agent的配置和指令。