Обновить

Сладкие оковы вайб-кодинга

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели20K
Всего голосов 17: ↑8 и ↓9+2
Комментарии50

Комментарии 50

вайб программирования

Это называется "вайб-кодинг" или "vibe coding", не стесняйтесь изначального наименования этого процесса :)

очень существенный минус, за все нужно платить

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

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

А зачем на этом уровне оставаться? LLM отлично заменяет человека в планировании и контроле уже сейчас, достаточно развернуть сеть агентов и задать им одну общую задачу. А они там и спланируют, и код напишут, и протестируют всё... только обратную связь остаётся им давать, чтобы скорректировать результат.

Последовательно с разной скоростью каждый новый слой работ у разработчика будут забирать LLM'ки. Сначала кодинг, потом программирование, затем архитектура, системный анализ, проектирование, планирование (на всех этапах), сопровождение, и так далее... А мы всё и дальше будем облегчать себе жизнь мыслями о том, что "разработчик всегда будет нужен на этапе <подставить то, что будет заменено LLM-кой в ближайшие годы>".

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

и можно идти пить чай или кофе

Руководству не выгодно будет таких сотрудников держать, которые могут спокойно идти чай пить, да кофе (напомню - мы в капитализме живём и меняться ничего не будет) в то время как LLM'ка будет решать задачи. Зачем нужна эта прослойка в виде человека в таком случае? Достаточно нанять менеджера с "Эй Ай" навыками и всё... Дать ему глоссарий разработчика, да и пущай работает.

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

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

И теперь пусть кто угодно ругает ИИ, а я уже согласовал с генеральным директором необходимость его использования у нас на работе.

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

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

Какими это, например? Своими личными проектами в рабочее время? Или распитием кофе, пока LLM'ка будет всю задачу за Вас выполнять? :)

... распитием кофе,

А что Вас так беспокоит в распитии кофе?

Не его, работодателя

Это называется “вайб-кодинг” или “vibe coding”, не стесняйтесь изначального наименования этого процесса :)

Большое спасибо, что поправили. Это очень верное замечание.

Да, и в один прекрасный момент LLM-компаниям ничего не будет стоить поднять цены за токены ещё выше…

Безусловно. Как раз это и была основная причина, по которой в прошлом году я бросил эксперименты с вайб-кодингом. На маленьких объемах дешевые (киатйсике) модели работают нормально, а для большого объема приходится очень дорого платить. А сейчас уже появились модели с серьезными моделями и адекватной ценой, и я не уверен, что цены будут заоблачными, ведь всегда остается возможность выбрать другого провайдера или раскошелиться на собственное железо . Ведь капитализм :-) Но совсем другое дело, если запретят пользоваться альтернативными провайдерами в целях защиты детей суверенитета , вот тогда цены в России действительно взлетят. Но эта ситуация к капитализму не имеет отношения :-(

А зачем на этом уровне оставаться? LLM отлично заменяет человека в планировании и контроле …

Только в в планировании и контроле. Но у нее нет целеполагания и понимание того, что и как требуется получить в итоге. Поэтому если не контролировать результат, там столько будет накручено, что только на свалку и переписывать заново.

Руководству не выгодно будет таких сотрудников держать, …

Это образное выражение. Понятно, что «подчинённый перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальство» :-)

Не обесценивайте результаты десятилетних исследований…

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

А выбор у Ваших коллег будет - использовать LLM или нет? Какими это, например? Своими личными проектами в рабочее время?

Я работаю удаленно и руководство принимает фактически сделанную работу. А личные проекты, это и лично время и личные расходы на них.

а мне нейронка показала как на Расте библиотеки делать, иксы тут же ожили, и я сделал 3д Opengl(со своим загрузчиком без диспетчинга как в С/С++) пет-проект с минимальными зависимостями ), а на С/С++ я открывал окно иксов и было не такое ощущение как от Раста, поэтому да, всё что смогут заменят Растом.

кстати bindings, и такой же подход есть на java - project panama + jextractor(в купе с java 25/26), так что выбор есть.

Раст удобный никакого шума как в С/С++ (всякие атрибуты синтаксические, так думаешь, реально пережиток прошлого, а таски на С++, только удачи пожелать можно по грязи)

как бы я лично развивал С/С++ - убрал бы все ненужные атрибуты и добавления синтаксиса, которые загрязняют код, и вывел бы его либо на чистоту синтаксиса или ближе к декларативному стилю, а все эти закарючки где там виртуал, где там тривиал, это не правила, а костыли, компилятор сам должен принять эти правила и понимать где что и какое ветвление у него происходит. Это всё таки 21 век технологий, а не 80 года, где надо еще пк на лампах себе собрать и сдать докторскую на указатели и виртуальные методы с ООП парадигмой и виртуальной таблицей переходов по памяти...

спасибо за минусы

