Оркестрация ИИ-агентов в разработке: 5 паттернов

Оркестрация ИИ-агентов для разработки: оркестратор и воркеры, лид со списком задач, fan-out по worktree, передачи по цепочке, best-of-N и что ломается.

Solviera Teknoloji 10 мин чтения

Оркестрация ИИ-агентов для разработки — это способ заставить несколько агентов-программистов работать над одной задачей и не мешать друг другу. Любая схема отвечает на три вопроса: кто делит работу (вы, ведущий агент или планировщик), как агенты делят состояние (результаты возвращаются вызвавшему, общий список задач или прямые сообщения) и как сходятся их изменения (в одном контексте, через git merge или через ревью). Ответили на эти три вопроса — выбрали паттерн; инструмент идёт вторым.

В этой статье разобраны пять паттернов оркестрации, важных для агентов-программистов, что ломается в каждом из них и какие инструменты их реализуют на октябрь 2026 года: субагенты и команды агентов Claude Code, Codex cloud, Conductor, Claude Squad, Vibe Kanban и AgentVera. Этот блог ведёт AgentVera, поэтому мы честно говорим, где другие инструменты подходят лучше. Сведения о сторонних инструментах проверены по их документации или репозиториям.

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

Три решения за любой схемой

Прежде чем переходить к паттернам, полезно назвать движущиеся части:

  • Декомпозиция: кто превращает «добавить биллинг» в задачи. Человек, который делит вручную, медленный, но предсказуемый; агент-планировщик быстрый, но может разрезать не там.
  • Общее состояние: откуда агент B узнаёт, что сделал агент A. От самого жёсткого к самому свободному: результат, возвращённый вызвавшему, общий список задач с зависимостями и свободные сообщения между агентами.
  • Интеграция: как код попадает на место. Работа только на чтение возвращает текст. Пишущие агенты либо делят одну папку (рискованно), либо работают в отдельных git worktree, чьи ветки потом сливаются.

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

Пять паттернов оркестрации

1. Оркестратор и воркеры

Один агент ведёт разговор и раздаёт воркерам узкие поручения. Каждый воркер стартует с чистым контекстом, делает одно дело и возвращает краткий итог. Вызвавший агент не видит всей переписки воркера, только результат.

  • Хорош для: исследования, поиска по коду, ревью, разбора упавших тестов. Всего, где воркер много читает и мало докладывает.
  • Слаб в: параллельной записи. Воркеры обычно правят ту же рабочую копию, что и вызвавший.
  • Пример: субагенты Claude Code.

2. Лид и участники с общим списком задач

Ведущий агент создаёт задачи с зависимостями; участники берут задачи, закрывают их и пишут друг другу напрямую. Состояние живёт в списке задач, а не в голове одного агента, поэтому участник может взять задачу, которая разблокировалась минуту назад.

  • Хорош для: работы, которая меняется по ходу, когда тестировщик возвращает баг разработчику без вашего посредничества.
  • Слаб в: стоимости и безопасности файлов. Участники в одной папке могут перезаписать друг друга.
  • Пример: команды агентов Claude Code; обмен сообщениями между агентами и список задач в AgentVera.

3. Fan-out по worktree, затем merge

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

  • Хорош для: больших изменений с отделимыми частями: API, интерфейс, миграция.
  • Слаб в: частях, которые скрыто зависят друг от друга. Конфликт всплывает при слиянии, а не при правке.
  • Пример: Conductor, Claude Squad и Vibe Kanban дают worktree; параллельная команда AgentVera добавляет планировщика и слияние. Подробнее в статье git worktree для параллельных агентов.

4. Передачи по цепочке

Планировщик передаёт работу исполнителю, исполнитель — ревьюеру. Каждый шаг получает выход предыдущего и больше ничего. Это та самая схема «планировщик — исполнитель — ревьюер», которую большинство пробует первой.

  • Хорош для: повторяющихся задач, где вы хотите прочитать план до того, как появится код.
  • Слаб в: скорости. Параллельно ничего не идёт, а одна размытая передача портит все следующие шаги.
  • Пример: подробно разобрано в статьях рабочие процессы ИИ-агентов и команда ИИ-агентов.

