1 つの Gateway で複数アシスタント: Bindings で正しいメッセージを正しい Agent へ

4 min read

仕事用グループも個人チャットも同じアシスタントに任せると、すぐに混線します。

それを解決するのが 複数 Agent + Bindings です。場面ごとに適切なアシスタントを出せます。

このページで学べること

  • 複数 Agent が必要になる場面
  • Config で複数 Agent を定義する方法
  • Bindings ルールでメッセージを振り分ける方法
  • Telegram グループ ID の調べ方

なぜ複数 Agent が必要?

シナリオ 必要なもの
仕事グループと個人会話 Workspace 分離とデータ分離
速い返答と深い分析 別モデル
複数プロジェクトの独立運用 プロジェクトごとの Workspace

設定方法

手順 1: agents.list に Agent を定義する

{
  "agents": {
    "list": [
      { "id": "main",      "name": "Main Assistant", "workspace": "~/.openclaw/workspace-main", "default": true },
      { "id": "project-a", "name": "Project A",      "workspace": "~/.openclaw/workspace-project-a" },
      { "id": "project-b", "name": "Project B",      "workspace": "~/.openclaw/workspace-project-b" }
    ]
  }
}

手順 2: bindings に振り分けルールを入れる

受付係のように考えると分かりやすいです。

「グループ A から来たら Agent A。グループ B なら Agent B。その他はデフォルトへ」

{
  "bindings": [
    { "agentId": "project-a", "match": { "channel": "telegram", "peer": { "kind": "group", "id": "-1001234567890" } } },
    { "agentId": "project-b", "match": { "channel": "telegram", "peer": { "kind": "group", "id": "-1009876543210" } } },
    { "agentId": "main",      "match": { "channel": "telegram" } }
  ]
}

⚠️ Bindings の順番は重要です。 より具体的なルールを前に置いてください。マッチングは「先に当たったもの勝ち」です。


グループ ID はどうやって調べる?

方法 1: グループに適当なメッセージを送ってから次を実行します。

openclaw logs --follow
# ログ中の chat.id を探す。多くの場合は -1001234567890 のような負の数

方法 2: そのグループのメッセージを @userinfobot に転送します。


発展編: Bot アカウントごとに別 Agent を使う

複数の Bot Token がある場合:

{
  "channels": {
    "telegram": {
      "accounts": {
        "default": { "botToken": "Bot A の Token" },
        "alerts":  { "botToken": "Bot B の Token" }
      }
    }
  },
  "bindings": [
    { "agentId": "main",   "match": { "channel": "telegram", "accountId": "default" } },
    { "agentId": "alerts", "match": { "channel": "telegram", "accountId": "alerts" } }
  ]
}

編集後は保存を忘れずに

Config を変更したら Save / Apply を押します。baseHash conflict が出た場合は、どこかで別変更が入った状態です。Config を再読み込みして、もう一度編集してください。


次へ

これで複数アシスタントを使えるようになりました。次はそのうちの 1 つを VPS に移して 24 時間待機させます。

← 前の記事: メモリとワークスペース | 👉 VPS に移してリモートから使う