Как стать автором
Обновить

Сам ты вайб-кодер

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров13K

Кажется, мы окончательно запутались в терминах.

За последнюю неделю меня назвали вайб-кодером раз 20. Не то, чтобы меня это как-то оскорбляло, каюсь, пишу код в Cursor, но просто... Это ведь не так - просто по определению. Похожие чувства я испытывал, когда хакатонами стали называть любые мероприятия с кодингом, а их участников - хакерами. Но язык - штука живая, и писать душную статью о том, как мы все неправильно юзаем термины - точно не то, на что я хочу убить вечер воскресенья.

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

А в чём отличие?

Если глянуть на оригинальный пост Андрея Карпаты, то вайб-кодинг - это про "не писать код вообще". Это когда только ИИ пишет, исправляет и читает код. А человек не притрагивается к нему ну прям совсем. Не важно, потому что он не умеет (потому что он не программист) или потому что он бахнул пивка и не хочет работать с кодом. В общем, это больше про "вайб", чем про "кодинг".

Здесь и появляется та самая путаница. Когда ты, дорогой username, пишешь код в Cursor, используя Cursor Tab или давая задачи агенту, после чего проверяешь результаты его генерации - это не вайб-кодинг, это AI-assisted coding (или руссифицированное "разработка с ИИ-инструментами").

А вот когда ты, дорогой username2, работая продактом или бухгалтером, открываешь Lovable/v0/Bolt, и собираешь себе сайт, инструмент автоматизации, или скрипт, который парсит какие-нибудь данные, при этом даже не заглядывая в код - ты вайб-кодишь.

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

И всё таки - в чём отличие?

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

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

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

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

Установи csv-export и download.js, и обнови UsersTable.tsx, добавь справа в заголовок кнопку из shadcn/ui, чтобы по клику на неё с API брались юзеры за вчерашний день, после чего выгружай их в csv

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

Разработчики ждут от ИИ в первую очередь качественный код. Работающий, безусловно, но требования к коду очень высокие - отсутствие дублирования, соответствие общему стилю в проекте, файлы должны лежать там, где ожидается, разбиение по модулям/классам должно соответствовать good practise, и так далее.

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

Проблемы

Самая главная проблема для вайб-кодера - это технический долг.

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

Да, можно обмазаться Cursor Rules, явно просить проверять наличие функций/компонентов перед созданием новых.

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

Но здесь нет простого решения. Только дробить проект заранее на маленькие под-продукты. Таковы реалии: ИИ не всемогущ, и ждать от него создания целых приложений - пока бессмысленно.


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

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

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

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

И эта задачка, кстати, решаемая, в большинстве своём. Обмазавшись Cursor Rules с подробным описанием структуры и стиля проекта, бахнув кастомный энхенсер в supercode со своими классическими требованиями, сгенерировав/написав подробные доки вы действительно в 80% случаев сможете получать код, который будет до боли напоминать ваш собственный.

Но чтобы к этому прийти придётся вложить много ресурсов в сетап проекта - ту самую настройку правил, доков, кастомных промптов, etc. И этот путь не готовы проходить многие.

Гораздо чаще я вижу противоположенную ситуацию - опытные разработчики пробуют Cursor, дают ему 2-3 попытки "написать тот код, который ты от него ждёшь", и, не получив результат, закрывают со словами "не дорос ещё ИИ, куда ему".

Давайте жить дружно

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

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

Я пользовался налоговым калькулятором, который сделал чувак-бухгалтер в v0. Мой товарищ, владелец интернет-магазина автоматизировал себе базовую тех. поддержку за 20 часов с Cursor'ом. Таких примеров множество, и я верю, что это изменение - к лучшему.

Одновременно с этим, появление ИИ-инструментов для разработчиков не менее прекрасно. Я пишу код в 5-6 раз быстрее, благодаря Cursor, и всем примочкам к нему - Context7, Supercode, Figma MCP, и прочим. Я собираю интерактивные прототипы в v0 всего за пару промптов, и потом могу переносить их сразу в код.

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


P.S. Я очень много пишу про разработку c ИИ у себя в телеграм-канале. Заставляю ИИ писать хороший код, обозреваю свежие новости технологий, даю аналитику по отрасли и всем событиям. Иногда рассказываю как создавать собственных ИИ-агентов и приложения с ИИ. А ещё недавно стал выкладывать подобные обзоры на ютуб. Велком!

Теги:
Хабы:
+13
Комментарии47

Публикации

Работа

Ближайшие события