🦞
Руководство

Мультиагентная маршрутизация

Запускайте несколько изолированных агентов на одном Gateway для разделения работы и дома, семейного доступа или разных ИИ-персонажей.

Средний уровень20 мин чтенияЯнварь 2026

1.Что такое мультиагентная маршрутизация?

Мультиагентная маршрутизация позволяет запускать несколько изолированных ИИ-агентов на одном OpenClaw Gateway. У каждого агента своя идентичность, память и конфигурация, но они используют общую инфраструктуру.

Каждый агент имеет:

Собственную идентичность

Отдельное имя, личность и системный промпт

Изолированную память

Независимая история разговоров и контекст

Настраиваемые инструменты

Разные разрешения на инструменты для каждого агента

Привязки каналов

Направление определённых каналов к определённым агентам

Типичные сценарии использования

💼

Разделение работы и дома

Держите рабочий Slack отдельно от личного Telegram. Разные личности, разная память.

👨‍👩‍👧

Семейный доступ

Каждый член семьи получает своего агента с персонализированными ответами и приватной памятью.

🎭

Разные личности

Профессиональный ассистент для почты, дружелюбный собеседник для Discord, креативный писатель для брейнсторминга.

📱

Мультиаккаунт

Обработка нескольких номеров WhatsApp или аккаунтов Telegram с изолированными агентами.

2.Ключевые концепции

Рабочие пространства

Каждый агент живёт в 'рабочем пространстве' — директории с его конфигурацией, памятью и файлами.

~/openclaw/agents/work/
├── AGENTS.md    # Define sub-agents and their specialties
├── SOUL.md      # Agent personality and communication style
├── USER.md      # Information about the user
└── skills/      # Agent-specific skills
  • soul.mdЛичность агента и системный промпт
  • user.mdПредпочтения и контекст пользователя
  • memory/История разговоров и факты
  • skills/Пользовательские навыки для этого агента

Важно

Агенты используют один процесс Gateway и API-ключи. Для полной изоляции (отдельные API-ключи, отдельные процессы) запускайте несколько экземпляров Gateway.

  • - Лимиты запросов общие для всех агентов
  • - Расходы на API суммируются
  • - Сбой затрагивает всех агентов
Привязки каналов

Привязки направляют входящие сообщения нужному агенту на основе канала, пользователя или группы.

// Example: Route WhatsApp business account to work agent
{
  "bindings": [{
    "agent": "work",
    "channel": "whatsapp",
    "accountId": "business-account-id"
  }]
}

3.Пошаговая настройка

1

Создайте нового агента

Создайте директорию рабочего пространства для нового агента:

$
openclaw agents add work

Это создаст нового агента с собственной директорией рабочего пространства.

2

Настройте рабочее пространство

Создайте файлы личности и пользователя для агента:

soul.md — личность агента:

# Work Assistant Soul

You are a professional work assistant. Be formal, concise,
and focused on productivity. Avoid casual language.

## Communication Style
- Use professional language
- Be direct and efficient
- Focus on actionable items
- Respect work-life boundaries

user.md — контекст пользователя:

# User Profile - Work Context

- Role: Software Engineer at Acme Corp
- Working hours: 9 AM - 6 PM PST
- Key projects: Project Alpha, Customer Portal
- Slack workspace: acme-corp.slack.com
3

Настройте привязки каналов

Направьте каналы к новому агенту в openclaw.json:

{
  "agents": {
    "default": {
      "workspace": "~/openclaw/agents/default",
      "agentDir": "~/openclaw/state/default"
    },
    "work": {
      "workspace": "~/openclaw/agents/work",
      "agentDir": "~/openclaw/state/work"
    }
  },
  "bindings": [
    {
      "agent": "work",
      "channel": "whatsapp",
      "accountId": "work-phone-id"
    },
    {
      "agent": "work",
      "channel": "slack",
      "teamId": "T123ACMECORP"
    }
  ],
  "defaultAgent": "default"
}

Привязки указывают OpenClaw, какой агент должен обрабатывать сообщения из каждого канала.

4

Настройте безопасность (необязательно)

Установите режим песочницы и ограничения инструментов для агента:

{
  "agents": {
    "work": {
      "workspace": "~/openclaw/agents/work",
      "agentDir": "~/openclaw/state/work",
      "sandbox": "all",
      "tools": {
        "allow": ["calendar", "email", "notes"],
        "deny": ["shell", "browser"]
      }
    },
    "home": {
      "workspace": "~/openclaw/agents/home",
      "agentDir": "~/openclaw/state/home",
      "sandbox": "non-main",
      "tools": {
        "allow": ["*"],
        "deny": []
      }
    }
  }
}
5

Проверьте настройку

Перезапустите OpenClaw и протестируйте мультиагентную настройку:

