OpenClaw субагенты: как делегировать задачи нескольким AI-агентам

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" удаляет сессию субагента после завершения, экономя ресурсы.

✅ Чеклист: запуск первого субагента

  1. 📌 Определите задачу — она должна быть конкретной и изолированной
  2. 🔧 Выберите runtime: subagent для общих задач, acp для кодинга
  3. ⏱️ Выберите mode: run для одноразовых, session для диалоговых
  4. 📝 Сформулируйте task — чёткое описание с ожидаемым результатом
  5. ⏰ Установите timeout — разумное ограничение по времени
  6. 🚀 Запустите через sessions_spawn и дождитесь результата
  7. 📊 Проверьте результат и при необходимости используйте 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 для активного использования субагентов.