Мультиагентная архитектура OpenClaw: лучшие практики из Reddit, YouTube и документации
OpenClaw — это не фреймворк для воркфлоу, а операционная система для ИИ-агентов. Мы исследовали все его мультиагентные возможности через официальную документацию, обсуждения на Reddit, GitHub-issues и реальные боевые внедрения. Вот что мы нашли.
Чем OpenClaw отличается от остальных
Большинство мультиагентных фреймворков (CrewAI, Swarm, AutoGen) собирают агентов под задачу. Агенты OpenClaw живут постоянно — со своим рабочим пространством, памятью, профилями авторизации и привязками к каналам. Думайте об этом как о «найме сотрудников» vs «построении воркфлоу».
Каждый агент получает:
- Собственное рабочее пространство — файлы, AGENTS.md, SOUL.md, USER.md
- Собственную директорию состояния — история сессий, состояние маршрутизации
- Собственные профили авторизации — учётные данные НЕ расшариваются между агентами
- Собственные навыки — персональные скиллы + общие скиллы
- Собственную модель — Opus для оркестрации, Sonnet для чатов, K2.5 для мониторинга
- Собственную песочницу — изолированные Docker-контейнеры для каждого агента
Маршрутизация и привязки: как сообщения находят своего агента
OpenClaw использует детерминированную маршрутизацию «побеждает самый конкретный». Сообщения сопоставляются с привязками в порядке приоритета:
peer— точное совпадение ЛС/группы/каналаguildId— сервер DiscordteamId— воркспейс SlackaccountId— какой аккаунт канала- Совпадение на уровне канала —
accountId: "*" - Фолбэк на агента по умолчанию
// Один WhatsApp, два агента по контакту
{ agentId: "alex", match: { channel: "whatsapp", peer: { kind: "direct", id: "+1555..." } } }
{ agentId: "mia", match: { channel: "whatsapp", peer: { kind: "direct", id: "+1556..." } } }
// Разный канал = разный агент
{ agentId: "chat", match: { channel: "whatsapp" } } // Sonnet — быстрый
{ agentId: "deep", match: { channel: "telegram" } } // Opus — глубокий
Субагенты: неблокирующая параллельная работа
Субагенты — изолированные сессии, порождаемые для фоновых задач. Они — рабочая лошадка любой грамотно спроектированной системы на OpenClaw.
Ключевые свойства
- Неблокирующие — основной агент продолжает работать
- Отдельная очередь (полоса
subagent) — не блокируют входящие сообщения - Макс. параллельно: 8 (настраивается)
- Автоархивация через 60 мин (настраивается)
- Своя модель и уровень рассуждений на каждый запуск
- Кросс-агентное порождение через
allowAgents
// Глобальные дешёвые субагенты
agents: {
defaults: {
subagents: {
model: "kimi/k2.5", // $0.60/M токенов
thinking: "low",
maxConcurrent: 8,
archiveAfterMinutes: 60,
}
}
}
allowAgents.
Межагентные сообщения
Прямая коммуникация между агентами через sessions_send. По умолчанию отключена — нужно явно активировать.
{
tools: {
agentToAgent: {
enabled: true, // ВЫКЛЮЧЕНО по умолчанию
allow: ["home", "work"],
}
}
}
// Поток: Агент A → sessions_send → Агент B отвечает
// Пинг-понг: до 5 раундов (настраивается)
// REPLY_SKIP для досрочного завершения
Безопасность по агентам: разрешения и запреты инструментов
Гранулярный контроль инструментов с 8 уровнями фильтрации. Каждый уровень может только ужесточить доступ, но не ослабить.
// Семейный бот: только чтение, без изменения файлов, без браузера
{
id: "family",
tools: {
allow: ["read", "sessions_list", "session_status"],
deny: ["write", "edit", "browser", "canvas", "nodes", "cron"],
}
}
// Группы инструментов для удобства:
// group:runtime → exec, bash, process
// group:fs → read, write, edit
// group:sessions → sessions_list/history/send/spawn
// group:ui → browser, canvas
Docker-песочница для каждого агента
Начиная с v2026.1.6, каждый агент может иметь собственную конфигурацию песочницы — возможность, уникальная для OpenClaw.
| Параметр | Значения | Описание |
|---|---|---|
sandbox.mode | off, non-main, all | Когда включать песочницу |
sandbox.scope | session, agent, shared | Уровень изоляции контейнера |
sandbox.docker.setupCommand | string | Команда настройки при создании контейнера |
OpenClaw vs все остальные
| Возможность | OpenClaw | CrewAI | Swarm | AutoGen |
|---|---|---|---|---|
| Постоянно активные агенты | ✅ | ❌ | ❌ | ❌ |
| Управление физическими устройствами | ✅ | ❌ | ❌ | ❌ |
| Нативная мультиканальность | ✅ | ❌ | ❌ | ❌ |
| Docker-песочница по агентам | ✅ | ❌ | ❌ | ❌ |
| Своя модель на агента | ✅ | ⚠️ | ✅ | ✅ |
| Субагенты (неблокирующие) | ✅ | ⚠️ | ❌ | ❌ |
| Cron и heartbeat по агентам | ✅ | ❌ | ❌ | ❌ |
| Персистентная память | ✅ | ⚠️ | ❌ | ❌ |
| Управление браузером | ✅ | ❌ | ❌ | ❌ |
Архитектурные паттерны
Звезда (Hub-and-Spoke) — самый распространённый
Человек (Telegram)
│
┌──────▼──────┐
│ MAIN (Opus) │ ◄── cron/heartbeat
│ Оркестратор │
└──┬───┬───┬──┘
│ │ │
Агент A B Субагенты
Один главный агент взаимодействует с человеком и делегирует задачи. Просто, но главный агент становится узким горлышком.
Разделение по каналам (оптимизация затрат)
WhatsApp ──► Чат-агент (Sonnet) — быстрые ответы Telegram ──► Глубокий агент (Opus) — сложные задачи Discord ──► Командный агент (Pro) — совместная работа
Разная модель на канал. Экономит деньги, подбирая мощность модели под сложность задач.
Флот специалистов (для масштаба)
Main (Opus) ──spawn──► Исследователь (Sonnet)
──spawn──► Кодер (Opus)
──spawn──► Писатель (Pro)
──send───► Монитор (K2.5, всегда активен)
Известные подводные камни
agentDir между агентами. У каждого агента должна быть уникальная директория состояния, чтобы избежать хаоса с сессиями и учётными данными.
Инсайты сообщества
С Reddit
- r/openclaw: «Включите
tools.agentToAgent, и агенты смогут общаться черезsessions_send» — 27 апвотов - r/codereview: «Lead-инженер, а не ручной кодер. Агенты: пишут, ревьюят, тестируют код. $20/мес за команду джуниоров»
- r/SideProject: «Я собрал 4 OpenClaw за 4 часа» — нативная мультиканальность + контроль качества
- r/SideProject: Catalyxt — 10 агентов с дашбордом мониторинга в реальном времени
Из GitHub Issues
- #16055: Узкое горлышко очереди сообщений при нескольких TG-ботах — критично для мульти-бот конфигураций
- #17511 / #11741: Запрос на вложенное порождение субагентов
- #7463: Невозможно отключить шаг announce в
sessions_send - #3671: Уведомления о перезапуске приходят только главному агенту
Итого: лучшие практики
- 3–7 агентов — оптимум. Больше — не значит лучше.
- Подбирайте модель под задачу. Opus для оркестрации/кодинга. Дешёвые модели для мониторинга/парсинга.
- Субагенты для разовых задач. Статьи, исследования, аудиты — порождайте, а не создавайте постоянных агентов.
- Межагентные сообщения включайте явно. По умолчанию они отключены из соображений безопасности.
- Никогда не шарьте agentDir. Уникальное рабочее пространство для каждого агента.
- Используйте deny-списки инструментов. Ограничивайте, что может делать каждый агент.
- Следите за узким горлышком очереди. Меньше TG-ботов = быстрее ответы.
- Держите контекст лёгким. Тяжёлые операции → субагенты. Основная сессия остаётся налегке.