Я люблю вайб-кодинг
Благодаря вайб-кодингу я снова хочу программировать. Генеративные нейросети — это тот инструмент, который должен освоить каждый программист, потому что ему понравится.
Давайте познакомимся — я технический директор IT-компании vverh.digital со стажем работы более 8 лет. За это время я не только руководил, но и много сам делал руками. Поэтому хотелось бы, чтобы в данной статье меня воспринимали не как "эффективного" менеджера, а как обычного программиста, который обожает свою работу.
Выгорание
Мой стаж 8 лет… это только в рамках прямой разработки. Общий мой стаж в IT в этом году стал 10 лет. Я — за*бался. Как программист, мне надоело делать одни и те же шаблонные "конструкции" из проекта в проект: чистая архитектура, MVC, MVVM — надоело. Мне нравится писать бизнес-логику, ведь она чаще всего уникальна (да и просто это интересно). Но бизнес-логика — это далеко не самая важная часть в проекте, особенно если ты в нём главный технический специалист. Архитектура, документация, регламенты, код "обслуживающий" архитектуру — всё это требует внимания, иногда чрезмерного.
Когда мы работаем по чистой архитектуре — мы пишем много очень похожего кода, который тупо надоедает писать из раза в раз. Аналогично с паттернами попроще — MVC. Там мы каждый раз делаем контроллеры, модели, может быть ещё какие-нибудь слои. Это утомляет.
Как руководителю, мне не нравится, что у моего сотрудника на создание типового модуля, который состоит из контроллера, 4 типовых (ну может, больше) юзкейсов (Use Case) и двух простых экранов — уходит минимум полдня работы. А ведь время — деньги. Сделай он быстрее — я получу “грязные бумажки” быстрее, а он получит премию. Но он не может, просто физически не может быстрее.
Вот эти две проблемы постоянно вгоняли меня в уныние. Я обожаю свою работу, но вот эта "рутина" однотипная раздражает.
Генеративные нейросети
Я давно слежу за так называемым "ИИ", первые версии ChatGPT вызывали смех, но я честно пытался извлечь из этого хоть какую-то выгоду. Да, простые типовые скрипты он писал круто, но сложные модули делать с ним — настоящая боль. Основная проблема — они не понимали контекст.
Агенты и типовые модули
И вот настал момент, когда я стал использовать агентов. C выходом Claude Sonnet 3.5 я перестал писать 50% кода самостоятельно. А с выходом Claude Sonnet 4.6 – 90% кода.
В данный момент я использую Claude Opus 4.6 и подписку Copilot Pro+ в VS Code. Для тех, кто не знает, это то же самое, что Cursor. Я бы даже сказал, это почти одно и то же.
Сейчас я могу написать техническое задание в 1500–2000 строк текста, причём дублируя некоторую информацию из папочки "prompts", которая у меня есть в проекте, и электронный брат делает всё как мне надо.
Пока он 10–20 минут делает мою работу, которую я бы делал часа 4, я могу заняться другими делами. Больше времени уделить качеству кода, больше времени потратить на эстимацию других более сложных задач.
Кто-то скажет: код плохой, не безопасный… да блин, вы уверены? А прокладка (вы) между нейронкой и компьютером зачем нужна? Верно, чтобы всё качественно проверить и проконтролировать.
Лично я к каждому своему промпту прикрепляю дополнительный базовый шаблон, который корректирую в зависимости от задачи. Даю нейросети кучу файлов, например файл, где описана простым языком вся архитектура проекта и все взаимосвязи.
А ещё часто я "кормлю" модель очень качественными примерами, которые я руками собирал. Потом, естественно, я это всё проверяю, вношу правки и получаю просто офигенный результат за короткое время.
Единственная проблема — Context Window агента заполняется на 80%–85% из-за огромного количества кода в проекте. И чем язык сложнее, чем больше всего на нём чего-то абстрактного описать надо — тем хуже работает. Но тут всё просто. Во-первых, каждый новый промпт — это новый чат. Во-вторых, если у нейросети что-то не получается, то делай как с человеком: дроби задачи.
Да, никогда с первого раза не получалось то, что хочется на 100%: где-то приходится немного править руками, писать свой код… но это 10% от общего кода, который я пишу с удовольствием. Как будто снова за стажёром мусор убираю и показываю, как надо. Поэтому раньше на типовой модуль уходило 4 часа (в лучшем случае), теперь 2 часа стабильно, иногда даже меньше. По моим личным метрикам +100% к продуктивности. И больше я пишу обычного текста, а не кода.
А ещё сверху закладываем адекватные бизнес-процессы в компании, качественную аналитику, код-ревью и тестирование — получается ровно то же самое, что делал человек. Но быстрее.
Но ведь это не совсем вайб-кодинг…
В целом да, это GPT-First подход в программировании. И это название придумал не я. Для коммерческих проектов — это идеальный подход, где знания программиста входят в симбиоз с нейросетью.
Сам вайб-кодинг в чистом виде тоже хорош, но я не рискую использовать его в рабочих проектах. Нет, проблема не в надёжности — я слежу за процессом, мои знания вкладываются в разработку системы. Проблема в скорости разработки. Да, да, в скорости!
Чистый вайб-кодинг… это как кубик в D&D, иногда выпадает критическая неудача. Порой нейросеть начинает отказываться делать то, что ты хочешь — хотя это очевидно простая вещь. Чаще заметно во фронтенде, где тебе надо 1 в 1 как в дизайне, а не получилось. Тут проще самому зайти и руками поправить то, что нужно, пока условный "чистый" вайб-кодер будет жечь токены, нервы и зависнет на какой-то очевидной тупой фигне.
Агенты и сложные проекты
А как же сложные проекты? Огромные мобильные приложения или ERP-кабинеты на пару сотен тысяч строк кода?
Если касаться кодогенерации каких-то изолированных модулей, то всё круто. Ведь это всё та же работа с "типовыми" решениями. Если касаться доработки, рефакторинга сложной конструкции или даже внедрения новых функций… то всё зависит от модели и окна контекста.
Чем окно контекста больше — тем больше информации наш электронный друг переваривает. Чем больше переваривает (и понимает), тем меньше нейрослопа генерирует.
Copilot с Claude Opus 4.6 имеет окно контекста 192к токенов… и при грамотной разбивке задачи получается делать те же 90% работы с помощью него в проектах с 900 тысячами строк кодовой базы (почти миллион). Остальные 10% — это экономия моего времени и токенов, а также редкие моменты затупов нейронки, которые я считаю проще сделать самостоятельно.
Главное, увидьте фразу "при грамотной разбивке задачи". Это самая важная часть.
Да, вы правильно поняли, это даже можно исключительно вайб-кодить, просто надо много в голове держать:
- Разбивать задачу на мелкие подзадачи, внимательно следить за Context Window;
- Ограничивать контекст модели, дабы она не "жрала" больше, чем нужно. То есть загонять её в "гипотетические" рамки;
- Постоянно проверять ход её работы (превратиться в менеджера проекта 😂);
- Быть готовым заплатить… ибо это будет жрать много денег и вы вылетите за все лимиты и придется платить сверху (даже за те, которые скрываются за “стеной” в 40$+ в месяц).
Вот поэтому мне и не нравится чистый вайб-кодинг на больших проектах: сжигаешь токены, чистишь галлюцинации, следовательно, нервничаешь. А вот сгенерировать 90% основного кода (или даже жирную базу в 50%) с помощью нейросети и доработать — это я за. Это круто!
Как итог
Честно, не хотел писать эту статью, ибо ещё одно мнение в интернете о вайб-кодинге, наверное, не нужно. Просто хочется рассказать людям, кто думает, что это плохой инструмент — проблема не в инструменте… а в руках. Это наше будущее, и надо просто смириться и начать с ним дружить. Самое главной в этой цепочке – вы. Вы и ваша ответственность.
P.S: если через 2–3 года я вообще перестану сам писать код, а буду только в круто настроенный мной OpenClaw загружать техническое задание и получать через пару часов проект — я буду счастлив.
P.P.S: так-то и сейчас уже можно начать пытаться это делать, но это стоит нереально огромных денег (да и времени), как обслуживать автомобиль в начале XX века.