Это продолжение статьи «Без документации ИИ далеко не уедет: мои грабли на проекте».
VS Code vs JetBrains IDE
Я всегда был фанатом PHPStorm от JetBrains. Но под работу с ИИ поставил Visual Studio Code, и он оказался удивительно удобным.
Мне почти не приходилось лазить по коду руками. По большому счёту, достаточно было чата с моделью и общего контроля проекта.
Локально у меня стоит OpenServer Panel. Я не стал сейчас ставить Docker или Vagrant. Исторически так сложилось, что для PHP это простой, привычный и удобный инструмент.
Можно из коробки настраивать nginx / Apache, разные версии PHP на разных доменах и субдоменах, включить PostgreSQL, MySQL, Redis, очереди. В последней версии OSPanel мне понравилось, что появился Go.
В итоге локально можно смотреть сайт не через локальный IP и порт, а как нормальный домен вроде https://chat.test и субдомены.
В конфиги при этом сразу заложено, что на продакшне домен будет другим.
Отдельно мне нравится, что в OSPanel можно спокойно работать с HTTPS на всех субдоменах. Я не люблю отлаживать всё на HTTP, а потом ловить странные ошибки на проде, потому что где-то запрос ушёл не по тому протоколу и браузер его зарубил.

Деплой на сервер
Я часто вижу одну и ту же проблему у друзей, коллег и знакомых, которые тоже вайбкодят.
Если человек не технический специалист, он может сделать локально что-то работающее. У него есть код, интерфейс, вроде бы всё крутится.
А дальше возникает вопрос: как это выгрузить на сервер? Как настроить домены, сертификаты, окружения, базы, очереди, кэши? Как администрировать? Как обновлять? Как понимать, что сломалось?
Вот здесь многие упираются.
Есть разные ИИ-инструменты, которые обещают «задеплоить всё куда-то сами». Но, на мой взгляд, это не всегда правильный путь.
Пока у тебя pet-проект то, это может быть. Но как только появляется много данных, нестандартная архитектура, требования к безопасности, нагрузке и сопровождению, такие системы могут проявить уязвимости, не выдержать нагрузки или оказаться слишком косными.
Именно последняя миля в виде вывода в продакшн, настройки инфраструктуры, эксплуатации, сопровождении — это место, где опыт разработчика и архитектора начинает играть огромную роль.
ИИ может помочь. Но ответственность всё равно остаётся на тебе.

Где ИИ реально помогает
Главное ощущение от этих двух недель: ИИ невероятно ускоряет разработку.
Не в смысле «он напишет за тебя одну функцию». А в смысле, что ты начинаешь управлять разработкой на другом уровне.
Ты говоришь, что нужно сделать с точки зрения продукта и поведения. Он пишет код, правит шаблоны, добавляет вкладки, меняет формы, делает адаптив, подключает кнопки, пишет миграции, обновляет документацию.
Особенно хорошо ИИ помогает там, где много рутинных, но важных вещей.
Сделать страницу. Добавить CRUD. Добавить фильтры. Перенести блок. Сделать вкладку. Добавить кнопку копирования. Привести форму к общему стилю. Прокинуть настройку из кабинета в превью. Обновить текст. Сделать валидацию. Добавить миграцию. Прописать env-параметры.
Раньше на это уходили часы и дни. Сейчас многие такие задачи занимают минуты.
И это создаёт совершенно другое ощущение скорости.

Где ИИ мешает или опасно фантазирует
Но есть и обратная сторона. ИИ может додумывать.
Иногда удачно, как с Prometheus. Иногда не очень.
Он может сделать формально правильную реализацию, которая не нравится как продукт. Может выбрать неудачную структуру таблиц. Может забыть про TTL. Может сделать UI, который вроде соответствует требованиям, но выглядит ужасно.
Он может потерять страницу, если flow много раз менялся. Может не понять, что старое решение уже отменено. Может тащить противоречия из устаревшей документации.
Поэтому вайбкодинг — это не «я сказал, и оно само сделалось».
Это скорее работа тимлида с очень быстрым, очень исполнительным, но не всегда опытным разработчиком, который иногда слишком уверен в своих решениях.
Надо задавать рамки, проверять, уточнять, просить объяснить, что он сделал, заставлять обновлять документацию, возвращаться к архитектуре, смотреть на продакшн-риски.
И здесь технический опыт не исчезает. Наоборот, он становится ещё ценнее.

Экскаватор вместо лопаты
Для меня вайбкодинг и ИИ — это технологическая революция, которая уже не «входит в наш мир». Она уже здесь!
Для гуманитариев это возможность делать MVP, внутренние инструменты, агентные системы и продукты, которые раньше были недоступны без команды разработки.
Для технических специалистов это мощный усилитель.
Если раньше ты копал траншею лопатой и прекрасно понимал, как это делается, как класть трубы, где будут проблемы, то теперь у тебя появился экскаватор.
Ты можешь копать больше, быстрее, глубже и делать гораздо больший объём работы, чем раньше.
Но важно: экскаватор не отменяет понимания, где копать.
Если ты не понимаешь, что делаешь, можно очень быстро накопать не туда.
Технические скиллы, опыт программирования, понимание архитектуры и продакшна помогают видеть, что происходит под капотом. Они позволяют иногда заглянуть в код и понять уязвимое место, техническим языком объяснить, как исправить, грамотно ответить на вопросы модели и выбрать правильный вариант из нескольких предложенных.

После 26 лет разработки я попробовал вайбкодинг не как игрушку, а как способ создать реальный продукт.
Через две недели у меня был рабочий ИИ-продукт с виджетом, клиентским кабинетом, back-office, API, Go-gateway, Redis, PostgreSQL, Prometheus, ролями, интеграциями, биллингом и нормальной архитектурой.
Я не писал код руками.
Но я постоянно проектировал, уточнял, спорил, проверял, принимал решения и направлял разработку.
И это, кажется, главное отличие.
Вайбкодинг не отменяет разработчика. Он меняет его роль.
Раньше ты был человеком, который сам копает траншею. Теперь ты человек, который управляет экскаватором, понимает грунт, знает, куда вести трубу, и отвечает за то, чтобы всё это потом не рухнуло в продакшне.
Мне безумно нравится этот новый способ разработки.
И, честно говоря, руками писать уже не очень хочется.
Детали и секреты реализации, а также сами продукты, которые я вайбкожу, включая ссылки на них, можно найти в моём Telegram-канале.
Коллеги-вайбкодеры и все, кому эта тема интересна, буду рад видеть и открыт к общению. Мне очень интересен опыт каждого: кто что делает, что получается, что не получается, какие подходы работают, а какие нет.
Давайте обмениваться практикой!
ссылка на оригинал статьи https://habr.com/ru/articles/1033938/