Ну так в этом и прикол, C++ это пережиток прошлого который тянет на себе кучу всего для обратной совместимости. Я только поэтому могу собрать код из 80-х современным компилятором. И я бы посмотрел как вы будете все те килотонны говна на C/C++, что наделало за это время человечество, переписывать на Rust, особенно там где дело касается железа. Мне конечно Rust нравится, но если мне дадут переписывать на него минимально сложный проект, я скорее повешусь. И что за предложения по развитию, вы бредите?

  • Запрещено читать, писать или выполнять поиск в каталоге docs/, так как он не является частью кодовой базы.

И как же понять, как использовать проект, если даже docs/ нельзя прочитать - ибо запрещено?

В этом есть нечто бям-демоническое ;)

А вообще интересно больше узнать о самом проекте.

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

НЛО прилетело и опубликовало эту надпись здесь

В исходном коде, я так понимаю, тоже?

Это касается только исходного кода С++

А пример кода, хоть самый завалящий, на это языке можно поглядеть где-то?

Это переработка проекта https://github.com/rsashka/newlang (https://newlang.net/), там есть примеры кода.

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

Это касается только исходного кода С++

Т.е. по-русски сообщение юзеру не написать?

Весьма характерно для продуктов бям-кодинга ((
Весьма характерно для продуктов бям-кодинга ((

Там есть раздел с русским переводом.

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

Это сообщение появилось при попытке просто запустить пример в playground без его редактирования...

Как раз примеры и отправлялись выполнятся на отдельной виртуалке, без проверки, редактировались они или нет, а обратно в форму вставлялся полученный результат.

Не важно почему, но сам факт неработоспособности примеров в playground выглядит несколько странно.

Впрочем, хозяин - барин.

Этот код без поддержки уже более трех лет, поэтому его неработоспособность странной не является :-)

Как раз-таки странно — код не является модой и не должен ломаться со временем.

Сам исходный код конечно не изменился. Но изменилась инфраструктура для его поддержки. Поэтому физически код один и тот-же, но он перестал работать, хотя сам и не менялся :-)

НЛО прилетело и опубликовало эту надпись здесь

Макросы являются частью AST? Неожиданное решение.

Почему? Кажется в Julia именно так и сделано.

А использование сигилов для классификации идентификаторов на самом деле очень удобно. Можно с первого взгляда определить к какому виду относится этот объект (глобальный, локальный, макрос и т.д. ), а если они напрягают, то можно и не использовать, так как идентификатор будет найдено после разрешения имен.

Зато есть возможность однозначной идентификации объектов при совместном использовании всех вариантов квалификаторов, которые визуально различимы и не пересекаются (макрос, модуль, пространство имен, тип, класс, функция, метод класса или его поле или локальная переменная). И опять же, это если требуется, но не обязательно.

НЛО прилетело и опубликовало эту надпись здесь

прямо во время компиляции раскрывается по месту в AST …

В С/С++ макропроцессор работает до, а не вовремя компиляции и поэтому ничего не знает про AST и делается индивидуально для каждой единицы трансляции. Препроцессор ищет в коде лексему, совпадающие с именем макроса и заменяет её.

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

За счет этого и реализуется возможность создания универсального DSL. В синтаксисе не используются ключевые слова (нет шанса с ними пересечся), а за счет шаблонов замены получается обычных синтаксис func name(): type { return …}; и т.д.

Причем макропроцессору доступны для анализа и соседние лексемы, за счет чего он может валидировать использование самих макросов (например проверить, что следующим символом должна быть открывающая скобка).

Можно одновременно определить @foo и %foo в одной области видимости? — Если нет, то пардон, вы символами заменяется функции LSP. А если да — это ад, на мой вкус.

Если макрос @foo определен раньше, то при создание %foo будет предупреждение, но это не ошибка, так как это объекты разных уровней и их можно использовать одновременно. Макросы хоть и являются частью AST, но они уже полностью раскрыта на момент его анализа и наличие двух определений в одной области видимости влияет только на порядок разрешения имен без сигилов.

Определитесь, пожалуйста: макросы всё-таки являются часть AST (остаются там) или раскрываются (заменяются на определение) до его анализа?

И то, и другое. Определения макросов остаются в AST (это нужно для контроля их области видимости и в случае работы REPL или JIT), но при анализе AST они уже раскрыты (заменены на определения).

НЛО прилетело и опубликовало эту надпись здесь

Я хотел ещё про гигиену спросить …

Если про личную, то тут действительно лучше не спрашивать :-)

Но если речь про гигиеничыне макросы, то да, есть и такие, которые не влияют на внешнее кружение, т.е. фактически идентичны инлайн функциям, но на уровне препроцессора, а не компилятора.

НЛО прилетело и опубликовало эту надпись здесь

Судя по всему у вас совестное недержание. Удачи вам пообщаться с кем нибудь другим.

Про серебряную пулю себе сохранил прям, очень грамотно сказано

Следующий этап. LLM пишет email вашему директору с предложением вас заменить за некоторый условный flat rate per month.

А потом уже директору придется писать письма с просьбой передать то, что было наворочено, чтобы исправлять то, что получилось в конечном итоге.

LLM не напишет за вас код, если вы в нем не разбираетесь. Кто-то все равно должен понимать, что и почему должно быть сделано и нести за это ответственность, в том числе и за результат роботы LLM.

Ну понятно что это была шутка. Но если серьезно, представьте себе, что на территории РФ начал действовать новый КвенИИЭкспресс, и доступ в публичные бесплатные модели опять же на территории РФ теперь закрыт ( ну примерно как это произошло со скачиванием mp3 и соответственно рождением Яндекс музыки и звук.ком). И вот ИИ-продавец этой конторы начал рассылать адресные КП всем ЮЛ, которые по их данным использовали бесплатного чатбота для разработки, с условно -бесплатной поддержкой всех функций ИТ - абонентская плата 50-100 $ в месяц.

Сейчас в законе о национальном ИИ все к этому и идет. Не уверен, что будут именно рассылать письма, ведь задачу кто-то должен сформулировать, работу принять и проверить. А вот что ценник на “правильные модели” взлети до небес, в этом я не практически сомневаюсь. Новый вариант импортозамещения :-)

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

