Дайджесты новостей
Параллельная стая специализированных ИИ-агентов слаженно выполняет масштабную задачу разработки

Claude Code 2.0 и архитектура Agent Swarms: от бесконечных циклов к параллельным стаям агентов

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

Но затем происходит неизбежное. Падают тесты. Агент пытается исправить сигнатуру функции, ломает соседний контроллер, в памяти накапливаются сотни строк логов ошибок, контекстное окно забивается мусором, и нейросеть начинает паниковать. Она ходит по кругу, бесконечно переписывая один и тот же файл туда-обратно, пока ты в бешенстве не жмешь Ctrl+C. Знакомо?

Классическая схема с одним универсальным агентом, работающим в линейном цикле (ReAct loop), окончательно уперлась в потолок. В масштабных проектах объемом свыше 10 000 строк кода монолитные агенты неизбежно терпят крах. В релизе Claude Code 2.0 инженеры Anthropic совершили долгожданный фазовый переход: от бесконечных одиночных циклов к архитектуре Agent Ladders («агентных лестниц») и параллельным роям агентов — Agent Swarms. О сравнительном поведении различных сред разработки мы уже писали в статье Codex против Claude Code: эксперимент по созданию Typeform-клона автономными кодинг-агентами.

Агентная лестница: разделяй и властвуй

Вместо попытки создать «мастера на все руки», который одновременно держит в голове бизнес-логику, верстку, безопасность и синтаксис SQL, Anthropic внедрила строгую трехуровневую иерархию ответственности:

  1. Уровень 1: Ведущий архитектор (Lead Orchestrator). Эту роль берет на себя тяжелый флагман Claude Opus 5.5 с максимальной глубиной рассуждений. Архитектор вообще не пишет прикладной код! Его единственная задача — декомпозировать большую цель на независимые атомарные тикеты, жестко описать контракты интерфейсов (TypeScript types или Pydantic schemas) и распределить задачи между подчиненными воркерами.
  2. Уровень 2: Отраслевые специалисты (Domain Specialist Workers). Рабочие лошадки на базе быстрой модели Claude Sonnet 5.5. Каждый воркер получает изолированное подпространство (отдельную ветку через механизм git worktree) и одну изолированную подзадачу: один пишет бэкенд, второй обновляет схему базы, третий готовит юнит-тесты.
  3. Уровень 3: Быстрые фильтры и линтеры (Fast Filters & Linters). Дешевые легковесные модели (Haiku 5.5) в связке с детерминированными утилитами (eslint, mypy, pytest). Они на лету перехватывают синтаксические опечатки и форматирование, не тратя дорогой контекст старших моделей.

Такая иерархия творит чудеса: статистика Anthropic фиксирует, что процент застреваний в бесконечных петлях отладки рухнул с 32% в одноагентной схеме до рекордных 2,8% в архитектуре Agent Ladder. А подключение дешевых фильтров снизило итоговый счет за токены на 40%. О масштабировании изолированных сред для тысяч агентов можно прочитать в материале Agent Substrate: архитектура высокоплотного рантайма для миллионов автономных ИИ-агентов на базе Kubernetes и gVisor.

Параллельные рои в действии: ускорение в четыре раза

Но главное преимущество Claude Code 2.0 — это параллелизм. Воркеры не ждут друг друга в очереди. Оркестратор поднимает параллельную стаю субагентов, работающих одновременно.

Вот как выглядит запуск параллельного роя из трех агентов для рефакторинга модуля авторизации через CLI:

# Инициализация многоагентного окружения Claude Code 2.0
claude swarm init --lead-model opus-5.5 --worker-model sonnet-5.5

# Запуск параллельной стаи воркеров в изолированных git-деревьях
claude swarm run \
  --task "Refactor authentication module to support OAuth2 Google and GitHub" \
  --concurrency 3 \
  --roles "
    worker-1: Implement OAuth2 token exchange in src/auth/service.py;
    worker-2: Write comprehensive pytest suite in tests/test_oauth.py;
    worker-3: Update OpenAPI schemas and Swagger documentation in docs/api.json" \
  --isolation git-worktree \
  --auto-merge-strategy linear-history

Каждый агент запускается в отдельной рабочей директории через git worktree. У него нет доступа к незафиксированным изменениям соседей, а контекстное окно остается кристально чистым: там лежит только файл задачи и целевой модуль. В результате время решения комплексного тикета сокращается в 3,8 раза по сравнению с последовательной правкой!

А глобальное поведение роя настраивается через конфигурационный файл .claude-swarm.json в корне проекта:

{
  "$schema": "https://anthropic.com/schemas/claude-swarm-v2.json",
  "orchestrator": {
    "model": "claude-3-5-opus-latest",
    "max_iterations": 6,
    "temperature": 0.2
  },
  "workers": {
    "default_model": "claude-3-5-sonnet-latest",
    "context_isolation": true,
    "max_tokens_per_subtask": 8192
  },
  "quality_gate": {
    "pre_merge_command": "pytest tests/ && flake8 src/",
    "fast_filter_model": "claude-3-5-haiku-latest"
  }
}

Механика слияния: как избежать хаоса

Ты резонно спросишь: а что происходит, когда три агента одновременно завершают работу и пытаются слить свои ветки в main? Ведь конфликты слияния неизбежны!

В Claude Code 2.0 за это отвечает арбитражный гейт качества (Quality Gate). Перед тем как объединить изменения:

  1. Быстрый фильтр запускает детерминированные тесты pre_merge_command.
  2. Если ветки конфликтуют по строкам или интерфейсам, оркестратор не пытается угадать решение вслепую. Он вызывает специализированного агента-интегратора (Merge Specialist), скармливая ему компактный дифф конфликтующих файлов.
  3. Только после успешного прохождения сквозных интеграционных тестов изменения сливаются в единую историю коммитов.

Накладные расходы токенов на взаимную координацию в таком рое не превышают 12–15% от общего бюджета сессии — смехотворная плата за четырехкратный прирост скорости.

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