OpenClaw субагенты: как делегировать задачи нескольким AI-агентам
Субагенты в OpenClaw — это временные дочерние агенты, которых основной AI-агент создаёт для выполнения конкретных задач: написания кода, исследования, обработки данных. Они работают изолированно, получают только нужный контекст и автоматически завершаются после выполнения задачи.
Представьте: вы просите агента провести анализ конкурентов, написать код и подготовить отчёт. Без субагентов агент делает всё последовательно, тратя контекст и время. С субагентами — он становится диспетчером, распределяющим задачи между специализированными исполнителями. Разберём, как это настроить и использовать на практике.
🤖 Что такое субагенты в OpenClaw и зачем они нужны?
Субагент — это дочерний запуск основного агента под конкретную задачу. В отличие от постоянных агентов с собственной рабочей папкой и памятью, субагент существует только для решения одноразовых задач.
Когда субагенты необходимы:
- 🔧 Задача сложная и требует фокусированной работы (кодинг, рефакторинг)
- ⚡ Нужно распараллелить несколько задач и собрать результат
- 🧹 Создавать постоянного агента неоправданно — задача одноразовая
- 🔒 Требуется изоляция контекста — субагент не видит лишнего
Главное преимущество: экономия токенов. Субагент получает только тот контекст, который передал основной агент, а не всю историю переписки.
🚀 Как создать субагента через sessions_spawn?
Основной механизм создания субагентов — функция sessions_spawn. Вот ключевые параметры:
| Параметр | Описание | Значения |
|---|---|---|
task |
Текст задачи для субагента | Строка с описанием |
runtime |
Тип запуска | subagent или acp |
mode |
Режим работы | run (разовый) или session (постоянный) |
agentId |
ID агента для ACP | Codex, Claude Code и т.д. |
timeout |
Макс. время выполнения | В секундах |
thread |
Привязка к треду | true — создаёт тред в Discord |
⚙️ Runtime: subagent vs ACP — какой выбрать?
OpenClaw поддерживает два типа запуска субагентов, и выбор между ними критически важен:
Runtime subagent
Субагент наследует конфигурацию основного агента: модель, инструменты, рабочую директорию. Используется для задач, которые агент может выполнить своими силами:
- 📊 Исследование и анализ данных
- 📝 Генерация контента и текстов
- 🔍 Поиск информации в интернете
- 📁 Работа с файлами в workspace
Runtime ACP (Agent Communication Protocol)
ACP делегирует задачу внешнему инструменту — Codex, Claude Code, Gemini CLI. Это мощнее, но требует настройки:
- 💻 Написание и рефакторинг кода (Codex, Claude Code)
- 🏗️ Создание приложений с нуля
- 🔄 Code review и PR-анализ
- 🧪 Итеративная разработка с file exploration
Правило выбора: если задача связана с кодом и файлами проекта — ACP. Для всего остального — subagent.
🎯 Режимы работы: mode run vs session
Два режима определяют жизненный цикл субагента:
| Характеристика | mode: run | mode: session |
|---|---|---|
| Жизненный цикл | Одноразовый запуск | Постоянная сессия |
| Память | Не сохраняется | Сохраняется между сообщениями |
| Использование | Быстрые задачи | Диалоговые задачи |
| Токены | Минимум | Накапливаются |
| Thread-bound | Нет | Да (с thread: true) |
Thread-bound sessions — мощная фича для Discord и других мессенджеров. При thread: true субагент создаёт отдельный тред и ведёт диалог прямо там, не засоряя основной канал.
🛠️ Управление субагентами: list, steer, kill
После запуска субагентов ими нужно управлять. OpenClaw предоставляет три операции:
subagents list — просмотр активных субагентов
Показывает все запущенные субагенты с их статусом, временем работы и потреблением токенов. Полезно для мониторинга — не завис ли кто-то.
subagents steer — перенаправление субагента
Позволяет отправить дополнительные инструкции работающему субагенту. Например, если кодинг-субагент пошёл не в ту сторону, можно скорректировать курс без перезапуска.
subagents kill — принудительное завершение
Останавливает субагента, если он завис, работает слишком долго или результат уже не нужен.
Параметр streamTo: "parent" при создании субагента позволяет получать промежуточные результаты в реальном времени — основной агент видит, что делает субагент, и может вмешаться при необходимости.
📋 Практические сценарии использования
Сценарий 1: Параллельное исследование
Задача: проанализировать 5 конкурентов. Вместо последовательного анализа запускаем 5 субагентов, каждый из которых исследует одного конкурента. Основной агент собирает результаты в единый отчёт. Экономия времени — в 3-4 раза.
Сценарий 2: Делегирование кодинга через ACP
Основной агент получает запрос на разработку фичи. Через ACP он запускает Claude Code, передаёт описание задачи и файлы проекта. Пока кодинг-агент работает, основной агент может обрабатывать другие запросы. После завершения — получает готовый код с тестами.
Сценарий 3: Ночная автоматизация
Через cron-задачу основной агент просыпается ночью и запускает субагентов для тяжёлых задач: индексация файлов, обновление документации, обработка накопившихся данных. Утром результат уже готов.
Сценарий 4: Контент-конвейер
Один субагент исследует тему через Perplexity, второй пишет статью на основе исследования, третий генерирует обложку. Основной агент координирует и публикует результат.
⚠️ Типичные ошибки при работе с субагентами
- ❌ Слишком широкий контекст. Передавайте субагенту только то, что нужно для задачи. Весь MEMORY.md ему не нужен.
- ❌ Отсутствие timeout. Всегда ставьте ограничение по времени — зависший субагент сжигает токены впустую.
- ❌ Поллинг в цикле. Не проверяйте статус субагента каждую секунду. Завершение push-based — агент сам сообщит о результате.
- ❌ Субагент для простых задач. Если нужно просто прочитать файл или сделать одну правку — не создавайте субагента, сделайте напрямую.
- ❌ Игнорирование cleanup. Параметр
cleanup: "delete"удаляет сессию субагента после завершения, экономя ресурсы.
✅ Чеклист: запуск первого субагента
- 📌 Определите задачу — она должна быть конкретной и изолированной
- 🔧 Выберите runtime:
subagentдля общих задач,acpдля кодинга - ⏱️ Выберите mode:
runдля одноразовых,sessionдля диалоговых - 📝 Сформулируйте task — чёткое описание с ожидаемым результатом
- ⏰ Установите timeout — разумное ограничение по времени
- 🚀 Запустите через
sessions_spawnи дождитесь результата - 📊 Проверьте результат и при необходимости используйте
steerдля корректировки
Субагенты — одна из самых мощных фич OpenClaw. Они превращают одиночного агента в координатора команды, способного решать сложные задачи параллельно и эффективно. Начните с простого mode: run субагента для исследования, и вы быстро оцените преимущества.
👉 Присоединяйтесь к сообществу в Telegram — @aaakalsin, чтобы узнать больше о настройке OpenClaw и обмениваться опытом с другими пользователями.
❓ Частые вопросы
Сколько субагентов можно запустить одновременно в OpenClaw?
Технического ограничения на количество субагентов нет — лимит определяется ресурсами сервера и бюджетом токенов. На практике 3-5 параллельных субагентов — оптимальный баланс между скоростью и расходами.
Субагент имеет доступ к файлам основного агента?
Да, субагенты с runtime subagent наследуют рабочую директорию основного агента. Они могут читать и создавать файлы в workspace. Для изоляции используйте параметр sandbox: "require".
Чем субагент отличается от cron-задачи?
Субагент запускается по требованию основного агента для конкретной задачи. Cron-задача запускается автоматически по расписанию. Субагент работает в контексте текущей сессии, cron — в изолированной.
Можно ли использовать разные модели для субагентов?
Да. При создании субагента через sessions_spawn можно указать параметр model — например, дешёвую модель для простых задач и мощную для сложных. Это позволяет оптимизировать расходы.
Как передать контекст субагенту?
Контекст передаётся через параметр task — текстовое описание задачи. Также можно прикрепить файлы через attachments или указать рабочую директорию через cwd. Субагент не получает историю чата основного агента автоматически.
Что происходит, если субагент зависает?
Если установлен timeout, субагент автоматически завершится по истечении времени. Без timeout можно принудительно остановить его через subagents kill. Рекомендуется всегда устанавливать timeout для предотвращения утечки токенов.
Работают ли субагенты на бесплатных тарифах LLM?
Субагенты используют те же API-ключи, что и основной агент. Если у вас бесплатный тариф с ограничением запросов в минуту, параллельный запуск нескольких субагентов может привести к ошибкам rate limit. Рекомендуется платный тариф API для активного использования субагентов.