在 OpenClaw 中,让一个智能体(主 Agent)指挥另一个智能体(子 Agent)工作,主要通过 任务调度、委派协议和工具调用 实现,以下是核心方法和操作步骤:

一、核心机制

OpenClaw 支持两种主要协同模式:

- 持久化智能体(Persistent Agents):长期运行,绑定到特定渠道(如飞书群、Telegram 账号),拥有独立记忆、模型和工具权限。
- 子智能体(Sub-agents):由主 Agent 按需动态创建,用于执行特定任务,完成后归档。

要实现“指挥”,通常采用 主 Agent + 子 Agent 的架构,其中主 Agent 负责决策、拆解任务并调用子 Agent 执行。

二、实现步骤

1. 创建多个智能体
   - 使用命令行添加至少两个智能体:一个作为主调度器(如 `main`),另一个作为执行者(如 `coder`、`researcher`)。

   openclaw agents add --workspace ~/.openclaw/workspace-main main
   openclaw agents add --workspace ~/.openclaw/workspace-coder coder

2. 配置主 Agent 为调度器
   - 在主 Agent 的 `SOUL.md` 或 `AGENTS.md` 文件中定义 委派协议,明确其职责是“指挥”而非“亲自动手”。
   - 示例规则(来自资料 ):

Orchestration Contract
     1. You are the orchestrator (main), not a single-run responder.
     2. For info-heavy, repetitive, or broad web tasks, delegate to subagent `coder`.
     3. Delegation protocol:
        - Send coder a clear subtask with required output format.
        - Wait for coder result.
        - Validate result quality and gaps.
        - Produce final answer yourself.
     4. Never end with a planning placeholder.

3. 启用 Agent 间通信
   - 在全局配置 `~/.openclaw/openclaw.json` 中启用 `agentToAgent` 工具:

     {
       "tools": {
         "agentToAgent": {
           "enabled": true,
           "allow": ["main", "coder"]
         }
       }
     }

4. 绑定路由规则
   - 确保主 Agent 是唯一入口(如绑定到用户私聊或主群),子 Agent 可通过主 Agent 调用,但不直接暴露给用户。
   - 示例绑定(飞书群组):

  {
       "bindings": [
         {
           "agentId": "main",
           "match": { "channel": "feishu", "peer": { "kind": "group", "id": "oc_5b6799cff4a754c15e5ff3025becc648" } }
         }
       ]
     }

5. 主 Agent 调用子 Agent
   - 主 Agent 可通过 OpenClaw 内置命令(如 `sessions_send` 或 `agentToAgent` 工具)向子 Agent 发送任务。
   - 示例自然语言指令(用户对主 Agent 说):
    > “请用 coder 分析这段代码并优化。”

三、关键要点

- 职责分离:主 Agent 负责理解上下文、拆解任务、整合结果;子 Agent 专注执行具体操作(如写代码、查资料)。
- 成本优化:主 Agent 可使用高性能模型(如 Claude Sonnet),子 Agent 使用轻量模型(如 Haiku)以节省 Token。
- 隔离性:每个智能体有独立 workspace,避免记忆和工具权限污染。
- 验证调用:可通过日志确认子 Agent 是否被真实调用:

grep -i "provider=qwen" /tmp/openclaw/*.log

四、推荐实践

- 适用场景:复杂工作流(如开发、研究、内容创作)。
- 避免误区:不要让主 Agent “假装”调用子 Agent 而不真正执行(需通过日志验证)。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