OpenClaw 采用 中央网关(Gateway)+ 多代理隔离 的架构模式来实现代理协同:
1. 代理完全隔离
每个代理拥有完全独立的运行环境:
- 独立工作空间:每个代理有自己的文件系统和配置文件(AGENTS.md、SOUL.md 等)
- 独立状态目录:认证信息、模型注册、会话存储都相互隔离
- 独立会话存储:会话历史存储在各自的目录下
2. 协同通信机制
OpenClaw 提供三种主要的协同模式:
A. 代理间直接消息传递(sessions_send)
- 用于代理之间的点对点通信
- 支持等待回复模式和即发即忘模式
- 包含自动的 ping-pong 回复循环和宣告机制
B. 子代理委派(sessions_spawn)
- 父代理可以生成子代理处理特定任务
- 子代理在独立会话中运行,完成后自动回报结果
- 支持跨代理委派(需配置白名单)
C. 广播组(Broadcast Groups)
- 多个代理同时处理同一消息
- 支持并行或顺序处理策略
- 适用于专业团队协作场景
1. 基础代理配置
在 中配置多个代理:
2. 启用代理间通信
必须显式启用并配置白名单:
3. 配置子代理权限
允许代理生成和委派子代理:
4. 配置沙箱隔离(可选但推荐)
为不同代理配置不同的安全级别:
步骤 1:总指挥代理分析和规划
总指挥代理收到需求后,进行分析并生成任务清单:
- 在自己的工作空间创建项目规划文档
- 定义各子任务和交付标准
- 使用 委派任务给项目经理代理
工具调用示例:
步骤 2:项目经理代理细化任务
项目经理代理在独立会话中工作:
- 接收总指挥的任务描述
- 进一步拆解为具体的执行单元
- 使用 为每个团队成员创建子任务
连续委派示例:
步骤 3:团队成员并行工作
开发和测试代理在各自隔离的会话中独立工作:
- 会话隔离:每个代理使用 格式的会话键
- 独立上下文:不会看到其他代理的消息历史
- 独立工作空间:文件操作在各自的沙箱中进行 11
步骤 4:子代理自动回报结果
每个子代理完成任务后自动执行宣告步骤:
- 系统运行宣告步骤(announce step)
- 子代理总结工作成果
- 结果自动发送回父代理的聊天频道
- 包含统计信息:运行时间、token 使用、会话信息等
步骤 5:项目经理整合子项目
项目经理代理收到所有团队成员的回报后:
- 使用 查看各子任务的详细历史(如需要)
- 整合所有交付成果
- 进行质量检查和验证
- 在自己的宣告步骤中将整合结果回报给总指挥
查看子任务历史示例:
步骤 6:总指挥最终整合
总指挥代理接收项目经理的整合报告后:
- 审查所有交付成果
- 进行最终质量把关
- 如需补充工作,可再次使用 发送反馈
- 生成最终完整的项目交付
使用 sessions_send 进行双向沟通:
1. Ping-Pong 交互模式
当需要代理间多轮对话时, 自动支持 ping-pong 循环:
- 最多 5 轮交互(可配置)
- 任一方回复 即可终止循环
- 适用于需要澄清或迭代的场景
2. 使用 Lobster 实现确定性工作流
对于需要严格步骤控制和审批的场景,可以结合 Lobster 工具:
- 定义多步骤管道
- 内置审批检查点
- 可恢复的工作流状态
- 适合替代复杂的代理间协调
3. 广播组用于专业团队
如果需要多个代理同时评审同一任务:
所有代理会并行处理相同消息,各自提供专业视角。
1. 隔离性保障
- ✅ 为每个代理配置独立的工作空间
- ✅ 使用沙箱限制敏感代理的工具访问
- ✅ 配置 限制会话可见性
2. 协同效率
- ✅ 总指挥和项目经理使用更强大的模型(如 Opus)
- ✅ 执行型代理可使用较快的模型(如 Sonnet)
- ✅ 设置合理的 避免长时间挂起
3. 错误处理
- ✅ 检查子代理的 字段(success/error/timeout)
- ✅ 使用 查看失败任务的详细日志
- ✅ 配置自动归档清理完成的子代理会话
关键配置要点:
- 必须显式启用跨代理通信: 是前提条件,否则代理间消息会被拒绝
- 会话键格式:子代理使用 格式,确保完全隔离
- 认证信息隔离:每个代理的认证配置存储在各自的
- 工具策略是安全关键:通过 精确控制每个代理的能力边界
- 宣告机制是异步的:子代理完成后的回报是尽力而为(best-effort),网关重启可能导致宣告丢失
OpenClaw 的这种架构设计使得代理既能保持完全独立(各自的工作空间、会话、权限),又能通过结构化的工具调用实现无缝协同,非常适合您描述的层级化任务委派场景。
Citations
File: /concepts/multi-agent.md
~/.openclaw/agents//agent/auth-profiles.json
File: concepts/multi-agent.md
File: concepts/multi-agent.md
File: concepts/session-tool.md
File: concepts/session-tool.md
File: concepts/session-tool.md
File: tools/subagents.md
File: tools/subagents.md
File: tools/subagents.md
File: tools/subagents.md
File: tools/subagents.md
File: channels/broadcast-groups.md
File: channels/broadcast-groups.md
File: channels/broadcast-groups.md
File: agents/tools/sessions-send-tool.ts
File: tools/lobster.md
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/230184.html