Я бы не сказал, что тут будет рост цен.

У LLM-компаний нет какой-то магической уникальности. Да, они впереди, но технологии уже понятны, статьи публикуются, open-source развивается. Модели делают не только OpenAI, есть Google, Anthropic, Meta и другие. И конкуренция постоянно растёт.

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

И по факту до сих пор мы видим не рост, а только снижение цен. Всё упирается в железо, а оно со временем дешевеет и становится мощнее.

Поэтому общая логика рынка это удешевление, а не подорожание.

Про рост затрат на R&D на грани экспоненциального, мы, конечно, умолчим. Ну да, оно же там само как-то делается за чужие деньги.

вайбкодинг - это когда без каких либо проверок со стороны разработчика, чисто на вайбе, по этому не всë программирование с llm это вайбкодинг, если проверяете, рефакторите, направляете, переделываете - это дипкодинг...

вайбкодинг, это от слова vibe, не от тяп-ляп :-)

именно тяп ляп, без каких либо проверок кода вообще со стороны человека, само что-то нагенерило само проверило, только это и есть вайб кодинг...в статье подмена понятий ...разработка с llm не всегда вайбкодинг...

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

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

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

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

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

вайб кодинг - это скорее ругательство т.к. не про профессиональный результат вообще ни в каком смысле, это подход как к петпроекту на выходных это про скорость и низкие когнитивеые затраты и пускание процесса на самотëк... а вот дипкодинг с ллм - это про проф результат...

Классический смысл vibe coding ближе к формуле Карпати: «забыть, что код вообще существует», принимать изменения, не читать diff, копировать ошибки обратно в LLM и двигаться по результату. Simon Willison как раз отдельно подчёркивал: не весь AI-assisted programming — это vibe coding; если ты читаешь, тестируешь и можешь объяснить код, это уже нормальная инженерная работа с LLM как инструментом. https://simonwillison.net/2025/Mar/19/vibe-coding/

https://habr.com/ru/news/878868/

Где вы забываете про код и полностью отдаетесь вибрациям… Код выходит за рамки моего обычного понимания, мне приходится действительно читать его некоторое время. …

Я не спорю, что это слово превратилось в негативное как раз из-за подобного подхода к результату. Но это не отменяет факт самих “вибраций” от применения LLM

Андрей Карпати описывает новый подход к программированию, который он называет «vibe coding» (программирование по вайбу/ощущениям). Этот метод заключается в полном доверии искусственному интеллекту, когда разработчик описывает желаемое на естественном языке, а ИИ генерирует код, отлаживает его и вносит изменения, превращая процесс создания ПО в разговорный опыт.  «Вайб-кодинг» основан на использовании LLM (больших языковых моделей) для написания кода, минимизируя ручное написание.  Подход подразумевает минимальное участие человека: код не читается, а ошибки просто копируются обратно в ИИ без анализа.  Метод эффективен для прототипирования и личных проектов выходного дня, но не подходит для продакшн-систем из-за проблем с обслуживанием. 

те не стоит цепляться за слово "вайб", смысл вайбкодинга это впоне определëнный подход, за применение которого на рабочем месте по хорошему надо бы увольнять к чëртовой матери, если люди только вайбкодят...и считают это единственным способом работы с ии агентами...

те не стоит цепляться за слово “вайб” …

Вы сами понимаете не логичность собственных комментариев?

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

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

дело не в логичности в вашем еë понимании, а в значении используемых терминов, вы перепридумываете термины зачем то, а зря, всë уже придумано, как если бы путали молочную кашу и молочный суп, и там и там молоко или просто квас и окрошка на квасе и там и там квас, но какие разные блюда в итоге...так и тут не всë вайб кодинг что с вайбом и ллм кодингом...но почемуто вам этот вайб не даëт покоя...то что прямо автор описал и что уже многожды разъяснено, вайбкодинт это только вайб и ллм и всë ни прoфессионального поддерживаемого результа...все одноразовое...

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

Тут описано скорее "парное программирование", где ИИ является партнером

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
bothub.ru
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
Greg Ewin