Вайб-кодинг

Также известен как

Vibe coding — термин Андрея Карпатого: «полностью отдаться вайбу... и забыть, что код вообще существует».

Контекст

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

Проблема

Продукт разговора принимается без понимания и без проверки: код не читан, требования нигде не записаны, критерий приёмки — «вроде работает». В живой кодовой базе появляется слой, о котором никто не может сказать, что он должен делать.

Почему так делают

  • Скорость опьяняет: фича за вечер против недели — трудно заставить себя замедлиться ради чтения диффа.
  • На прототипах это честно работает: там цена ошибки — ноль, и привычка закрепляется как «просто способ работать».
  • Читать чужой код скучно, а агентский — ещё и длинно.
  • «Агент знает этот фреймворк лучше меня» — правда, из которой не следует, что результат правилен.

Последствия

  • ➖ Код без владельца: никто не понимает, как устроена фича, — ревьюить, чинить и развивать её некому.
  • ➖ Намерение утеряно: через месяц нельзя отличить «так задумано» от «так получилось» — требования существовали только в голове и чате.
  • ➖ Краевые случаи и безопасность неизвестны: их никто не проверял, потому что критерий был «выглядит работающим».
  • ➖ Каждое следующее изменение дороже: слой непонятого кода растёт, и агент строит новое поверх непроверенного старого.

Признаки

  • Дифф смержен непрочитанным.
  • На вопрос «как это работает» ответ — «не знаю, агент написал».
  • Требования восстанавливаются чтением кода, потому что больше их нигде нет.
  • Аргумент качества — «работает же».

Как лучше

Развести режимы по цене ошибки. Вайбу — его законную зону: одноразовые прототипы, одноразовые скрипты, эксперименты — всё, что умрёт раньше, чем понадобится его понимать. Рабочему коду — рабочий процесс: намерение фиксируется (спецификация или хотя бы план из четырёх фаз), результат проверяется (петля обратной связи), дифф читается — самим или рецензентом со свежим контекстом. Грань проста: код, который будет жить, должен быть кому-то понятен.

Пример

Было:

— Сделай страницу оплаты подписки. — …— Работает, мержим.

Стало:

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

Связанные паттерны и анти-паттерны

results matching ""

    No results matching ""