Как я собрал первый workflow для Dark Factory
В предыдущем посте я писал про OpenSecondBrain - память, которой пользуются AI-агенты. Память - это только половина истории. Вторая половина - это сам процесс: кто чем занимается, кто кого проверяет, что считается готовым и как всё это запускается одной фразой в чате.
Сегодня запустил первую рабочую версию: workflow new-project. Я приношу идею в Telegram, а на выходе получаю развёрнутый проект с документами, дизайном, планом и реальной публичной страницей.
Как это выглядит со стороны
Я приношу идею. Например: «нужен сайт-визитка для моей небольшой студии».
Дальше я отвечаю на короткие серии точечных вопросов. Сначала на сам брейншторм: кто аудитория, что хочется подчеркнуть, какой стек предпочитаю, как должно ощущаться. Потом, по ходу каждой стадии, ещё пара коротких сессий по 4-5 вопросов: всё, чего недостаёт автору очередного документа, чтобы не сочинять из головы.
Всё остальное делает фабрика. Я в этот момент могу заниматься своим делом.
Канбан с живыми карточками
Самое наглядное во всём этом - канбан-доска. Когда я говорю «да» на финальный план, оркестратор за один заход создаёт на ней 13 карточек, по одной на каждый этап работы. Дальше всё происходит у меня на глазах.
Карточки двигаются сами. Сначала загорается первая, на ней появляется пометка running, и я знаю, что один из субагентов взял её в работу. Через несколько минут карточка уезжает в done, и тут же подсвечивается следующая. Между производящими стадиями всегда стоит карточка-ревью, и её обязательно берёт другой субагент: тот, кто писал документ, никогда сам себя не проверяет.
Иногда ревью не проходит. Тогда карточка ревью уходит в blocked, рядом появляется новая - fix-задача для того же автора, и весь даунстрим аккуратно стоит и ждёт. Когда автор поправил, fix закрывается, ревью просыпается и читает заново. Может пройти, может ещё раз отправить на доработку. Максимум два круга, потом эскалация мне.
В итоге я смотрю на доску почти как на трекер заказа: вот собирают, вот упаковывают, вот везут. Только это не курьер, а несколько субагентов одновременно делают разные части моего проекта.
Что получается на выходе
К концу процесса у меня есть:
- структурированный
about.mdс сутью идеи; specs.mdс функциональными и нефункциональными требованиями;architecture.mdс техническим контуром;plan.mdс фазированным планом до MVP;DESIGN.mdс визуальной идентикой, токенами, типографикой и ключевыми экранами;- свой GitHub-репозиторий проекта со всеми этими файлами;
- задеплоенная публичная страница на поддомене
<slug>.techmeat.dev, на которой пока стоит максимально простой HTML, повторяющийabout.md. Это обещание, что проект существует и доступен по адресу.
Реализация самой фичи - задача другого workflow, который будет следующим. Цель этого первого - довести идею до состояния «всё описано, всё согласовано, у проекта есть свой адрес». Дальше можно нанимать фабрику уже на разработку.
Что было сложно
Делал несколько прогонов. Каждый раз вылезал свой смешной баг: то субагент пытался прибрать рабочую директорию и убивал собственную shell-сессию, то посреди этапа начинал реализацию самой фичи, хотя реализация в этот workflow не входит и это работа следующего. Между прогонами правил скилл и перезапускал. К текущему состоянию цикл идёт ровно от начала до конца.
По пути - память тоже выросла
В прошлом посте я обещал, что OpenSecondBrain - половина истории. С тех пор эта половина прилично доросла, и для самой фабрики это важно.
Главное изменение - у OpenSecondBrain появился слой «наблюдательной памяти». Раньше я писал туда вручную, как в дневник. Теперь субагенты сами подмечают мои предпочтения по ходу работы (типа «коммиты пишутся в повелительном наклонении» или «не используй внутренние сокращения без пояснения»), складывают эти заметки во входящий ящик, а раз в сутки агент Hermes прогоняет dream - фоновый проход, который превращает повторяющиеся наблюдения в правила. Эти правила сами подгружаются в начало каждой следующей сессии, и я больше не повторяю одно и то же по двадцать раз.
Плюс к этому: полнотекстовый поиск по всей базе знаний OpenSecondBrain, бэкап и откат перед каждым dream-проходом, отдельный слой для записи каждой платной операции (что заплатили, зачем, к чему привязано), и машинно-навязанная защита от того, чтобы какой-то агент случайно затёр чужие правила. Всё это и делает фабрику возможной: когда субагент пишет DESIGN.md, он уже видит мои накопленные предпочтения по типографике и интерфейсу. Я их когда-то один раз обронил в чате, OpenSecondBrain их закрепил, и теперь они входят в каждый новый проект без напоминаний.
Что дальше
new-project это только bootstrap. Следующим будет new-feature - workflow, который берёт уже существующий проект с его документами и доводит очередную фичу до production. И третий, bugfix: триаж, репро, фикс, верификация, ship. Эти три playbook’а вместе и есть моя версия Dark Factory для одного человека: я приношу идею или баг-репорт, а наружу выходит работающая фича.
До полной фабрики путь ещё впереди. Но первый кусок собран и идёт стабильно.
Публиковать всё это как opensource пока что рано: на текущем этапе это скорее исследование, чем готовый продукт. Как только полный процесс построения проектов будет работать относительно стабильно, я всё открою. Следите за мной в X.