Добавить в корзинуПозвонить
Найти в Дзене
Циник в штатском

Про "вайбкодинг" или как-то работает и ладно

Не так давно услышал интересное слово - "вайбкодинг". Посмотрел перевод, вник в суть, вроде как все понятно, но неинтересно, потому как по сути своей это просто пыль в глаза... Но давайте не все сразу, а по шагам. В начале 2025 года бывший глава отдела искусственного интеллекта Tesla и сооснователь OpenAI Андрей Карпаты ввёл термин, который мгновенно стал вирусным, - вайбкодинг (vibe coding). Идея отличная и звучит как сказка: вы описываете приложение словами, а искусственный интеллект пишет весь код за вас. Вы не программист, вы, как бы криво это не звучало - "креативный директор". Вы просто отдаётесь "вайбу", а машина делает всё остальное. То есть получаете результат прямо здесь и сейчас. Он как-то работает в текущий момент времени и отдает какой-то результат, но как будет работать дальше неизвестно и будет ли работать тоже... В итоге, "горе-погромист" пишет расплывчатые пожелания и ему что-то выдается! Прорыв же? Нет, не прорыв, а маркетинг. Тут все гладко и кучеряво. Есть вау-эффек
Оглавление

Не так давно услышал интересное слово - "вайбкодинг". Посмотрел перевод, вник в суть, вроде как все понятно, но неинтересно, потому как по сути своей это просто пыль в глаза...

Но давайте не все сразу, а по шагам.

картинка по теме
картинка по теме

В начале 2025 года бывший глава отдела искусственного интеллекта Tesla и сооснователь OpenAI Андрей Карпаты ввёл термин, который мгновенно стал вирусным, - вайбкодинг (vibe coding). Идея отличная и звучит как сказка: вы описываете приложение словами, а искусственный интеллект пишет весь код за вас. Вы не программист, вы, как бы криво это не звучало - "креативный директор". Вы просто отдаётесь "вайбу", а машина делает всё остальное.

То есть получаете результат прямо здесь и сейчас. Он как-то работает в текущий момент времени и отдает какой-то результат, но как будет работать дальше неизвестно и будет ли работать тоже...

В итоге, "горе-погромист" пишет расплывчатые пожелания и ему что-то выдается! Прорыв же? Нет, не прорыв, а маркетинг. Тут все гладко и кучеряво. Есть вау-эффект и чувство, что профессия программиста вот-вот исчезнет. Прямо жуть жуткая и страх страшный...

Что-то есть на входе и что-то на выходе процесса. Если оно не сложнее калькулятора, то все отлично, но как только проект пересекает черту прототипа, вайбкодинг превращается в генератор чудовищного технического долга. А его адепты - в людей, которые не знают, как работает их собственный продукт.

Если что-то сломается, то останется сидеть и рыдать... Но об этом чуть ниже.

Реальность должна слегка отличаться. Не находите?

Как должно быть

Настоящий процесс - это не написание кода. Код - это последняя миля, финальный артефакт мышления. До него есть два критически важных этапа, и именно в них скрыта интеллектуальная работа.

Этап первый: План и логика.

Разработчик оперирует абстракциями, выстраивает потоки данных, выбирает алгоритмы. Он понимает не только что система должна делать, но и почему выбран именно этот путь и какие у него граничные условия. Это смысловой каркас всего продукта.

Этап второй: Псевдокод.

Это мост между человеческой логикой и машинным синтаксисом. Структура программы, очищенная от деталей конкретного языка. На этом этапе архитектурную ошибку можно найти и исправить за минуты, не потеряв часы на борьбу с отладчиком.

Только после этого инженер садится за код - осознанно выбирая структуры данных, проектируя обработку ошибок, думая о том, как этот модуль будут поддерживать через полгода. Он владеет каждой строкой.

Что происходит у вайбкодеров

Вайбкодер не проходит ни одного из этих этапов.

Плана и логики у него нет - они остаются в "чёрном ящике" нейросети. Он не формулирует архитектуру, а значит, не может найти противоречие в исходном замысле, потому что замысла как такового не существует. Есть только хотелка и результат.

