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 специфику