$
openclaw agents list
$
openclaw agents test --channel whatsapp --from +1234567890

4.Примеры конфигурации

📱Два номера WhatsApp

Направление разных номеров WhatsApp разным агентам:

{
  "agents": {
    "personal": { "workspace": "~/.openclaw/personal" },
    "business": { "workspace": "~/.openclaw/business" }
  },
  "bindings": [
    { "channel": "whatsapp:+1234567890", "agent": "personal" },
    { "channel": "whatsapp:+0987654321", "agent": "business" }
  ]
}
🤖Разные модели для разных каналов

GPT-4 для работы, Claude для личного использования:

{
  "agents": {
    "work": {
      "workspace": "~/.openclaw/work",
      "model": "gpt-4o"
    },
    "personal": {
      "workspace": "~/.openclaw/personal",
      "model": "claude-3-5-sonnet-20241022"
    }
  }
}
👥Агенты для конкретных групп

Разные агенты для разных серверов Discord или рабочих пространств Slack:

{
  "bindings": [
    { "channel": "discord", "guild": "gaming-server-id", "agent": "gaming-buddy" },
    { "channel": "discord", "guild": "work-server-id", "agent": "work-assistant" },
    { "channel": "slack", "workspace": "company-workspace", "agent": "work-assistant" }
  ]
}
👨‍👩‍👧‍👦Семейный доступ

Каждый член семьи получает своего агента через Telegram user ID:

{
  "agents": {
    "dad": { "workspace": "~/.openclaw/dad" },
    "mom": { "workspace": "~/.openclaw/mom" },
    "kids": { "workspace": "~/.openclaw/kids", "sandbox": "all" }
  },
  "bindings": [
    { "channel": "telegram", "userId": "123456", "agent": "dad" },
    { "channel": "telegram", "userId": "789012", "agent": "mom" },
    { "channel": "telegram", "userId": "345678", "agent": "kids" }
  ]
}

5.Приоритет привязок

Когда могут совпасть несколько привязок, OpenClaw использует наиболее специфичную:

  1. 1

    По пользователю

    Привязки с userId совпадают первыми

    { "channel": "telegram", "userId": "123", "agent": "personal" }
  2. 2

    По группе

    Привязки с group/guild/workspace совпадают вторыми

    { "channel": "discord", "guild": "abc", "agent": "gaming" }
  3. 3

    По каналу

    Привязки только по каналу совпадают последними

    { "channel": "telegram", "agent": "default" }

Пример

Если у вас есть привязки для 'telegram' (по умолчанию) и 'telegram + userId:123' (личный), сообщения от пользователя 123 идут в 'personal', все остальные — в 'default'.

6.Безопасность и песочница

Управляйте возможностями каждого агента с помощью режимов песочницы и политик инструментов.

Режимы песочницы

Ограничьте возможности агента в зависимости от уровня доверия:

"sandbox": "off"Полный доступ

Агент может использовать все инструменты. Для доверенных личных агентов.

"sandbox": "non-main"Ограниченный

Ограничение доступа к файлам/оболочке только директорией рабочего пространства.

"sandbox": "all"Строгий

Нет доступа к файловой системе или оболочке. Только чат и веб.

Политика инструментов

Тонкая настройка того, какие инструменты может использовать агент:

{
  "agents": {
    "restricted": {
      "workspace": "~/openclaw/agents/restricted",
      "agentDir": "~/openclaw/state/restricted",
      "tools": {
        // Only allow these specific tools
        "allow": ["calendar", "notes", "reminders"],
        // Explicitly block dangerous tools
        "deny": ["shell", "filesystem", "browser", "email"]
      }
    },
    "trusted": {
      "workspace": "~/openclaw/agents/trusted",
      "agentDir": "~/openclaw/state/trusted",
      "tools": {
        // Allow everything except...
        "allow": ["*"],
        "deny": ["shell"]  // Still block shell for safety
      }
    }
  }
}
Доступ к рабочему пространству

По умолчанию агенты могут получать доступ только к файлам в своей директории рабочего пространства. Это предотвращает чтение памяти или файлов другого агента.

{
  "agents": {
    "work": {
      "workspace": "~/openclaw/agents/work",
      "agentDir": "~/openclaw/state/work",
      "filesystem": {
        // Only allow access to these directories
        "allowedPaths": [
          "~/Documents/Work",
          "~/Projects",
          "/tmp"
        ],
        // Block access to sensitive areas
        "blockedPaths": [
          "~/.ssh",
          "~/.aws",
          "~/Documents/Personal"
        ]
      }
    }
  }
}

Мультиагент готов!

Теперь у вас есть изолированные агенты для разных сценариев использования.

Вопросы? Присоединиться к Discord или Открыть Issue на GitHub