Псевдокода у него тоже нет. Есть промпт "сделай то, не знаю что" и сразу сгенерированный машинный код. Структуру программы диктует не инженер, а статистическая вероятность в обучающей выборке модели и стремление максимально соответствовать запросу. Получается не архитектурное решение, а что-то в виде средней температуры по больнице.

Код, который получает вайбкодер, он не знает. Он, простите за ругательство, его попросту арендует. Он не понимает, почему ИИ выбрал именно эту структуру данных, и не видит потенциальную гонку потоков. Его ментальная модель - это примитивное "работает / не работает". И когда случается неизбежное - нетривиальный баг в боевом окружении, - эта модель рассыпается в пыль.

Идем дальше.

Как вайбкодеры "решают" проблемы

В отличие от инженера, у которого есть план, логика и псевдокод - то есть инструменты системного поиска неисправностей, - вайбкодер абсолютно беспомощен. Его "решение" проходит три жалкие стадии.

Стадия первая: Шаманский бубен

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

Стадия вторая: Метод бешеной обезьяны

Шаманство не помогло - начинается хаотичный перебор вариантов. Вайбкодер нажимает кнопку "Сгенерировать заново" стопятьсот раз, получая чуть разные версии кода, в сути которых он не разбирается. Выбирает ту, которая "вроде не падает". Затем начинает вносить энтропию: "добавь проверку на Null", "оберни в try-catch", и при этом, без малейшего понимания, нужно ли это здесь. Это попытка починить двигатель, беспорядочно заливая в него случайные жидкости. Кодовая база превращается в кашу из костылей, и проект умирает под собственным весом.

Стадия третья: Капитуляция

Финалов немного: либо проблемный модуль удаляется целиком и переписывается с новым, чуть иначе сформулированным промптом (аналог "проще выкинуть", но без понимания, что именно выброшено), либо вайбкодер просто снижает планку и удаляет "ненужную" фичу из требований. Либо наступает полное признание бессилия - и на форумах появляются темы, начинающиеся словами "У меня есть этот код от ИИ такого-то, он не работает, почините пожалуйста".

Не все так плохо, как кажется

Есть сценарий, когда получается построить что-то полезное и нужное. Тогда это "выстреливает".

Еще опытный программист может использовать инструментарий под конкретную задачу и получать вполне конкретные результаты.

Что в реальности и в итоге?

В реальности у нас генератор случайного кода, а не сверхинтеллект.

Скептики часто сравнивают большие языковые модели не с разумом, а с невероятно мощным генератором текста, управляемым вероятностями. Нейросеть не думает и не понимает архитектуру. Она просто предсказывает, какой токен должен идти следующим, основываясь на гигабайтах чужого кода из обучающей выборки.

Когда этот предсказанный код работает - это выглядит круто. Когда нет - вы получаете синтаксически правильную, но абсолютно бессмысленную конструкцию, которая не работает и ИИ начинает вам, шаг за шагом скармливать бессмысленные конструкции, которые нафиг не нужны. И чтобы это увидеть, нужно быть инженером. В этом и есть обман: вам продают иллюзию контроля, которой на самом деле нет.

Что в сухом остатке

Вайбкодинг - это ни разу не замена программированию. Это удобный генератор шаблонного кода, который работает только в руках того, кто и так умеет программировать. ИИ можно использовать как справочник и при этом нет никакой гарантии, что он даст рабочий код...

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

Человек, который пишет план, продумывает логику, создаёт псевдокод и только потом садится за реализацию, знает, как в планах и в финале работает его программа. Он может пройти от ошибки в коде назад - к псевдокоду, от псевдокода - к исходной логике. Он видит, где реальность разошлась с планом.

Вайбкодер этого знания лишён. У него есть только код, который выглядит правильным. И когда иллюзия рассеивается, остаётся только одно - рыдать от бессилия. Ну, или открывать новый чат с нейросетью и начинать этот порочный круг заново.

Что хотел сказать?
Называть вайбкодинг "прорывом" не стоит. По сути - это маркетинговая пыль в глаза. Более честное имя - дорогой инструмент для создания дешёвых прототипов. Всё, что сверх этого, требует инженера. Как и всегда.