В свете того, что в последнее время наблюдается рост количества навайбкоденного ПО, хочу сказать несколько слов о цене такого подхода.
В целом, я поддерживаю существование инструментов, которые могут быть не совсем эффективны per se (с точки зрения своих механики и сути), но в конкретной ситуации являются наилучшим выбором.
Здесь на ум приходит аналогия с конструкторами веб-сайтов во время их расцвета. Да, эти конструкторы выдавали кучу лишнего и даже мусорного кода, но в каких-то ситуациях являлись оптимальным инструментом. Например, какому-то микробизнесу надо было сделать промо-страницу, а бюджета и времени на поиск специалистов и разработку ТЗ не было вообще.
Я вполне допускаю, что вайб-кодинг тоже имеет свое применение в некоторых ситуациях. Но, если проект достаточно сложный и объемный, то цена будет неприемлемой.
Это подтверждается на практике. Сейчас большое количество проектов переписывается или клонируется на Rust. Почему Rust? Его компилятор by design делает много проверок на корректность (borrow checker, lifetimes и т. п.). Казалось бы, запускай LLM и все. Однако, в реальности получается все не так радужно. LLM стараются сделать так, чтобы обойти проверки компилятора - это, буквально, их цель. Архитектура и нюансы производительности не учитываются вообще или по-минимуму. Так, могут использоваться в каких-то безумных количествах clone, collect и т. п. И проверки компилятора такой код пройдет, но программа будет тяжелой, будет перегружать heap и, в итоге, будет не законченным продуктом, а всего лишь каким-то наброском с огромной и проблемной кодовой базой. Есть интересный анализ такой ситуации (генерация игры): пост на Reddit.
Так что, в любом случае вайб-кодер платит следующую цену:
Отсутствие понимания проекта: высокая сложность (трудозатраты) поиска и устранения проблем и поддержки;
Однозначное наличие объемного тех. долга, коорый рано или поздно даст о себе знать;
Однозначно не самая лучшая производительность, а зачастую наоборот (наихудшая производительность);
Проблемы с безопасностью, конфиденциальностью и другими аспектами, обусловленными непредсказуемостью поведения LLM.
Поэтому я бы рекомендовал всем вайб-кодерам помнить о цене, которую вы платите, быстро получая "готовый продукт".
