Перейти к содержимому

Руководство

Vibe coding — это плохо? Что идёт не так и как проверить свой код

Vibe coding сам по себе не плох; риск в том, чтобы выпускать код, который никто не читал. Типичные ошибки ИИ-ассистентов, когда они важны и как их найти.

· 7 мин чтения · Команда vetkit

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

Коротко

Нет, vibe coding сам по себе не плох. Это быстрый способ получить работающий софт, и для прототипов, внутренних инструментов и обучения он часто оказывается правильным выбором. Проблемой он становится в одной конкретной точке: когда код, который никто не читал, начинает работать с реальными пользователями, реальными данными или реальными деньгами. Риск не в том, что код написал ИИ. Риск в том, что его никто не проверил.

Поэтому полезный вопрос звучит не «плох ли vibe coding?», а «что мне нужно проверить, прежде чем это уйдёт в прод?». Остальная часть руководства отвечает именно на него.

Что такое vibe coding

Vibe coding — это разработка, при которой вы описываете ИИ-ассистенту, что хотите получить, и принимаете написанный им код, по большей части не читая его. Термин придумал Андрей Карпатый в начале 2025 года для стиля работы, в котором вы отдаётесь «вайбу» и забываете, что код вообще существует. Результат вы оцениваете, запуская приложение, а не просматривая изменения.

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

Что идёт не так

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

ПроблемаКак это выглядитПочему вы этого не замечаете
Секреты не на своём местеAPI-ключ закоммичен в репозиторий или попал в браузерный бандлПриложение в обоих случаях работает одинаково
Нет проверок доступаЛюбой авторизованный пользователь может читать чужие записи; таблицы в базе данных без правил на уровне строкВы всегда тестируете только под своим аккаунтом
Несуществующие пакетыАссистент выдумывает правдоподобное имя пакета, а кто-то другой мог его уже зарегистрироватьКоманда установки завершается успешно
Недописанный кодФункции-заглушки, ветки с TODO и проглоченные ошибки остаются в основном сценарииHappy path по-прежнему проходит
Недоверенный ввод используется напрямуюДанные запроса подставляются в SQL, shell-команды, пути к файлам или HTMLОбычный ввод ведёт себя как обычно
Никакой готовности к сбоямHTTP-вызовы без таймаутов, запросы внутри циклов, нет отчётов об ошибкахНа десяти строках и одном пользователе всё быстро

Ничего из этого не ново. Разработчики совершали каждую из этих ошибок задолго до появления ИИ-ассистентов. С vibe coding меняются объём и пропавший этап ревью: кода приходит больше и быстрее, а человек, который заметил бы проблему, его так и не читает. Три из них подробно разобраны в других материалах на этом сайте: API-ключи в браузере, выдуманные пакеты и утёкшие секреты.

Когда это важно, а когда нет

Vibe coding — разумный выбор, когда ошибка обходится дёшево:

  • Прототип или демо, которое выбросят или перепишут.
  • Личный скрипт или внутренний инструмент без чувствительных данных.
  • Изучение нового фреймворка или проверка идеи.

Проверка перед релизом нужна, когда ошибка обходится дорого:

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

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

Как сохранить скорость и избавиться от риска

Отказываться от скорости не нужно. Нужно вернуть проверку, которую vibe coding пропускает.

  1. Читайте изменения, которые касаются денег, входа и данных. Код вёрстки можно не читать. Аутентификацию, авторизацию, платежи и всё, что пишет в базу данных, пропускать нельзя. В чек-листе ревью кода, сгенерированного ИИ перечислено, на что смотреть.
  2. Тестируйте с двумя аккаунтами. Войдите под одним пользователем и попробуйте прочитать или изменить записи другого. Этот единственный тест находит самый опасный класс багов в приложениях, написанных через vibe coding.
  3. Проверяйте каждую новую зависимость. Убедитесь, что пакет существует, что это именно тот пакет, который вы имели в виду, и что его не опубликовали на прошлой неделе.
  4. Сканируйте репозиторий перед релизом. Автоматический аудит находит механические проблемы быстрее человека: закоммиченные секреты, уязвимые или несуществующие зависимости, отсутствие таймаутов и небезопасную обработку ввода. Каталог проверок vetkit показывает правила, которые он запускает, а бесплатный Security Quick Scan охватывает секреты, известные уязвимости зависимостей и базовую конфигурацию безопасности.
  5. Попросите ассистента исправить то, что нашёл сканер. Подключите сканер к своему coding-агенту, чтобы находки возвращались в тот же диалог. Как это сделать, показано в руководстве по MCP.

Когда будете готовы к релизу, чек-лист безопасности перед выпуском приложения, написанного через vibe coding шаг за шагом проведёт вас через решение о релизе.

Источники и ограничения

Список типичных проблем отражает категории, которые покрывают собственные правила vetkit для рисков ИИ-кода, безопасности, отказоустойчивости и доступа к данным, по состоянию на 10 ноября 2026 года. Это описание повторяющихся паттернов, а не измерение того, как часто они встречаются. Термин «vibe coding» взят из поста Андрея Карпатого от февраля 2025 года.

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

Запросить ранний доступ

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

Мы используем эти данные только для ответа на ваш запрос. Политика конфиденциальности