5. Best-of-N

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

  • Хорош для: сложных багов и размытой работы над интерфейсом, где первый ответ редко лучший.
  • Слаб в: стоимости, примерно в N раз больше токенов, плюс время на ревью.
  • Пример: codex cloud exec --attempts или два разных CLI с одним промптом в отдельных worktree.

Паттерны рядом

ПаттернКто делитОбщее состояниеКак попадает кодГлавный риск
Оркестратор и воркерыВызывающий агентРезультаты вызвавшемуРабочая копия вызвавшегоВоркеры правят его файлы
Лид и список задачВедущий агентСписок задач и сообщенияОбычно одна папкаПерезапись, расход токенов
Fan-out и mergeПланировщик или выПлан, написанный заранееВетки сливаются с проверкойПоздние конфликты слияния
Цепочка передачВы, при проектированииВыход предыдущего шагаВетка последнего шагаМедленно, размытые передачи
Best-of-NНиктоНетВы выбираете один diffСтоимость в N раз выше

Что ломается и как это лечить

Конфликты

Два агента в одной папке рано или поздно правят один файл. Средства складываются: worktree для каждого пишущего агента, деление по папкам, а не по фичам, явное владение файлами и слияние веток по одной на самую свежую вершину, чтобы второе слияние видело первое. Очередь слияния — это последний шаг, сделанный как следует.

Стоимость

Каждый агент заново читает нужный ему код, и каждое сообщение между агентами — это токены. Документация Anthropic говорит, что команды агентов расходуют заметно больше токенов, чем одна сессия, и советует начинать с 3–5 участников. Держите число агентов небольшим, давайте воркерам модель подешевле, где документация это позволяет, и ставьте лимит на агента, чтобы цикл не сжёг дневной бюджет.

Дрейф и циклы

Агент может уйти от плана, двадцать минут повторять одну и ту же падающую команду, или два агента могут бесконечно задавать друг другу один вопрос. Ясные критерии приёмки для каждой задачи, явный сигнал «готово» или «застрял», лимиты на сообщения и наблюдатель, который замечает повторяющиеся команды, ловят большую часть таких случаев.

Доверие между агентами

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

Инструменты по паттернам

Субагенты Claude Code (оркестратор и воркеры)

Субагенты — это Markdown-файлы с YAML-frontmatter в .claude/agents/ (проект) или ~/.claude/agents/ (пользователь). Каждый работает в своём контекстном окне и возвращает результат вызвавшему; расход идёт в те же лимиты. Ограничить субагента можно через tools или disallowedTools, модель задаётся в model. На октябрь 2026 года субагенты по умолчанию могут запускать свои субагенты до трёх уровней вглубь; это регулирует CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH (значение 1 выключает вложенность).

---
name: test-triager
description: Запускает упавшие тесты и сообщает первопричину. Использовать после красного прогона CI.
tools: Read, Grep, Glob, Bash
model: sonnet
---
Запусти упавшие тесты, найди первую настоящую ошибку и сообщи файл, строку и причину не длиннее 15 строк. Не редактируй файлы.

Команды агентов Claude Code (лид и список задач)

Команды агентов на октябрь 2026 года экспериментальные и по умолчанию выключены. Одна сессия становится лидом; каждый участник — отдельный экземпляр Claude Code со своим контекстом. Участники делят список задач со статусами «ожидает», «в работе» и «выполнено» и с зависимостями, сами берут задачи и пишут друг другу напрямую. Включается в settings.json:

