⚪️ Swarm-Forge, большой обзор (часть 1) Боб Мартин, известный как Дядя Боб (Uncle Bob), создатель весьма культовой книжки Clean Code, выпустил свой оркестратор - Swarm Forge. 🔗 Гитхаб: https://github.com/unclebob/swarm-forge Дядя весьма хардкорный с методологической точки зрения, посмотреть на его оркестратор - весьма интересно. Приступим! Сразу отметил: необычен способ дистрибуции. Проект лежит на гитхабе и распределен ПО РАЗНЫМ веткам, и в них находится ОДИН продукт. Дефолтная ветка main содержит документацию и главные файлы проекта, а другие ветки содержат конфиги встроенного флоу, и как раз предназначены для работы с проектами - мы вернемся к этой штуке чуть попозже. ▶️ Оркестратор сделан системой на базе tmux и детерминированных скриптов оркестрации + не совсем шаблонное использование git worktrees + файловая агентная почта. Написано на смеси closure / sh и использует кложурный babashka интерпретатор для скриптов. Также в проекте использована куча специфического (TDD?) инструментария - Gherkin, DRY структурные анализаторы, CRAP метрики кода, APS (Acceptance-Pipeline-Specification), gherkin-parser, gherkin-mutator. ▶️ В оркестраторе предусмотрены роли для агентов: specifier, architect, coder, cleaner, hardender, qa. Можно добавить свои. Каждая роль будет отдельным агентом, который работает в своем изолированном рабочем дереве, со своей отдельной tmux сессией (к которой вы можете подключиться и смотреть за работой). На каком агентном движке - настраивается. Дефолтом идет codex, поддерживается claude, copilot (omfg, Дядя Боб!) grok. Где, блин pi? Где opencode? Ну или droid? бардак. Про китов молчу. Задачи агентам выдаются через специальную агентную почту на базе типизированных файлов. Агент кладет сообщение в специальном формате в исходящую почту, а демон в составе оркестратора обрабатывает и маршрутизирует ее получателю, делает короткое уведомление о новой почте. Задачи с одинаковым приоритетом объединяются для обработки в пачки (batch). Обратите внимание: рабочие ветки созданы не под задачу/фичу, а под роли агентов в проекте! Оригинально. В итоге систему оркестрации в проекте можно описать как настраиваемый конвеер обработки последовательной передачи заданий через систему агентной почты между разными исполнителыми. Для отдельных этапов предусмотрена пакетная обработка задач. (продолжение далее ...) @deksden_notes