Vibe-coding — риски и границы

Vibe-кодер вставляет в продукт то, что AI выдал, не читая. Не понимает, что значит lock'n'save, почему hex, почему b64url. Это путь к худшему коду на рынке.

Суть

Vibe-coding — это работа с AI «по ощущениям»: попросил, скопировал, вставил, забыл. Без понимания, что именно AI сгенерировал. На уровне прототипа допустимо. В продакшене — катастрофа.

Симптомы vibe-кодинга

  • В коде есть фрагменты, которые ты не объяснишь
  • Имена переменных не отражают суть, потому что ты их не выбирал
  • Используется библиотека, про которую ты не знаешь
  • Конфигурация скопирована без понимания
  • Тесты сгенерированы AI и проходят с первого раза (потому что AI знает реализацию)

Чем опасно

  • Безопасность — AI может ввести уязвимость
  • Лицензии — корпус включает GPL/коммерческий код
  • Производительность — AI часто выбирает неоптимальное решение
  • Поддерживаемость — никто не знает, что там
  • Долг растёт быстрее — много кода, никто его не читал
  • AI обучен на говнокоде — генерирует проекцию плохого корпуса

Конкретные примеры из практики

  • AI генерирует уникальные ID, добывая энтропию из timestamp
  • ProcessID в качестве источника случайности (он не случаен)
  • Сравнение nanoid с самописными версиями (нечестно)
  • Пять классов с наследованием там, где хватает двух
  • Mixin'ы и наследование вместо элегантных замыканий
  • ObjectPool из учебника, не понимая, что список сам пул

Граница допустимого

Допустимо Недопустимо
Boilerplate Безопасность
Туториалы Производительные части
Прототипы Бизнес-логика
Поиск имён Криптография
Объяснение чужого кода Структуры данных
Tab-комплит Архитектура

Как читать AI-код

  • Вслух пройти по каждой строке
  • Спросить: что делает? зачем? что если нет?
  • Заменить непонятные конструкции на свой стиль
  • Проверить, что нет «опечаток» в логике
  • Убедиться, что imports реальные (AI выдумывает библиотеки)
  • Запустить с edge-cases (пустой ввод, null, ошибка сети)

Принцип

Если ты не можешь объяснить, что делает этот код — этого кода у тебя нет. Это код AI у тебя в репозитории.

Анти-vibe

  • Каждая строка проходит через ваш мозг
  • AI как ассистент, не как автор
  • Понимать сгенерированное лучше, чем написанное самим
  • Сразу рефакторить под свой стиль и проект
  • Не доверять бенчмаркам и оптимизациям без проверки

🎓 Источники

  • 🎓 [🧑‍💻 Программирование на JavaScript с использованием AI] · 2025-08-11 · YouTube
    • Тезисы: «вайб-кодеру всё фиолетово»; не читает lock'n'save, hex, b64url; вставляет как есть
  • 🎓 [🤷 AI обучен на говнокоде] · 2025-11-30 · YouTube
    • Тезисы: проекция плохого корпуса; «не утонем ли в болоте»; элита (компиляторы, СУБД) не успевает за массой
  • 🎓 [💡 Зачем GoF, SOLID, GRASP] · 2025-12-15 · YouTube
    • Тезисы: AI делает overengineering из учебника; не чувствует JS/TS специфику