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

Основа архитектуры — субагенты, которые хранятся в директории .claude/agents/ в виде markdown-файлов. Каждый файл состоит из двух частей: frontmatter с техническими параметрами и полноценной спеки агента. В frontmatter указывается модель (opus для глубокого анализа, Sonnet для рутинных задач), набор разрешённых инструментов, режим прав и опциональная изоляция через git worktree. Ключевой момент: ограничение инструментов работает жёстко — агент с tools: Read, Grep, Glob физически не сможет записать файл, даже если промпт это потребует.

Параметр frontmatterНазначениеПример значения
toolsРазрешённые инструменты агентаRead, Grep, Glob
modelМодель для выполнения задач агентаopus / Sonnet
permissionModeУровень прав агентаplan (read-only)
isolationИзоляция рабочей директорииworktree
backgroundФоновый запуск агентаtrue
maxTurnsМаксимальное число шагов агента40
effortУровень усилий при анализеhigh

Автор разграничивает субагента и простой role prompt. Нормальный агент — это не «ты опытный ревьюер» на 15 строк, а документ с описанием личности, зоны ответственности, входных данных, правил калибровки, формата результата, стоп-критериев и антипаттернов. В качестве примера приводится агент Seeker — первый шаг шестиступенчатого конвейера поиска ниш. Он знает, кто читает его вывод дальше, какие поля нельзя заполнять поверхностно и какие идеи отбрасывать. Полная спека занимает сотни строк.

Субагенты описываются в .claude/agents/ как markdown-спеки с frontmatter: модель, инструменты, режим прав, изоляция.

Agent Teams — следующий уровень над субагентами. Если обычные субагенты работают внутри одной сессии Claude Code, то Agent Teams запускают несколько полноценных сессий под общей задачей. Функция экспериментальная, активируется переменной окружения CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 и требует версии не ниже 2.1.32. Типовой сценарий: крупный многофайловый рефакторинг с готовой спекой. Оркестратор читает документ, нарезает работу на независимые юниты, каждый юнит получает кодер-агент с полной инструкцией. Кодеры работают в изолированных git worktree и возвращают diff, тесты, риски. Затем оркестратор вызывает ревьюеров — по безопасности, тестам, архитектуре — и собирает итоговый отчёт: что мержить, что переделать, где нужен ручной выбор.

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

Anthropic честно предупреждает в документации: Agent Teams создают coordination overhead и повышенный расход токенов. Ускорение реально только когда юниты независимы. Пять агентов, правящих один модуль, дадут не пятикратное ускорение, а пять вариантов конфликта. Качество держится не на количестве агентов, а на качестве их спек: кодер без правил проекта будет красиво ломать архитектуру, ревьюер без чеклиста — писать общие замечания, оркестратор без exit criteria — гонять команду по кругу.

Автор формулирует и критерий «когда не делать субагента»: если задача одноразовая или решается промптом на три-пять строк — это промпт, не агент. Субагенты оправданы, когда роль повторяется в десятках сессий и требует стабильного поведения с предсказуемым форматом вывода.