Три месяца назад компания отозвала вакансии разработчиков. Потому что больше пока не нужно. Код за них пишут конвейеры, которые я собрал: десятки задач в день с моим минимальным участием, и они почти не возвращаются на доработку. И сейчас я даже не делаю код ревью. Хочу рассказать, как это устроено и где оно всё равно ломается.
Я в теме ИИ с выхода GPT-3.5 и с этого дня работаю с нейросетками каждый день. Сначала использовал вместо Гугла и даже пытался запрашивать кодинг мини функций. Работало это ужасно.
Потом индустрия развивалась, и в какой-то момент я обнаружил себя с 6-ю открытыми окнами терминала, в которых параллельно трудились агенты Claude Code.
Но больше кода не равно хорошо проделанной работе. Баги, оверинжиниринг, дублирование кода и отсутствие контроля кодовой базы, да и понимания её в целом.

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

Так я создал полностью автоматические кодинг конвейеры. В компании, где я работаю продукт построен на микросервисной архитектуре. Мой конвейер шарит за связи между сервисами и кто какую ответственность несёт. Главная метрика для меня: как часто задачи возвращаются на доработку. К моему счастью почти не возвращаются. А если возвращаются, то только из-за неправильной или недостаточно подробной постановки задачи.

Принципы:
Документация first. Любая задача начинается с документации. Три вида: spec отвечает за то, как система должна работать, state рассказывает, как работает сейчас, ADR описывает все принятые решения. Старые решения нельзя редактировать, только заменить новым, а старое помечается устаревшим со ссылкой на новое. Документация здесь не для меня, а для агентов. Агенты пишут ее с помощью скиллов.
Строгая типизация, статический анализ, покрытие тестами 80%+, хуки там, где можно. Ловит кучу проблем ещё до первых коммитов, а хуки избавляют модель от забывчивости.
Изоляция доменов. Каждый домен лежит отдельно, изолирован максимально, работает как чёрный ящик. Большие задачи режутся на кусочки.
Скиллы + CLI утилиты для каждого повторяющегося действия.
Система постоянно улучшает сама себя. Агент по крону каждые 10 минут изучает работу каждого кодинг агента и помогает там, где они застревают. Если проблема в самом конвейере, он тут же создаёт задачу в md файле, конвейер её подхватывает и сразу делает. Плюс недельный крон ищет закономерности и способы поднять эффективность. При этом если агент выполняя работу замечает где-то рядом проблему/техдолг, он также сразу создает задачу локально и уже другой агент ее берет в работу.
Мастер оркестратор управляет всем. Единая точка входа и источник истины.
Как выглядит типичная работа агента
У агента 4 источника задач:
- Jira, где агент выбран исполнителем и стоит метка ai;
- ссылка на задачу или выбор из списка; авто задачи из локальной директории issues;
- и просто «а сделай-ка мне вот эту хуйню».
Агент берёт задачу, определяет репозиторий, уровень эффорта и какой моделью лучше её делать. Подтягивает последнюю версию репозитория, создаёт worktree и ветку. Пишет план и кидает мне, но не ждёт моего ок, а сразу начинает реализовывать. Если по ходу возникают вопросы, задаёт мне. Если я не отвечаю больше 10 минут, мастер пытается ответить сам: простой вопрос закрывает, сложный ждёт меня. Сложных процентов 20.
Потом пишется документация и ADR.
Дальше агент запускает агента оценщика, который как отдельная сущность сравнивает текст задачи с тем, что по факту реализовано, и ищет слабые места. Находит, отдаёт отчёт обратно, и так по кругу, пока задача не сделана по всем нашим принципам и правилам.
После этого прогоняются тесты, линтеры, ruff и т.д., пока всё не станет зелёным.
В конце пишется комментарий в Jira и создаётся PR, где в описании: какая была проблема, как решили и заметки для ревьюера. Я читаю только этот комментарий. Ревью заменяет связка: оценщик, гейты, тесты и раз в месяц большой аудит всех задач на уязвимости и проблемы плюс закрытие техдолга. При соблюдении всех этих принципов я уверен в коде (я ж раньше ревьювил), а комментарий помогает понять, что задача понята верно и реализована в целом правильно. Недавний аудит по всем микросервисам нашел 40 проблем, которые были решены за сутки. В основном это устаревшие версии пакетов, мелкие моменты по безопасности и рефакторинг пары больших файлов.
После мерджа агент сам удаляет ветку и worktree, закрывает задачу и двигает её в Jira дальше.
Пару месяцев назад я подключил Slack к системе: под каждую задачу отдельный тред, куда агент пишет заметки и комментарии. И дал ПМам пользоваться системой самим, без меня вообще. Это ускорило работу команды ещё раза в 3. Не замерял, но мои субъективные ощущения такие. Уровень счастья ПМов улучшился тоже 😅
И вот наступил тот момент, когда я стал бутылочным горлышком.
Казалось бы, красиво всё и классно. Но на мне оказалось 10+ сервисов, за которые я отвечаю. В разных сервисах разные конвейеры, а некоторые вопросы агентов ждут меня по несколько дней.
Поэтому я сделал интерфейс + движок, который оркестрирует все существующие конвейеры в системе. Все вопросы в одном списке, вижу статус абсолютно всех задач и могу реагировать сразу. И мобильное приложение, чтобы не быть привязанным к компу. Простой дашборд показался слишком скучным, поэтому я немного обкололся футуризмом и добавил глаз Саурона, который ведёт себя по-разному в зависимости от статуса системы.

Теперь я могу запускать много сессий с мастером и параллельно работать над сложными задачами, а еще это выглядит прикольно :)
Итог
Система работает около полугода. Сейчас это 25+ задач в день. Компания отозвала новые вакансии разработчиков.
Но узкое место никуда не делось, оно просто сместилось. Раньше это был код, теперь это постановка задач и бизнес-логика. Требования меняются на ходу, и агент не может знать то, что не записано.
зы: Да я осознаю, что ИИ, нейрослоп и тд, но это трейдофф.
Но если такая фабрика 90% задач сделает нормально, а остальные 10% шакально, то для меня это не повод отказываться от скорости и эффективности, а просто причина найти способ, как сделать систему более стабильной. Я инженер уже 20 лет и я очень давно не был так увлечен работой, как сейчас.
ззы: наверно не стоит использовать данный подход в финтехе. Как минимум отказываться от код ревью не надо.
зззы: текст писал не ИИ! Это я пока делаю сам :D

И что вы генерите так? MVP?
Основатель стартапов - позиция в профиле намекает на жёсткий вайбкодинг.
Первый!
Звучит охренительно! Особенно глаз Саурона!
Хотелось бы понять в какой области проект/работа?
Здесь просто необходима ссылка на Gas Town от Steve Yegge https://yegge.ai/
Сам я эту штуку не пробовал, но интересные идеи там есть