Введение

Мартин Фаулер на днях попытался вернуть термину «vibe coding» исходный смысл — и заодно нечаянно показал, где проходит настоящая граница.

В оригинале у Карпати vibe coding — это не «ИИ пишет код». Это «забыть, что код вообще существует». Принять все изменения не глядя, диффы не читать, ошибку скопировать обратно в промпт и ждать, пока само рассосётся.

Ключевая фраза — forget that the code even exists.

Граница между vibe coding и agentic programming

Когда инженер отдаёт всю генерацию модели, но ревьюит результат, следит за структурой, держит её в голове — это уже не vibe coding. Фаулер называет это agentic programming и просит не путать.

Разница не в том, кто набрал символы. Разница в том, отказался ли ты от артефакта.

Vibe codingAgentic programming
Отказ от владения кодомИнструмент сменился, хозяин тот же
Не смотреть, не ревьюитьДержать структуру в голове
«Принять все изменения»Осознанный выбор каждого изменения

Для бизнеса это переводится напрямую

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

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

Синтез и выводы

Vibe coding отлично работает там, где цена провала близка к нулю: одноразовый софт, прототип, поделка для себя.

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

Так что когда в следующий раз кто-то скажет «мы теперь вайбкодим всё» — это не про скорость. Это про то, что кто-то решил больше не отвечать за результат. Иногда это разумно. Чаще — нет.


Как определить, где вы находитесь

Чек-лист: vibe coding или agentic programming?

  • [ ] Вы читаете диффы перед принятием изменений?
  • [ ] Вы понимаете, что делает каждая изменённая функция?
  • [ ] Вы можете объяснить, почему код работает именно так?
  • [ ] Вы готовы отвечать за последствия изменений в проде?

Если на все вопросы «да» — вы в agentic programming. Если «нет» — вы в vibe coding, и это осознанный отказ от ответственности.

Вопросы для размышления

  1. Где в моей работе проходит граница между «инструмент» и «отказ»?
  2. За какой код я готов нести ответственность?
  3. Что происходит, когда я перестаю смотреть в код?

Продолжение: Лошади и всадники — размышление об агентном программировании

#Athanor #IT #vibe_coding #fowler #AI #программирование