{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

По умолчанию участники отображаются in-process, либо в разделённых панелях через tmux или iTerm2. Документация перечисляет реальные ограничения: нельзя возобновить сессию in-process участников, статус задач может отставать, одна команда на сессию, вложенных команд нет, лид фиксирован. Там же предупреждают, что два участника в одном файле перезапишут друг друга, так что делите работу по файлам. Хуки TeammateIdle, TaskCreated и TaskCompleted позволяют навязать правила; код выхода 2 блокирует действие.

Codex cloud (fan-out и best-of-N, удалённо)

Codex cloud выполняет задачи в облачном окружении, которое вы настраиваете, каждую в своём рабочем пространстве, и продолжает работу, пока ноутбук спит. Вы смотрите diff, просите доработки, а затем открываете PR или применяете изменения локально. Команда codex cloud на октябрь 2026 года помечена как экспериментальная:

codex cloud exec --env ENV_ID --attempts 3 "Почини нестабильный тест дат в billing/"
codex cloud list --env ENV_ID
codex apply TASK_ID   # применяет diff локально; ненулевой код выхода, если git apply не удался

--attempts принимает значения от 1 до 4 — это самый простой best-of-N из возможных. Codex cloud — лучший выбор, если работу нужно унести с вашей машины; он запускает только Codex.

Conductor (fan-out, Mac)

Conductor запускает Claude Code, Codex, Cursor и OpenCode параллельно, каждую задачу в отдельном рабочем пространстве со своей веткой, терминалом и diff, после чего идут ревью, PR, merge и архивирование. Работает только на Mac. Тарифы на октябрь 2026 года: Free, Pro за $50 в месяц и Teams за $60 за пользователя в месяц. Если вся команда на macOS и нужен отполированный интерфейс для fan-out, это сильный вариант.

Claude Squad (fan-out, терминал)

Claude Squad — терминальный интерфейс, который запускает Claude Code, Codex, Gemini, Aider, OpenCode или Amp в отдельных worktree внутри tmux. Лицензия AGPL-3.0, нужны tmux и GitHub CLI; в Windows работает через WSL.

brew install claude-squad
cs              # по умолчанию Claude Code
cs -p "codex"   # другой агент

n открывает сессию, Enter подключается, Ctrl-q отключается, s делает commit и push. Если вы живёте в терминале, это самый лёгкий вариант.

Vibe Kanban (fan-out, доска)

Vibe Kanban превращает задачи в карточки, и каждая карточка получает рабочее пространство со своей веткой, терминалом и dev-сервером; комментарии к diff уходят агенту, а он умеет открывать PR. Поддерживаются Claude Code, Codex, Gemini CLI, Copilot, Amp, Cursor, OpenCode, Droid, CCR и Qwen Code. В README теперь сказано, что проект сворачивается, так что на октябрь 2026 года считайте его поддерживаемым сообществом (Apache-2.0, npx vibe-kanban).

AgentVera (все пять, локально)

AgentVera — десктопное приложение для macOS, Windows и Linux, которое запускает много CLI для разработки бок о бок, поэтому в нём можно собрать любой из паттернов, а не один:

  • Оркестратор и воркеры: функция «агенты открывают агентов» (по умолчанию включена) позволяет агенту запускать помощников через инструменты spawn_agent, wait_agent, agent_status, message_agent и stop_agent. Помощником может быть любой установленный CLI; он может работать в своём worktree на ветке oto/… и отображается под родителем. По умолчанию каждый агент может открыть 3 помощника, а всего одновременно работают до 6; помощники не могут открывать своих агентов.
  • Лид и список задач: обмен сообщениями между агентами даёт каждому агенту send_message, reply_message, wait_reply и общий список задач (task_add с исполнителем и зависимостями, task_claim, task_done, task_release). Когда зависимости задачи закрыты, она становится готовой, а исполнитель получает уведомление. Это работает между разными CLI, так что Claude Code может передать задачу Codex.
  • Fan-out и merge: параллельная команда (тарифы Pro и Team) делит работу максимум на 8 частей, у каждой есть критерии приёмки и ожидаемые файлы, запускает их в собственных worktree, по умолчанию по 3 одновременно и не более 6, и сливает в интеграционную ветку. Проверка — тестовая команда проекта; конфликты и падения исправляет агент интеграции, а если после двух раундов исправлений проверка всё ещё красная, команда останавливается.
  • Защита от типичных сбоев: владение файлами отклоняет через хук правки Claude Code за пределами путей владельца; очередь слияния сливает по одной ветке на самую свежую вершину; бюджеты токенов (по умолчанию выключены) ограничивают агента на ход и на день; супервизор помечает агента, который 5 раз за 15 минут повторяет одну команду, 3 хода подряд получает одну и ту же ошибку или 20 минут не меняет ни одного файла.

Эти функции работают только локально: помощники, открытые агентами, и обмен сообщениями не распространяются на SSH-агентов. Если задачи должны идти в облаке при закрытом ноутбуке, лучше подойдёт Codex cloud.

Как выбрать паттерн

  1. Работа в основном на чтение? Оркестратор и воркеры. Субагентов достаточно.
  2. Несколько агентов должны писать код одновременно? Fan-out по worktree с шагом слияния. Никаких общих папок.
  3. Задачи меняются по мере того, как вы узнаёте больше? Лид с общим списком задач и 3–5 агентов.
  4. Одну и ту же задачу вы гоняете каждую неделю? Цепочка передач с подтверждением перед шагом с кодом.
  5. Задача сложная, а ответ неочевиден? Best-of-N, и платите за это осознанно.

Затем выбирайте инструмент по платформе: Conductor только на Mac, Claude Squad для терминала, Codex cloud, если работа должна идти удалённо, AgentVera, если нужны несколько CLI и паттернов в одном десктопном приложении на любой ОС.

Маленькая оркестрация, которую можно попробовать сегодня

Самому маленькому полезному fan-out нужны только git и два CLI:

git worktree add ../app-api -b feat/api
git worktree add ../app-ui -b feat/ui
(cd ../app-api && claude "Добавь эндпоинт /invoices. Трогай только src/api/.")
(cd ../app-ui && codex "Сделай страницу счетов по контракту /invoices. Трогай только src/ui/.")
git checkout -b integrate/invoices
git merge feat/api && npm test
git merge feat/ui && npm test

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

Итоги

Оркестрация ИИ-агентов для разработки зависит не столько от инструмента, сколько от трёх решений: кто делит работу, где живёт общее состояние и как попадает код. Оркестратор и воркеры подходят для чтения, список задач — для меняющейся работы, fan-out со слиянием — для больших разделимых изменений, цепочки передач — для повторяющихся задач, а best-of-N — для трудных. Что бы вы ни выбрали, ставьте защиту от конфликтов, расходов и дрейфа с первого дня.

Если хотите попробовать несколько паттернов в одном месте, скачайте AgentVera и начните с двух агентов и общего списка задач, прежде чем включать параллельную команду.

Вопросы

Что такое оркестрация ИИ-агентов для разработки?

Это слой, который координирует несколько агентов-программистов над одной задачей: что-то делит работу, агенты делят состояние через возвращаемые результаты, список задач или сообщения, а их изменения объединяются через merge или ревью, а не сталкиваются в одной папке.

С какого паттерна оркестрации начать?

Начните с оркестратора и воркеров, например субагентов Claude Code, для исследования и ревью внутри одной сессии. Переходите на fan-out по git worktree, когда несколько агентов должны писать код одновременно, и добавьте в конце шаг слияния с прогоном тестов.

Готовы ли команды агентов Claude Code для продакшена?

На октябрь 2026 года они экспериментальные и по умолчанию выключены. Включаются настройкой CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS, а документация называет ограничения: нельзя возобновить сессию in-process участников и в одной сессии может быть только одна команда.

Почему мультиагентная оркестрация обходится намного дороже?

У каждого агента своё контекстное окно, и он заново читает нужный код. Сообщения для координации тоже стоят токенов. По документации Anthropic команды агентов расходуют заметно больше токенов, чем одна сессия, поэтому держите команды маленькими и ограничивайте расход на агента.

Как не дать двум агентам править один и тот же файл?

Дайте каждому пишущему агенту свой git worktree и ветку, делите работу по папкам и сливайте ветки по одной, прогоняя тесты на объединённом результате. Правила владения файлами могут вдобавок отклонять правки за пределами путей агента.

Соберите своих агентов за одним столом.

Скачайте AgentVera бесплатно; ваши установленные CLI уже готовы к работе.

Другие статьи