0. Вступление

Не торопитесь пролистывать эту статью. Я не собираюсь, подобно множеству других статей на Хабре, рассказывать о плюсах или минусах вайб-кодинга и сравнивать это с плюсами и минусами традиционного программирования. Потому что сравнивать нечего, ведь не случилось ничего такого, что бы как-то значительно изменило ситуацию. По сути, я буду говорить о том же, о чём говорил в предыдущей статье ( https://habr.com/ru/articles/938028/ -Михаил Елисейкин «IT-лягушка и новая нормальность» ) - о том, что мир меняется, а наши о нём представления от этих изменений отстают.

1. Дефиниции

2025-03-02, редакция Хабра оперативно сообщила нам о том, что сооснователь компании OpenAI, экс-директор по ИИ и бывший глава отдела разработки автопилота Tesla Андрей Карпаты ( https://habr.com/ru/news/878868/ ) ввёл в оборот новый термин: vibe coding / вайб программирование.

«Есть новый вид программирования, который я называю вайб‑программированием (vibe coding), где вы полностью отдаётесь вибрациям, принимаете экспоненты и забываете, что код вообще существует. Это возможно, потому что большие языковые модели (LLM, например, Cursor Composer w Sonnet) становятся слишком хороши. Также я просто общаюсь с Composer с SuperWhisper, поэтому я почти не касаюсь клавиатуры. Я прошу о самых глупых вещах, таких как „уменьшить отступ на боковой панели вдвое“, потому что мне слишком лениво, чтобы найти его. Я всегда „Принимаю всё“ (Accept All), я больше не читаю diffs. Когда я получаю сообщения об ошибках, я просто копирую и вставляю их без комментариев, обычно это исправляет ситуацию. Код выходит за рамки моего обычного понимания, мне приходится действительно читать его некоторое время. Иногда LLM не могут исправить ошибку, поэтому я просто обхожу её или прошу вносить случайные изменения, пока она не исчезнет. Это не так уж плохо для одноразовых проектов на выходные, но все равно довольно забавно. Я создаю проект или веб‑приложение, но это не совсем программирование — я просто вижу что‑то, говорю что‑то, запускаю что‑то и копирую, вставляю что‑то, и это в основном работает», — рассказал Карпаты.

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

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

Но всё это именно что «казалось бы».

2. Вайб-кодеры древности

Я использую слово «вайб-кодер», вместо «вайб-программист», специально для того чтобы можно было написать данный раздел. Это позволяет мне обратиться к примеру кода, который в Интернете используется чаще всего — к HTML-коду.

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

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

Появилась даже возможность создавать HTML-страницы прямо в рич-текст редакторах.

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

По большому счёту, редактирование хоть сколь либо сложного текста в рич-текст редакторах, известных нам как «офисные пакеты», это уже вайб-кодинг — стоило подумать о том, что добился нужного результата, как вдруг нужно ещё чуток поправить и… да вашужмать, почему всё перекособочило!!!! (Это, кстати, тоже вайб. :) )

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

Ведь HTML-верстуны с Dreamweaver, чайники с Народом и Tilda, и девочки-секретари с Word, это не то же самое что настоящие кодеры, которые носят гордое звание «программист».

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

Точнее, программист был таким до 2025-02-03, когда проклятый OpenAI дал всем идиотам возможность кодить, без вникания в код и понимания основ программирования.

3. Настоящие программисты современности

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

Не те идеальные «прикладные математики», которые в нашем представлении умеют писать команды процессору, шилом пробивая перфоленты со скоростью 10 метров в минуту, а реальные, современные, наши.

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

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

- современный программист использует не только функции языка, но и сторонние библиотеки и фреймворки. Этот момент очень хорошо проявляется в примерах «сколько строк в языке … нужно чтобы решить задачу», ведь нередко это сводится к тому, что в код вписывается вызов библиотек, несколько переменных настройки и потом одна единственная команда запуска. Запуска большого количества кода, который писал не этот человек, а кто-то другой, и который использующий его кодер никогда не видел и не увидит.

И если до этого момента, вы ещё могли сказать, что программист всё это делает с пониманием процесса, то…

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

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

Да и само «управления на естественном языке» на практике оказывается отдельным жанром общения, со своими принципами и форматом, что очень напоминает умение искать по манам или правильно гуглить примеры кода.

Так что, обсуждаемые особенности и риски т. н. «вайб-кодинга» / «вайб-программирования», возникли не 2025-02-03 и не с появлением LLM как таковых, а уже давно и уверенно присутствуют в т. н. «традиционном программировании».

4. Так что же такое «вайб-кодинг»

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

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

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

LLM помогаторы это просто ответ на запрос «надо больше кодеров». Они не драйвер значительных изменений, а их следствие.

Революция отменяется.

Михаил Елисейкин
2025-08-19

* * *

Продолжить наслаждаться моими текстами можно прямо на Хабре , без перехода в телеграмм - https://habr.com/ru/users/muxa_ru/articles/ .

Комментарии (246)


  1. Chudoyudin
    19.08.2025 11:00

    Прооистал


  1. ihouser
    19.08.2025 11:00

    Маркетинг, значит...

    Пора срочно патентовать "вайб-переводчик", "вайб-писатель", "вайб-читатель" и прочие "вайбы".


    1. muxa_ru Автор
      19.08.2025 11:00

      Патентовать не обязательно.


    1. SpiderEkb
      19.08.2025 11:00

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

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

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

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


      1. Pshir
        19.08.2025 11:00

        все стали говорить "а мы переведем с помощью ИИ"

        А раньше они же переводили с помощью google translate.


        1. SpiderEkb
          19.08.2025 11:00

          Пытались, но там вообще не было шансов.


          1. Wesha
            19.08.2025 11:00

            До них просто быстрее доходило, что тут профессионал нужен.

            Как говорится,

            Вам не повезло. Специалист, который лечит, в отъезде, но есть второй — не хуже.
            Лучше договориться лично. Хотя можно и по направлению.
            У нас только по пропускам. Хотя можно пройти и так.
            Лечение стоит дорого, но можно и не платить.
            Нянечкам, сёстрам обычно платят, но они ухаживают и так.
            Поэтому я вам советую подождать специалиста, договориться с нянечкой и заплатить.
            Но можно этого и не делать. Если вас не интересует результат.


        1. fivlabor
          19.08.2025 11:00

          А еще раньше с помощью magic-goody и promt...


      1. Asaphalandor
        19.08.2025 11:00

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


        1. SpiderEkb
          19.08.2025 11:00

          Речь о переводе научной статьи с русского на английский для публикации в англоязычном журнале. А там ее вычитывают редакторы и могут просто завернуть если плохо переведено. Так вот что переведено ИИ обычно заворачивают.

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

          Ну и английский-испанский относятся к одной группе языков. Там проще немного в плане терминологии и языковых конструкций. Русский и английский очень сильно отличаются структурно (если можно так выразится). Там слово-в-слово не перевести. Совершенно разные строения фразы. Плюс русская терминология в той же оргхимии (оргсинтез), к примеру, может сильно отличаться от западной.


          1. DaneSoul
            19.08.2025 11:00

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

            Тут не просто переводчик, тут нужен специалист в конкретной научной сфере, который ПОНИМАЕТ что написано в статье и который при этом хорошо знает иностранный язык.
            Потому как обычный переводчик в научной статье по не гуманитарному направлению таких перлов налепит, что мрак будет - нельзя адекватно переводить то, что не понимаешь.


          1. Diacut
            19.08.2025 11:00

            английский-испанский относятся к одной группе языков

            к разным.


            1. SpiderEkb
              19.08.2025 11:00

              Германо-романские языки – это группа языков, включающая германские и романские языки.

              • Западногерманские:

                Английский, немецкий, нидерландский (голландский), африкаанс, фризский, идиш.

              • Иберо-романские:

                Испанский, португальский, каталанский, галисийский, арагонский, астурийский, сефардский.


              1. Fedorkov
                19.08.2025 11:00

                Германские и романские языки — это вообще таксоны разного уровня. Германские — это ветвь, входящая в индоевропейскую семью, а романские — это группа, входящая в италийскую ветвь индоевропейской семьи.


                1. SpiderEkb
                  19.08.2025 11:00

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

                  Так что это не совсем германский язык, а некая смесь.


                  1. Fedorkov
                    19.08.2025 11:00

                    Много корней — это да, влияние католиков, норманнов, французской гегемонии 18 века (как в русском языке) и современной научной терминологии огромно. Но принадлежность ветви/группе определяется происхождением, синтаксисом и базовой лексикой, а они там германские.

                    Там некая смесь кельтских языков и латыни (последствия присутствия римской империи на британских островах).

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


                    1. Rive
                      19.08.2025 11:00

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

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

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


                1. Wesha
                  19.08.2025 11:00

                  Германские и романские языки — это вообще таксоны разного уровня.

                  Вы разве не видите — предыдущему дяденьке гопота натрындела...


          1. muxa_ru Автор
            19.08.2025 11:00

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

            Русский и английский очень сильно отличаются структурно (если можно так выразится). Там слово-в-слово не перевести. Совершенно разные строения фразы.

            Да вот хрен там. Сейчас все подряд уже пишут не каноническое инвертированное написание, обозначающее не утверждение, а вопрос, и в конце ставят знак вопроса.

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


        1. March228
          19.08.2025 11:00

          Да там наверное через гигачат переводили)


      1. Turbo_Pascal_55
        19.08.2025 11:00

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


        1. SpiderEkb
          19.08.2025 11:00

          Для понимания и гуглоперевода достаточно было.

          А вот в технических статьях, а уж тем более в юридических документах - только руками.

          Хорошие технические переводчики получаются из людей с высшим техническим образованием. Способных понять что именно они переводят.

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


          1. pae1
            19.08.2025 11:00

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


            1. SpiderEkb
              19.08.2025 11:00

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

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

              Вот вы говорите что переводите статьи по спектрометрии. И, видимо, в этой спектрометрии что-то понимаете. Терминологию, принципы как это работает.

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


              1. Wesha
                19.08.2025 11:00

                еще и "с автором работать" приходится на тему - "что вот тут имелось ввиду".

                Тут ещё и с Вами поработать придётся, потому что «в виду». «Введу» — это совсем другая история...

                Просите, профдеформация.


            1. muxa_ru Автор
              19.08.2025 11:00

              Кстати, про эмоции.

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

              Но для этого надо на каком-то уровне языком владеть.


        1. Haizer
          19.08.2025 11:00

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


          1. SpiderEkb
            19.08.2025 11:00

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


      1. VYudachev
        19.08.2025 11:00

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

        Профессия будущего:

        Vibe code cleanup specialist


  1. muhachev
    19.08.2025 11:00

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


    1. muxa_ru Автор
      19.08.2025 11:00

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