首页 教程 分类 Skills下载 关于
ZH EN JA KO
高级用法

多代理协作与路由高级教程

· 10 分钟

多代理协作概述

OpenClaw 的多代理系统允许多个具有不同专长的 AI 代理协同工作。通过消息路由和任务委托机制,用户的请求会被自动分配给最合适的代理处理。

代理定义

定义多个专业代理:

{
  "agents": {
    "receptionist": {
      "displayName": "前台接待",
      "model": "fast",
      "systemPrompt": "你是前台接待员,负责理解用户意图并将请求转发给合适的专家。你不直接回答专业问题。",
      "temperature": 0.3
    },
    "tech-support": {
      "displayName": "技术支持",
      "model": "code-expert",
      "systemPrompt": "你是高级技术支持工程师,擅长解决技术问题、代码调试和系统配置。",
      "tools": ["code_exec", "web_search"]
    },
    "writer": {
      "displayName": "写作助手",
      "model": "smart",
      "systemPrompt": "你是专业写作助手,擅长文案撰写、内容创作和文本编辑。",
      "temperature": 0.8
    },
    "data-analyst": {
      "displayName": "数据分析师",
      "model": "smart",
      "systemPrompt": "你是数据分析师,擅长数据解读、图表建议和统计分析。",
      "tools": ["code_exec"]
    }
  }
}

路由策略

关键词路由

{
  "routing": {
    "strategy": "keyword",
    "rules": [
      {"match": "代码|bug|部署|服务器|API", "agent": "tech-support"},
      {"match": "写|文案|文章|翻译|编辑", "agent": "writer"},
      {"match": "数据|报表|统计|图表|分析", "agent": "data-analyst"},
      {"match": ".*", "agent": "receptionist"}
    ]
  }
}

意图分类路由

使用 AI 进行意图分类:

{
  "routing": {
    "strategy": "classifier",
    "classifierModel": "fast",
    "classifierPrompt": "分析以下用户消息的意图,返回一个类别:technical(技术问题)、writing(写作需求)、data(数据分析)、general(其他)。只返回类别名称,不要其他内容。",
    "mapping": {
      "technical": "tech-support",
      "writing": "writer",
      "data": "data-analyst",
      "general": "receptionist"
    }
  }
}

对话中切换代理

用户可以在对话中主动切换代理:

{
  "routing": {
    "allowManualSwitch": true,
    "switchCommands": {
      "/tech": "tech-support",
      "/write": "writer",
      "/data": "data-analyst",
      "/help": "receptionist"
    }
  }
}

代理间委托

代理可以将任务委托给其他代理:

{
  "agents": {
    "receptionist": {
      "canDelegate": ["tech-support", "writer", "data-analyst"],
      "delegatePrompt": "如果用户的问题超出你的能力范围,请使用 delegate 工具将对话转给合适的专家。"
    }
  }
}

对话示例:

用户: 帮我分析一下这份销售数据
前台接待: 这个问题需要数据分析专家来处理,我帮你转接。
[自动切换到数据分析师]
数据分析师: 好的,请发送你的销售数据,我来帮你分析。

多代理协作管道

配置代理之间的协作流程:

{
  "pipelines": {
    "content-review": {
      "steps": [
        {"agent": "writer", "action": "generate", "prompt": "根据用户需求撰写文章"},
        {"agent": "tech-support", "action": "review", "prompt": "检查文章中的技术准确性"},
        {"agent": "writer", "action": "revise", "prompt": "根据审查意见修改文章"}
      ]
    }
  }
}

共享上下文

多代理之间共享对话上下文:

{
  "routing": {
    "sharedContext": {
      "enabled": true,
      "includeHistory": 10,
      "includeSummary": true
    }
  }
}

当切换代理时,新代理会收到之前的对话摘要,确保无缝衔接。

代理负载均衡

同一角色部署多个实例进行负载均衡:

{
  "agents": {
    "tech-support-1": {
      "displayName": "技术支持",
      "group": "tech-support",
      "model": "code-expert"
    },
    "tech-support-2": {
      "displayName": "技术支持",
      "group": "tech-support",
      "model": "code-expert"
    }
  },
  "routing": {
    "groupBalancing": "round-robin"
  }
}

监控多代理系统

openclaw agents stats --all
Agent Statistics (last 24h):
  Agent           Messages  Avg Time  Delegated  Satisfaction
  ────────────────────────────────────────────────────────────
  receptionist    500       0.8s      320 (64%)  N/A
  tech-support    180       2.5s      5 (3%)     4.5/5
  writer          95        3.2s      2 (2%)     4.3/5
  data-analyst    45        4.1s      0 (0%)     4.7/5

最佳实践

  1. 前台代理使用快速模型:意图判断不需要强推理能力
  2. 专业代理使用强模型:确保输出质量
  3. 设置合理的超时时间:防止代理切换时用户等待过久
  4. 记录路由决策:便于优化路由规则
  5. 定期审查路由统计:发现路由不合理的情况

总结

多代理协作架构让 OpenClaw 能够提供专业化的 AI 服务。通过智能路由和代理间委托,用户的请求总能被最合适的「专家」处理,同时保持流畅的对话体验。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入