Перейти к содержимому

Мультиагентные workflow: как координировать несколько ИИ-агентов

Одна сессия Claude Code — один агент, одно контекстное окно. Задача понятна, пока она влезает в это окно: модель читает, планирует, пишет код, проверяет тестами. Но когда проект требует параллельной работы над тремя модулями или когда один агент должен написать, а другой — проверить, начинаются проблемы: агенты не видят друг друга, не знают о чужих правках, и координация целиком ложится на вас.

В 2025–2026 годах на эту проблему ответили четыре подхода: оркестратор (один агент управляет другими), иерархия (дерево агентов с ролями), параллельные воркеры (несколько сессий одновременно) и платформы, которые их связывают. В этой статье разберём каждый паттерн, какие инструменты его реализуют и когда какой выбрать.

Если понятия «сессия» и «сабэджент» вам незнакомы — начните со статей «Что такое агентный кодинг» и «Фоновые агенты vs сабэдженты». Эта статья — про то, как несколько агентов работают вместе.

Три паттерна мультиагентной координации

Схема: три паттерна мультиагентной координации
Три базовых паттерна: оркестратор (один управляет), иерархия (дерево с ролями), параллельные воркеры (несколько независимых).

Оркестратор: один мозг, много рук

Центральный агент получает задачу, разбивает на подзадачи, отправляет каждую отдельному воркеру и собирает результат. Воркеры не связаны между собой — общаются только с оркестратором.

Это самый простой паттерн и самый распространённый в современных инструментах. Claude Code реализует его через сабэдженты: основная сессия запускает Agent tool с описанием подзадачи, сабэджент работает в изолированном контексте и возвращает результат. В документации Claude Code это описано так:

Subagents are spawned via the Agent tool, each in its own context window. They receive a task, work independently, and return a summary to the caller.

Сабэдженты создаются через инструмент Agent, каждый в собственном контекстном окне. Они получают задачу, работают автономно и возвращают родителю краткое описание результата.

Документация Claude Code: Subagents

Встроенные типы сабэджентов — Explore (только чтение, быстрый поиск по коду), Plan (исследование для plan-режима) и общего назначения. Есть и кастомные: markdown-файлы с YAML-фронтматтером в .claude/agents/, где задаются имя, описание, инструменты, модель и системный промпт.

Claude Code Dynamic Workflows поднимают оркестратор на новый уровень: JavaScript-скрипт заменяет пошаговое рассуждение модели детерминированным циклом — agent() спавнит одного агента, pipeline() запускает по одному на каждый элемент списка. Масштаб: до 1000 агентов за один запуск, 16 параллельно (документация).

Когда подходит: исследование, ревью, однозадачные подзадачи, где результат одной работы не влияет на другую.

Иерархия: дерево агентов с ролями

Агенты образуют дерево: родитель создаёт детей, делегирует им задачи, проверяет результат и отправляет на доработку. У каждого агента — своя роль, свой промпт и своя память.

Ключевое отличие от оркестратора: дети — не одноразовые воркеры, а постоянные сущности, которые накапливают контекст. Taurus — платформа, построенная вокруг этого паттерна. Её основатель Сергей в посте на Hacker News описал дерево:

I allowed agents to create their own durable persistent child agents, and then send them tasks via Delegate. […] Alcyone sends a Delegate to a child called “implementer1”, which does a coding task, and then can send the result to “critic3”. Now, implementer1 is inclined to defend their work, but a critic has no narrative pull to do so.

Я позволил агентам создавать собственных постоянных child-агентов и отправлять им задачи через Delegate. […] Alcyone делегирует задачу ребёнку implementer1, тот делает кодинг-задачу, а результат отправляет critic3. implementer1 склонен защищать свою работу, а у критика нет повествовательного долга её защищать.

Show HN: Taurus Agents

Фишка в разделении ролей: исполнитель и критик могут работать на одной и той же модели, но ведут себя по-разному — потому что у них разная идентичность. Код писал не критик, поэтому он его не защищает. Полный разбор Taurus — в нашем кейсе.

Claude Code Experimental Agent Teams — попытка Claude Anthropic реализовать тот же паттерн: Lead-сессия координирует Teammates, которые делят задачи через общий task list и общаются друг с другом по имени (документация). Статус на момент публикации — experimental, отключён по умолчанию.

Когда подходит: многоуровневые проекты, где важны роли (исполнитель/критик), долговременная память агентов и повторные запуски по расписанию.

Параллельные воркеры: несколько сессий одновременно

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

Простейшая реализация — несколько терминалов Claude Code с разными сессиями. Каждая сессия работает в своём git worktree и не трогает чужие файлы. Координация — через кроссессионные сообщения (@mentions): одна сессия отправляет другой текстовое сообщение через SendMessage, получатель обрабатывает его между шагами. Подробно — в статье про @mentions.

