PI
Все статьи
Павел Ильин4 мин чтения

Я навайбкодил кучу приложений. Честный отчёт

Vibe CodingAISecurityIndie

За 14 лет я выпустил 30+ приложений. Заметная часть последних — навайбкожена: я словами описывал, что хочу, а код писал ИИ. Часть из них уже приносит деньги. Прежде чем ты решишь, что это очередная статья «ИИ заменит программистов» или, наоборот, «вайбкодинг — игрушка» — нет. Это честный отчёт практика: где это реально магия, где я обжёгся и где видел, как взрослый сервис улетает в пропасть из-за слепого доверия модели.

Что такое вайбкодинг — и почему важно не путать

Термин придумал Андрей Карпатый: ты «поддаёшься вайбам» и принимаешь то, что предлагает ИИ, не вчитываясь в каждую строчку. Звучит безответственно? Иногда это ровно то, что нужно. Но есть граница, из непонимания которой растёт вся боль ниже:

  • Вайбкодинг — я не читаю код. Важен результат, а не то, как он устроен.
  • ИИ-ассистед разработка — ИИ печатает, но я читаю, правлю и отвечаю за каждую строку.

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

Где это магия

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

Где вайб реально вывозит:

  • Прототипы и проверка гипотез — выкидной код, которому не нужно жить долго.
  • Бойлерплейт, склейка, рутина, которую лень писать руками.
  • Незнакомый язык или API — быстрый старт там, где раньше был день чтения документации.
  • Одноразовые скрипты и тулинг для себя.

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

Где это ломается

Чем сложнее и взрослее система, тем дороже слепое доверие.

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

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

Отдельно про мобилку: данных по вебу у моделей в разы больше, чем по нативному iOS. Xcode, async/await, управление памятью, провязка с системными API — здесь ИИ ошибается чаще и тоньше. На вебе вайб летит, на нативе — спотыкается.

Безопасность — где обжигаешься тихо

Самое неприятное в вайбкодинге — оно ломается не громко. Что я ловлю раз за разом:

  • ИИ радостно вшивает API-ключи и токены прямо в код и тащит их в коммит. Один git push — и секрет в истории навсегда.
  • Выдуманные зависимости. Модель уверенно импортирует пакет, которого не существует, — а злоумышленники такие частые галлюцинации уже зарегистрировали в npm или PyPI с малварью внутри. Это называется slopsquatting: ставишь — и привет.
  • Небезопасные дефолты «лишь бы заработало»: CORS: *, выключенная проверка сертификатов, открытый бакет, ноль валидации ввода.

Корень у всего один: ты доверяешь коду, который не прочитал.

Мои правила

  • Прототип на вайбе — да. Прод с чужими данными — только то, что прочитал глазами.
  • Секреты и зависимости проверяю до коммита, всегда. Две минуты против слитого ключа.
  • Чем критичнее код, тем меньше вайба. Платежи, авторизацию, работу с данными пользователей без полного ревью не отдаю.
  • Если отладка навайбкоженного куска дороже, чем написать самому, — переписываю, не упорствую.

Кому это подходит

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

Вывод

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


Думаешь, где у вайбкодинга граница для твоего продукта, или нужен сеньор, который доведёт идею до релиза? Связаться.