🛠 12 ролей агентов в Claude Code доводят задачу до выпуска
За полгода одиночный проект Scruma превратился в конвейер, где код пишут агенты Claude Code, а человек ставит задачи и принимает результат. Всё работает через экспериментальную функцию Agent Teams: одна сессия становится руководителем, остальные — участниками команды с отдельным контекстом и зависимостями blocked_by. Включается это переменной окружения CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1, но главное не в ней, а в том, как организован процесс.
Ключевое решение автора — вынести всю память команды из голов агентов в файлы репозитория: 73 архитектурных решения, 37 «граблей» с диагнозами отказов, 331 тестовый сценарий. За полгода сменилось 8 версий моделей, и ни одну из 12 ролей не пришлось переписывать — это просто файлы Markdown в .claude/commands. Роли перенесли в формат Codex (навыки + AGENTS.md) без изменения логики. Процесс жёсткий: DevOps, QA и документация не пропускаются никогда, а без блока «Влияние на тесты» от разработчика техлид не передаёт задачу дальше.
Запреты работают не всегда: в марте техлид сам написал код вопреки своей инструкции и сделал хуже разработчика интерфейса. Пришлось править инструкцию после разбора. Поэтому в репозитории лежит всё — от файлов Compose до панелей Grafana в JSON и правил оповещений как кода. Подход GitOps, где агент видит систему целиком, а не только код приложения.
→ Медиана от первой фиксации изменений в ветке до слияния (61 PR) — 3,9 часа
→ 409 фиксаций изменений, 70 PR, 44 тега выпусков, 110 разобранных ошибок
→ 14 ролевых команд: 12 ролей + 3 вспомогательных агента для тестов Playwright
→ Версии моделей за полгода: 8, ни одна роль не переписана
Привязка в агентной разработке смещается из API модели в инструкции ролей, ADR и структуру репозитория: сменить модель легко, пересобрать процесс заново — нет. А медиана 3,9 часа до слияния говорит не о магии Claude, а о том, что человек перестал быть узким местом внутри конвейера — но всё ещё остаётся им на входе и выходе.
По данным Habr
#ClaudeCode #AgentTeams #агенты #GitOps
Post #298
6