Codex CLI реализует тот же подход через codex queue: вы отправляете задачу в уже запущенную сессию из любого терминала, не переключаясь в её окно. Агент получает сообщение и обрабатывает его. Полный разбор — в статье про дашборд агентов.

Когда подходит: независимые задачи (разные модули, разные ветки), параллельные эксперименты (два подхода одновременно), миграции, где каждый файл обрабатывается отдельно.

Инструменты: что из этого есть сегодня

Инструмент Паттерн Ключевая механика Статус
Claude Code сабэдженты Оркестратор Agent tool, встроенные типы (Explore, Plan), кастомные в .claude/agents/ Стабильный
Claude Code Dynamic Workflows Оркестратор JavaScript-скрипты, agent() и pipeline(), до 1000 агентов Стабильный
Claude Code Agent Teams Иерархия Lead + Teammates, общий task list, межагентные сообщения Experimental
Claude Code @mentions Параллель SendMessage между сессиями, notify_when_idle Стабильный (v2.1.232+)
Codex queue Параллель Отправка задач в запущенные сессии из другого терминала Стабильный (v0.149.0+)
Taurus Иерархия Parent/child деревья, Delegate, Subrun, общая папка /shared SaaS (облачный)
Proliferate Параллель + оркестратор Git worktree на каждую задачу, нативные харнессы для Claude Code/Codex/OpenCode, review gates Desktop — free, team — waitlist

Claude Code: три слоя координации

Claude Code предлагает наиболее полную картину паттернов:

Сабэдженты (внутри сессии) — оркестратор. Агент запускает подзадачу через Agent, результат возвращается в основной контекст. Форки (/subtask) наследуют всю историю диалога, включая prompt cache — первый запрос к форку дешевле.

Agent Teams (экспериментальные) — иерархия. Одна сессия — lead, остальные — teammates. Задачи через общий task list: агент берёт задачу, делает, отмечает. Teammates общаются по имени через встроенные сообщения. Ограничение: вложенные команды запрещены, lead фиксирован, в in-process режиме teammates не переживают перезапуск сессии.

Кроссессионные сообщения и worktrees — параллель. Несколько сессий в отдельных git-ветках, координация через SendMessage. claude agents показывает все активные сессии в одном дашборде.

Codex: очередь и дашборд

Codex CLI (v0.149.0) добавил два инструмента для параллельной работы:

  • codex queue --thread <ИМЯ> --message "текст" — отправка задачи в запущенную сессию без переключения в её терминал;
  • Agents Dashboard (codex agents) — полноэкранный список всех сессий с поиском, стартом, остановкой и навигацией.

Это «плоская» модель: каждая сессия работает автономно, координация — на уровне пользователя, который распределяет задачи через очередь.

Taurus: деревья агентов как первый класс

Taurus делает иерархию центральной концепцией. Каждый агент — Docker-контейнер со своей файловой системой, MEMORY.md и эпизодическими журналами. Два типа подзадач: Subrun (свежий контекст, тот же агент) и Delegate (постоянный ребёнок с именем и ролью). Общая папка /shared bind-mountится во все контейнеры дерева.

Подробнее — в кейсе Taurus.

Proliferate: worktree-first подход

Proliferate — desktop-приложение (Tauri, AGPL-3.0) от YC-стартапа. Каждая задача получает изолированный git worktree со своей веткой и терминалом. Харнессы обёртывают нативные Claude Code, Codex, OpenCode, Cursor и Grok — агент работает в привычном инструменте, но в изолированном окружении. Workflows — цепочки агентных шагов с human approval gates, которые запускаются по событию или расписанию и открывают PR (GitHub, сайт).

Практический сценарий: три модуля параллельно

Реальная задача: надо рефакторить API-модуль, обновить фронтенд-компонент и написать интеграционные тесты. Три задачи независимые — параллельные воркеры подходят.

Терминал 1 — API:

$ claude -n api-refactor
claude> Рефакторинг модуля auth: выделяю RefreshTokenService в отдельный модуль

Терминал 2 — фронтенд:

$ claude -n frontend-update
claude> Обновляю компонент LoginForm: новая логика с refresh tokens

Терминал 3 — тесты:

$ claude -n integration-tests
claude> Пиши интеграционные тесты для auth flow с refresh tokens

Тесты не могут стартовать раньше, чем API будет готов — но агент может собрать каркас тестов заранее и заполнить реальными вызовами по сигналу. Вот тут помогает кроссессионное сообщение:

@api-refactor Скажи мне, когда рефакторинг завершится

Claude подпишется через notify_when_idle и получит уведомление, когда сессия api-refactor закончит текущий ход. После этого — подставит реальные имена методов в тесты.

Альтернатива с Codex:

$ codex queue --thread api-refactor --message "Список экспортов модуля auth для интеграционных тестов"

Когда какой паттерн выбирать

Дерево решений: какой паттерн выбрать
Логика выбора: от связности задач через размер команды к конкретному инструменту.

