Что такое вайб-кодинг? Как выглядит на практике? Где ИИ реально помогает, а где мешает?
Я 26 лет занимаюсь коммерческой разработкой программных продуктов для веба. За это время успел писать на PHP, Go, Perl, поработать с разными фреймворками, а последние годы в основном работаю в банках через вендеров системным аналитиком или архитектором.
Последние два года я уже активно программировал с помощью ChatGPT. Но это был не совсем тот самый "вайбкодинг", про который сейчас все говорят.
Мой прежний процесс выглядел так. Я даю подробное задание, ChatGPT шаг за шагом генерирует миграции, модели, контроллеры, сервисы, роуты, view, lang-файлы, т.е. фактически куски готового продукта. Я проверяю, что он написал, и копипащу это в нужные файлы. Со временем я к этому приноровился, и меня такой подход полностью устраивал.
Но две с половиной недели назад я решил попробовать полноценный вайбкодинг.
Не "сгенерируй мне вот этот метод". Не "напиши миграцию". А именно, я ставлю задачу, ИИ сам пишет код, сам проверяет, сам ведёт проект, сам двигается по этапам. Я же скорее продуктолог, архитектор, ревьюер и тимлид, чем разработчик с руками на клавиатуре.
И вот что из этого получилось.

Все говорят, все делают - значит, пора попробовать
Я давно порывался сесть и разобраться с вайбкодингом по-настоящему. Тем более вокруг всё чаще стали появляться истории, когда друзья и знакомые без опыта программирования делают свои продукты, запускают MVP, собирают внутренние инструменты, автоматизации, агентов.
Поставил Claude Code, купил тариф за 20 долларов, начал пробовать, и буквально через несколько запросов упёрся в недельный лимит. Это меня сильно озадачило. Я сидел и думал, а как тогда все эти знакомые делают продукты? Они что, пишут один экран в неделю?
После этого я нашёл способ купить более дорогой тариф Claude Code за 100$ (оплатил рублями). Решил, что всё... делаю первый проект полноценно на вайб-коде. По возможности, стараюсь не написать ни строчки кода руками.
Что я решил сделать? Какой продукт?

ИИ-продавец в виде чат-виджета как полноценный продукт
Продукт, который я захотел сделать, должен быть AI-виджет чата, который можно ставить на свой сайт.
На первый взгляд, вроде бы обычная штука. Ну... небольшой чат в углу сайта. Но если копнуть глубже, там сразу появляется полноценный продукт.
Нужен кабинет клиента, где пользователь может зарегистрироваться, добавить свой сайт (вернее, создать проект), настроить виджет, выбрать аватар оператора, задать сценарии вопросов и ответов, настроить внешний вид, получить код виджета для установки на сайт.
Нужны лиды, диалоги, интеграции, доставка заявок в Telegram и на почту, а в перспективе и в CRM (типа Bitrix и др.). Нужны тарифы, биллинг, а также админка для команды, чтобы можно было поддерживать клиентов, смотреть проблемы, управлять сущностями и не заходить в аккаунт клиента напрямую.
То есть это не игрушка на вечер. Это нормальный продукт с архитектурой, кабинетами, правами, API, gateway, метриками и продакшн-логикой.
И именно такой продукт мне было интересно попробовать сделать через вайбкодинг, как первый продукт сделанный ИИ под моим руководством.

Сначала не код. Сначала бизнес-требования
Я не стал начинать с команды "напиши мне приложение".
За годы в разработке я хорошо усвоил. Если ты не объяснил, что именно хочешь получить, то не надо удивляться, что тебе сделали не то. С ИИ это работает ещё сильнее.
Поэтому первым делом я решил подготовить подробное описание бизнес-требований (BRD). Так, как я обычно это делаю при проектировании продукта.
И здесь я использовал свой любимый подход, который выработался за время работы с ChatGPT.
Вы замечали, что если открыть три разных чата с одной и той же моделью, включить углублённый режим, дать одно и то же подробное задание, то результаты могут отличаться очень сильно?
Формально это связано с температурой и вероятностной природой генерации, но на практике выглядит проще. В одном чате модель вдруг попадает в очень удачный ход мысли, а в другом идёт куда-то не туда. То есть она может решить одну и ту же задачу очень по-разному.
Я этого больше всего опасаюсь в ключевых задачах. Не хочется, чтобы на старте выпала неудачная комбинация вероятностей, и дальше весь продукт поехал по не самому оптимальному пути.
Когда попадается удачный чат, его начинаешь эксплуатировать по максимуму. Держишь в закладках, возвращаешься к нему, пока контекст не переполнится настолько, что браузер уже начинает тупить.

Мой способ борьбы с "неудачным выпадением вероятностей"
Чтобы снизить риск неудачного старта, я использую такую тактику.
Сначала кратко описываю суть проекта. Потом открываю три отдельные вкладки ChatGPT в углублённом режиме. В каждую вставляю один и тот же промпт и прошу жёстко критиковать идею, предложить конструктивные улучшения и отсортировать их по приоритетности и применимости к моему продукту.
Дальше все три чата генерируют ответы. Я даже стараюсь сразу не читать, потому что там обычно много текста. В конце прошу каждый чат выдать результат в виде Markdown-файла для скачивания.
Получаю три файла.
Потом открываю ещё три новых чата. В каждый загружаю все три файла и прошу: "выбери из приложенных вариантов самый удачный, дополни его лучшими идеями из двух других и адаптируй под мою задачу". Снова прошу выдать Markdown.
На выходе у меня получается три более-менее финальных файла.
Но из них тоже надо как-то выбрать один.
Поэтому я снова открываю три вкладки ChatGPT, загружаю туда эти три финальных файла и прошу выбрать наиболее удачный вариант для создания продукта.
И вот здесь, как правило, все три чата уже указывают на один и тот же файл. Для меня это хороший сигнал о том, что получилось что-то достаточно устойчивое и качественное. Этот файл и ложится в основу бизнес-требований.
Да, звучит немного параноидально. Но когда от первого документа зависит направление всего проекта, такая паранойя вполне оправдана.

Продолжение в статье "Вайбкодинг как управляемая разработка"
В ней я рассказываю, как устроил связку Claude Code + Codex: один пишет код, второй ругается, а я пытаюсь не мешать им слишком сильно и при этом не дать продукту уехать в странную архитектурную даль.
Подписывайтесь на мой Telegram-канал. Там публикую детали реализации, скрины, живые заметки и разборы того, что не вошло в Хабр. Вопросы, споры и примеры из вашего опыта пишите в комментарии. Давайте обмениваться практикой и опытом.
nikerossxp
Скам