Vibe Coding: ИИ-агент как архитектор. Это возможно, но ...
Коллеги, продолжаю делиться опытом плотной работы с кодогенерирующим ИИ-агентом. После прошлого поста было много вопросов: а может ли он DDD, Clean Architecture, TDD? Давайте разбираться.
Плюсы (реальные, но с условиями):
Скорость прототипирования: Каркас проекта на десятки тысяч строк — за выходные. Полноценный MVP — дело дней. Но! 55к строк достичь без подготовки не выйдет. Нужно правильно готовить промпты, разбивать задачи, настраивать контекст.
Он может и продвинутые практики: Да, он может применять DDD, Clean Architecture, TDD, если ему детально рассказать, дать точные требования и если задача умещается в его контекстное окно. На свежем проекте, который создаётся с нуля по чёткому ТЗ, — он справляется круто.
Идеальный исполнитель рутины: Генерация тестов, документации, конфигов, интеграция библиотек — его стихия.
«Мыслит» контекстом: В отличие от примитивных генераторов, этот агент пытается понять задачу и сохранять целостность.
Минусы (критические и архитектурные):
Скатывание в хаос на пределе: Если задача слишком объёмная, запутанная или он действует на пределе контекста (даже 128К токенов), качество резко падает. Он начинает генерировать говнокод: плодить дубли, кастить в any, создавать цикличные зависимости.
Проблема — в архитектуре LLM: Это не просто баг, а аппаратно-архитектурное ограничение текущих моделей. Они не держат в фокусе всю сложную систему. Это требует от вас правильного архитектурного проектирования и деления системы на независимые слои и модули, которые агенту будет по зубам.
Кошмар рефакторинга: Хуже всего — попросить его переписать существующий спагетти-код на Clean Architecture. Он начинает ломаться на костылях, теряет нить, создаёт ещё более странные гибриды. Постепенный рефакторинг для него — сверхсложная задача.
Требует вашего максимального включения: Это не «нажал кнопку — получил архитектуру». Это активный диалог, где вы — главный архитектор, а он — исполнитель, который постоянно нуждается в валидации и направлении. Без вашего контроля он оптимизирует не за качество, а за «чтоб компилировалось».
Золотая середина и выводы:
ИИ-агент — это мощный усилитель ваших компетенций, а не волшебный архитектор.
Идеальная схема работы:
Вы проектируете: Делите систему на модули, продумываете контракты между слоями, готовите детальные промпты.
Агент реализует: Пишет код по вашим спецификациям внутри этих модулей, генерирует тесты и документацию.
Вы контролируете и интегрируете: Сводите модули вместе, проводите ревью, корректируете курс.
Стоит ли использовать? ✅ Да, если: У вас есть время и экспертиза, чтобы ставить чёткие задачи, делиться на модули и активно руководить процессом. Для нового проекта с ясной архитектурой — это мощный рывок. ❌ Нет, если: Вы ждёте, что он сам придумает и реализует красивую архитектуру в legacy-коде или огромной системе. Без вашего руководства он утонет в деталях.
Главный инсайт: Потолок качества системы, сгенерированной агентом, упирается в потолок вашего архитектурного видения и навыков управления им. Это сложный, но невероятно продуктивный инструмент в руках подготовленного инженера.
P.S. У меня большой опыт в проектировании таких процессов: как правильно делить систему для ИИ, готовить промпты, настраивать контекст и контролировать результат. Если вам нужно не просто сгенерировать код, а построить качественную систему с помощью ИИ или привести в порядок уже сгенерированное — обращайтесь. Поделюсь наработанными практиками.
Контакты для обсуждения: maxbogus@vk.com | Telegram: @maxbogus Канал: https://t.me/aiscepticism