Краткое правило:

Ситуация Паттерн Инструмент
Одна подзадача отдельно (ревью, поиск, тест) Оркестратор Claude Code subagents
Много подзадач, скриптуемый пайплайн Оркестратор Claude Code workflows
Исполнитель → Критик → Мерж Иерархия Taurus, Claude Code teams
2–3 модуля параллельно, связь через сообщения Параллель Claude Code @mentions
5+ задач, очередь задач без переключения Параллель Codex queue
Много агентов + review gates + PR Параллель + оркестратор Proliferate

Честные ограничения

Мультиагентность звучит привлекательно, но добавляет проблемы, которых у одного агента нет:

  • Стоимость умножается. Каждый агент — отдельный контекст и отдельный расход токенов. Оркестратор с тремя сабэджентами тратит в 3–4 раза больше, чем одна сессия. Claude Code Dynamic Workflows с десятком агентов — ещё больше. Промпт-кэширование помогает (агенты в одном запуске делят cache prefix), но не отменяет расход.
  • Координация — сложность, которая не исчезает. Спараллелить «напиши тесты» и «обнови документацию» просто. Спараллелить «напиши API» и «напиши тесты для этого API» — значит добавить зависимость, которую кто-то должен обработать. Чем больше агентов, тем больше точек, где что-то может пойти не так.
  • Межсессионные сообщения — только текст. Кроссессионные сообщения Claude Code не передают файлы, код и структурированные данные. Если сессии нужно поделиться результатом команды — используйте общую файловую систему или worktree.
  • Agent Teams — experimental. Отключены по умолчанию. В in-process режиме teammates не переживают перезапуск сессии. Lead фиксирован — нельзя передать управление. Для продакшена пока рано.
  • Taurus — облачный SaaS. Код агентов живёт на чужих серверах. Контейнеры одноразовые — всё, что за пределами /workspace и /shared, теряется при пересоздании. Для коммерческого кода это вопрос безопасности и lock-in (подробнее — в кейсе Taurus).
  • Proliferate — молодой проект. Desktop-приложение бесплатное и открытое (AGPL-3.0), но team-функции в приватном бете. На GitHub 287 звёзд — проверять придётся на своих задачах.
  • Кроссессионные сообщения не работают на Bedrock, Vertex и Foundry. Если ваша команда через облачные провайдеры Anthropic/OpenAI — messaging отключён.
  • Общие риски агентов никуда не делись: автономное выполнение команд, промпт-инъекции, правдоподобные ошибки. Базовые механизмы — MCP, права, проверка результата — разобраны в материале про агентный кодинг и статье про MCP.

Российские реалии

По доступности инструментов — без сюрпризов: все рассмотренные платформы работают через API провайдеров (Anthropic, OpenAI), а не через браузер, поэтому доступность определяется доступностью API.

Claude Code. Anthropic API работает из России без VPN на момент публикации, но Россия не входит в список поддерживаемых стран для потребительских продуктов. Оплата российскими картами Visa/Mastercard невозможна — рабочие варианты: виртуальные карты иностранных банков, криптовалюта через Thirdweb или аналоги, зарубежные расчётные счета для ИП/ООО. Подробнее — в статье про установку Claude Code.

Codex CLI. Требует подписку ChatGPT (Plus/Pro/Business) или API-ключ. Оплата — через OpenAI, стандартная проблема с российскими картами. Подробнее — в статье про Codex CLI.

Taurus. Платёжный провайдер Stripe — российские карты не работают. Бесплатный тариф (10 агентов, 2 параллельных запуска, $5 пробного кредита на 14 дней без карты) позволяет проверить механику без оплаты. Подробнее — в кейсе Taurus.

Proliferate. Desktop-приложение бесплатное, open-source, скачивается с GitHub. Командные функции — в приватном бете. Проблем с доступностью из России на момент публикации не обнаружено.

Русскоязычных разборов мультиагентных workflow в рунете мало. Ближайшее — общие статьи про мультиагентные системы на Habr: «Мультиагентные системы: как команда ИИ берёт сложность штурмом» и «Оркестрация в мультиагентных системах» от Домклик.

Вывод

Мультиагентность — не про «запустить побольше агентов». Это про три вопроса: кто координирует (оркестратор), как агенты связаны (иерархия или параллель), и что передаётся между ними (текст, файлы, общая папка). Сегодня самый практический стек для одного разработчика — Claude Code с сабэджентами (оркестратор) и несколькими сессиями в worktree (параллель), с @mentions для связи между ними. Для команд, которым нужны роли и долговременная память агентов — Taurus или Claude Code Agent Teams (осторожно: experimental). Для масштаба с review gates — Proliferate.

Начните с двух параллельных сессий Claude Code над разными модулями — и добавьте одно кроссессионное сообщение. Это самый простой способ почувствовать, как мультиагентность работает на практике.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Добавить комментарий

Adblock
detector