Мартин Фаулер на днях попытался вернуть термину «vibe coding» исходный смысл - и заодно нечаянно показал, где проходит настоящая граница. В оригинале Карпатого vibe coding - это не «ИИ пишет код». Это «забыть, что код вообще существует». Принять все изменения не глядя, диффы не читать, ошибку скопировать обратно в промпт и ждать, пока само рассосётся. Ключевая фраза - forget that the code even exists. И вот тут важное. Когда инженер отдаёт всю генерацию модели, но ревьюит результат, следит за структурой, держит её в голове - это уже не vibe coding. Фаулер называет это agentic programming и просит не путать. Разница не в том, кто набрал символы. Разница в том, отказался ли ты от артефакта. Vibe coding - это отказ. Ты не владеешь тем, что построил, потому что сознательно решил туда не смотреть. Agentic programming - ты всё ещё хозяин вывода, просто инструмент сменился. Для бизнеса это переводится напрямую. Авторство кода перестало быть маркером чего-либо. Маркер - кто держит ответственность за то, что код делает в проде, что он сливает наружу и как он себя поведёт, когда его попросят чуть-чуть изменить. А поведёт он себя весело: недетерминированность LLM означает, что запрос «добавь фичу» спокойно ломает то, что меняться было не должно. Плюс безопасность - vibe-код легко отдаёт то, что отдавать нельзя, вплоть до доступов вглубь системы. Vibe coding отлично работает там, где цена провала близка к нулю: одноразовый софт, прототип, поделка для себя. Как только у кода появляется аудитория и последствия — «забыть, что он существует» перестаёт быть стратегией и становится открытым люком. Так что когда в следующий раз кто-то скажет «мы теперь вайбкодим всё» - это не про скорость. Это про то, что кто-то решил больше не отвечать за результат. Иногда это разумно. Чаще - нет. https://martinfowler.com/bliki/VibeCoding.html