Openclaw 命令行 TUI 中 使用多 Agent 协同完成任务
前言
现在我们试试让不同的agent扮演不同的身份, 协同工作.
建立 Agent 团队
我已经做了很多尝试, 根据我的经验, 最好先让openclaw学习一下自己的文档, 总结出来放在上下文里.
学习你自己openclaw的文档, 特别是 agent的设置, agent 之间的通信
在TUI中用自然语言发送以下要求 (蓝色部分你自己发挥)
新建一个agent协作团队, 团队中有多个agent新建这些agent, 设置他们的身份, 以及他们之间的协作关系注意是新增, 已有的agent main要保留注意是agent, 不是subagent为了agent之间可以发送信息, 注意修改 openclaw.json 文件的参数tools.sessions.visibility = alltools.agentToAgent.enabled = true1号 agent名称 = agent-leader身份 = 任务总负责人, 将总任务拆解为小任务, 分配给其它agent知识 = 知道其它agent的全量信息(包括身份和知识)2号 agent名称 = agent-code身份 = 从其它agent接受任务, 完成后通知任务发起者, 并提交成果特别的, 此agent是一个程序员知识 = 任务完成后的成果, 需要保存在 非workspace的目录下, 再交付出去3号 agent名称 = agent-test身份 = 从其它agent接受任务, 完成后通知任务发起者, 并提交成果特别的, 此agent是一个测试员, 接受测试对象和测试标准, 交付测试报告知识 = 任务完成后的成果, 需要保存在 非workspace的目录下, 再交付出去公共知识:这个团队里面都是已经存在的agent, 所以不要用 sessions_spawn, 而是要用 sessions_sendagent之间发消息用 sessions_send(sessionKey="...", message=...) 方法, 不要用label参数sessions_send 使用 timeoutSeconds = 0 参数, 不等待回报, 而是让接收方agent自己主动回报, 并且发出方agent可以定时检查.
* 灰色部分是我根据多次实验的结果, 总结出的常见容易出错的地方. 我认为随着openclaw和模型的发展, 未来会不需要这些补充信息.
等一会儿, openclaw 完成了
需要看一下做了什么. gpt-5.4 很有可能需要你要求才会重启gateway
检查一下workspace 目录也建立好了.
"监视" 各个Agent的 session (可选的)
如果你想看到多Agent协同工作的全过程, 你可以在多个SSH会话中打开多个 tui, 切换到不同的agent.
还记得我们在上一篇里提到的 /agent 命令吗?
省得加载一次agent main的session 还要用 /agent命令切换
source
source
测试各个Agent之间发送信息 (当下这个时间, 推荐你必做此测试, 未来应该是可选的)
在agent main中, 询问系统中总共有几个agent, 几个session
系统中总共有几个agent, 几个session
在agent main中, 测试分别 给其它 agent 的 session 发信息
测试分别 给其它 agent 的 session 发信息
在agent main中, 要求 agent-leader 测试分别 给其它 2个agent 的 session 发信息
要求 agent-leader 测试分别 给其它 2个agent 的 session 发信息
上面的这几个测试如果结果不对, 说明agent之间的通信机制都有问题. 就不要开始下面的复杂任务了 (其实也不复杂)
* 注: 清空上下文要用 /reset 不会新建session, 你的各个 agent 的 session应该保持为 main.
不要用 /new 这个会新建 session, 有可能会让agent之间的通信搞乱.
(当然, 我是站在当下这个时间说的, 未来这一点应该得到改善)
向 Agent 团队的 Leader 发总任务
用一个简单的开发任务作为例子.
把以下任务描述原样发送给 agent-leader 你不需要对任务进行分析开发一个生成随机密码的页面
核心功能 参考 https://crazypeace.github.io/xkcd-password-generator/
视觉风格 参考 https://onojyun.com/
我原本的期望是应该是这样的时间顺序
agent-leader向agnet-code发信息
在agent-code的tui中打印出来这条信息
agent-code干活
...
不知道是我的使用方式有问题, 还是openclaw的系统设计有问题.
整个agent"团队"的协作过程和最终结果我都不满意.
可能需要更多的提示词或更好的模型.
gpt-5.4 总是要在 session_send时使用label参数, 我已经提示了不要用, 但还老是使用. 我详细问过TA, 回答说是 session_send 这个函数在内部声明时有 label 参数, 所以模型总是会这样使用.
openrouter/hunter-alpha 没有这个问题, 我强调过后, 会按我的强调做. (当然也有可能是, 内部其实也总是尝试label参数, 只是不会打印在session里让我发现)
我要求了交付物不要放在 workspace 下, 但是 gpt-5.4 的处理是, 放在
/root/.openclaw/workspace-agent-code/password-generator-app/
/root/.openclaw/workspace-agent-leader/deliverables/password-generator-app/
很明显没有理解我的意思.
openrouter/hunter-alpha 的做法是 放在
/root/team-delivery/agent-code/
/root/team-delivery/agent-test/
明显这样更好, 也更像真实世界里的团队协作的实践.
后记
以上我用的模型是白嫖公益站的 gpt-5.4
免费的 nvidia/nemotron-3-super-120b-a12b 和 openrouter/hunter-alpha 我都试过, 常常前面看着没问题, 但是跑着跑着就没反应了, 或者超时了, 或者报错了. 我猜测是token用太多了吧.
随着openclaw越来越火, 我觉得模型厂家把针对openclaw系统的系统架构, 使用文档, 常见用法等 训练为模型的一部分, 是很有用的.
小米的模型 xiaomi/MiMo-V2-Pro 号称针对多agent协作 长上下文场景有优化, 我觉得是个好方向.
评论
发表评论