Что такое виброкодирование?
MIT Technology Review объясняет: пусть наши авторы распутают сложный, запутанный мир технологий, чтобы помочь вам понять, что будет дальше. Вы можете прочитать больше из этой серии здесь .
Когда в феврале соучредитель OpenAI Андрей Карпати с энтузиазмом опубликовал в X пост о своем новом хобби, он, вероятно, и не подозревал, что собирается придумать фразу, которая олицетворяет целое движение, неуклонно набирающее обороты по всему миру.
«Есть новый вид кодирования, который я называю «виброкодированием», когда вы полностью отдаетесь вибрациям, принимаете экспоненты и забываете, что код вообще существует», — сказал он . «Я создаю проект или веб-приложение, но это не совсем кодирование — я просто вижу что-то, говорю что-то, запускаю что-то и копирую-вставляю что-то, и это в основном работает».
Если все это звучит совсем не так, как изучение строк кода, то это потому, что Карпати говорил об определенном стиле кодирования с помощью ИИ. Его слова нашли отклик как среди разработчиков программного обеспечения, так и среди энтузиастов-любителей. В последующие месяцы его пост вызвал множество аналитических статей и бурные дебаты в Интернете . Но что же такое кодирование вибраций? Кому оно выгодно и каково его вероятное будущее?
Итак, что это?
Чтобы по-настоящему понять кодирование вибраций, важно отметить, что хотя сам термин может быть новым, технология кодирования, стоящая за ним, — нет. За последние несколько лет универсальные чат-боты, такие как Claude от Anthropic, ChatGPT от OpenAI и Gemini от Google DeepMind, стали лучше писать код для создания программного обеспечения, включая игры, веб-сайты и приложения. Но недавнее появление специально созданных помощников по кодированию на основе ИИ, включая Cursor’s Chat (ранее известный как Composer) и GitHub Copilot, действительно положило начало кодированию вибраций. Эти помощники могут делать прогнозы в реальном времени о том, что вы пытаетесь сделать, и предлагать интуитивные предложения, чтобы сделать создание программного обеспечения проще, чем когда-либо, даже если вы никогда раньше не писали код.
«За последние три-четыре года эти инструменты автодополнения ИИ стали все лучше и лучше — они начинали с завершения отдельных строк кода, а теперь могут переписать для вас целый файл или создать новые компоненты», — говорит Баррон Вебстер, разработчик программного обеспечения в компании Sandbar, занимающейся интерфейсами. «Сфера того, что вы можете убрать руки от руля и позволить машине сделать, со временем постоянно растет».
… а что не считается виброкодированием?
Но не все кодирование с помощью ИИ — это кодирование вибраций. Чтобы по-настоящему кодировать вибраций, вы должны быть готовы позволить ИИ полностью взять управление в свои руки и воздержаться от проверки и прямой настройки кода, который он генерирует по мере продвижения, — подчинившись вибрациям. В более длинном посте Карпати объяснил, что когда он занимается кодированием вибраций, он беззаботно принимает все предложения, которые дает ему инструмент Cursor, и доверяет его способности исправлять собственные ошибки. «Когда я получаю сообщения об ошибках, я просто копирую и вставляю их без комментариев, обычно это исправляет проблему», — написал он. «Иногда LLM не могут исправить ошибку, поэтому я просто обхожу ее или прошу вносить случайные изменения, пока она не исчезнет».
По сути, кодирование vibe — это взаимодействие с кодовой базой через подсказки, так что роль инженера заключается просто в общении с инструментом и изучении его результатов, объясняет Сергей Целовальников, инженер-программист на платформе дизайна Canva, который регулярно использует вспомогательные инструменты ИИ. «Андрей — своего рода инфлюенсер, и он определил этот термин очень намеренно», — говорит он. «Он просто опубликовал своего рода шутку, но поскольку он более или менее правильно осветил то, что происходит в отрасли, она просто взлетела».
Подходит ли Vibe Codeing для моего проекта?
Люди, которые, скорее всего, выиграют от кодирования вибраций, делятся на два лагеря, говорит Тобин Саут, исследователь безопасности ИИ в MIT Media Lab. Один — это люди вроде Карпати, которые уже хорошо разбираются в кодировании и знают, как исправить любые ошибки, если что-то пойдет не так, если они используют его для создания чего-то важного; другой — это абсолютные любители с небольшим или нулевым опытом кодирования. «Я бы определил кодирование вибраций как наличие видения, которое вы не можете реализовать, но ИИ может», — говорит он.
Основная привлекательность кодирования на основе ИИ заключается в том, насколько оно простое и доступное. Вспомогательные инструменты ИИ позволяют гораздо быстрее создавать код и создавать небольшие проекты, такие как прототип веб-сайта, игры или веб-приложения, чем это было бы для человека. Но хотя этот подход без вмешательства может иметь смысл, когда речь идет о создании таких простых цифровых продуктов с низкими ставками, он гораздо более рискован в более крупных и сложных системах, где ставки гораздо выше. Поскольку инструменты кодирования на основе ИИ работают на LLM, генерируемый ими код с такой же вероятностью будет содержать ошибки, как и ответы, которые выдают чат-боты на основе LLM . Это большая проблема, если то, что вы пытаетесь закодировать, требует доступа к большим базам данных информации, мер безопасности для защиты этих данных, большого количества пользователей или данных, введенных пользователями, говорит Целовальников.
«Кодирование Vibe может привести к множеству ошибок и проблем, но в среде небольшой игры или небольшого приложения, которое не хранит никаких данных, это гораздо менее актуально», — говорит он. «Я бы лично был намного осторожнее с более крупными проектами, потому что если вы не знаете, есть ли какие-либо уязвимости безопасности, и вы не тестировали код самостоятельно, это очень опасно».
Это особенно актуально для не-кодеров. Лео, пользователь X и чемпион по кодированию Vibe, узнал это на собственном горьком опыте, когда в прошлом месяце опубликовал пост о том, как создал SaaS-приложение (программное обеспечение, работающее через Интернет, а не загружаемое на устройство пользователя) исключительно с помощью Cursor. Пост сразу же привлек внимание непослушных пользователей сети, которые тут же начали искать дыры в безопасности его сервиса. «Ребята, меня атакуют», — написал он два дня спустя. «Я не технарь, поэтому мне требуется больше времени, чем обычно, чтобы разобраться. Пока что я перестану делиться тем, что я делаю публично на X. Просто там есть какие-то странные люди».
В конечном счете, хотя кодирование vibe может помочь воплотить в реальность смутную идею веб-сайта или игры, оно не может сделать ее надежной или безопасной. Но уже существует множество инструментов для этого, помогающих вам во всем, от создания баз данных до добавления мер аутентификации. Так что, хотя вы не можете кодировать vibe для создания реальных, ценных, безопасных и надежных приложений, это может быть полезной отправной точкой, если вы осторожны, говорит Саут.
Он считает, что помощники по кодированию с использованием ИИ будут становиться все более способными, а компании веб-хостинга продолжат интегрировать ИИ в свои инструменты, чтобы сделать их более простыми в использовании, а это значит, что барьеры для создания программного обеспечения будут продолжать падать. «Это берет стоимость производства программного обеспечения и резко снижает ее в геометрической прогрессии», — говорит он. «Миру придется адаптироваться к этой новой реальности. Она никуда не денется».