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

Термин «вайб-кодинга» недавно придумал один из основателей OpenAI и бывший директор по ИИ в Tesla Андрей Карпати. Он определил такую разработку как «новый вид кодирования, когда инженер забывает о существовании кода», а взаимодействует только с той кодовой базой, которую ему выдаёт ИИ-агент.
Как отметил Целовальников, этот термин быстро заполонил соцсети, и начали появляться сообщения о том, как ИИ радикально изменил кодирование, а вскоре заменит всех инженеров-программистов.
«Хотя ИИ, несомненно, влияет на то, как мы пишем код, он не изменил принципиально нашу роль как инженеров», — отмечает автор поста.
Целовальников напомнил, что программная инженерия — это не написание кода, а создание системы, которая успешно удовлетворяет потребности, будет масштабироваться в соответствии с требованиями и способна развиваться в течение всего срока службы. Таким образом, работа инженера-программиста растянута во времени, как и поддерживаемые им проекты. Однако вайб-кодинг охватывает процесс разработки только в определённый момент времени. Если агент используется для создания прототипа и проверки его с помощью тестов, то это кодирование, а не проектирование. Инженерия же означает проектирование систем, способных выдерживать реальные условия и рабочие нагрузки, противостоять угрозам безопасности, переносить и поддерживать данные пользователей в системе и адаптироваться к новым требованиям, зачастую через много лет.
По словам Целовальникова, вайб-кодинг не предусматривает того, чтобы программист заглядывал «под капот» кода, и в итоге все инженерные проблемы неизбежно будут проигнорированы. Также он отметил, что такие проблемы сложно описать в обычной текстовой подсказке ИИ. «Исторически все инженерные практики пытались сместить эти проблемы влево — на более ранние этапы разработки, когда их решение дёшево. Однако с вайб-кодированием они смещаются очень далеко вправо — когда их решение дорого», — замечает инженер.
Вопрос о том, может ли система ИИ выполнять полный цикл разработки и создавать и развивать программное обеспечение так же, как это делает человек, остаётся открытым. «Однако на данный момент нет никаких признаков того, что это возможно, и если это когда-нибудь произойдёт, то не будет иметь ничего общего с вайб-кодингом — по крайней мере, каким он определяется сегодня», — уверен Целовальников.
Инженер предлагает рассмотреть, возможно ли проектировать надёжные системы, полностью состоящие из компонентов «вайб-кодинга». Такие системы должны проходить строгое тестирование, подробное профилирование производительности и проверки совместимости протоколов — использовать те же строгие инженерные практики, которые лежат в основе разработки сегодняшнего программного обеспечения.
Целовальников полагает, что при таком сценарии каждый специалист по сути будет выполнять работу архитектора и инженера платформы. Можно было бы даже придумать термин «Vibe Engineering» для этой новой роли, но его определение в конечном итоге будет таким же, как и в традиционной программной инженерии, просто работать придётся с меньшим объёмом кода.
«Вайб-кодинг как практика останется, работает и решает реальные проблемы — выводя с нуля до рабочего прототипа за считанные часы. Однако на данный момент он не подходит для создания программного обеспечения промышленного уровня. Возможно, наступит будущее, в котором программное обеспечение будет создаваться из блоков, закодированных с помощью этих практик, но работа по проектированию программного обеспечения, способного развиваться и масштабироваться, никуда не денется. Это не вайб-инжиниринг — это просто инжиниринг, даже если кодирование будет выглядеть немного иначе», — заключил автор.
Между тем американская компания CO/AI объявила о поиске вайб-кодера, который будет заниматься фронтенд-разработкой. В компании считают, что в следующие пять лет многие разработчики начнут использовать в работе нейросети, и хочет начать экспериментировать уже сейчас.