Введение
Мартин Фаулер на днях попытался вернуть термину «vibe coding» исходный смысл — и заодно нечаянно показал, где проходит настоящая граница.
В оригинале у Карпати vibe coding — это не «ИИ пишет код». Это «забыть, что код вообще существует». Принять все изменения не глядя, диффы не читать, ошибку скопировать обратно в промпт и ждать, пока само рассосётся.
Ключевая фраза — forget that the code even exists.
Граница между vibe coding и agentic programming
Когда инженер отдаёт всю генерацию модели, но ревьюит результат, следит за структурой, держит её в голове — это уже не vibe coding. Фаулер называет это agentic programming и просит не путать.
Разница не в том, кто набрал символы. Разница в том, отказался ли ты от артефакта.
| Vibe coding | Agentic programming |
|---|---|
| Отказ от владения кодом | Инструмент сменился, хозяин тот же |
| Не смотреть, не ревьюить | Держать структуру в голове |
| «Принять все изменения» | Осознанный выбор каждого изменения |
Для бизнеса это переводится напрямую
Авторство кода перестало быть маркером чего-либо. Маркер — кто держит ответственность за то, что код делает в проде, что он сливает наружу и как он себя поведёт, когда его попросят чуть-чуть изменить.
А поведёт он себя весело: недетерминированность LLM означает, что запрос «добавь фичу» спокойно ломает то, что меняться было не должно. Плюс безопасность — vibe-код легко отдаёт то, что отдавать нельзя, вплоть до доступов вглубь системы.
Синтез и выводы
Vibe coding отлично работает там, где цена провала близка к нулю: одноразовый софт, прототип, поделка для себя.
Как только у кода появляется аудитория и последствия — «забыть, что он существует» перестаёт быть стратегией и становится открытым люком.
Так что когда в следующий раз кто-то скажет «мы теперь вайбкодим всё» — это не про скорость. Это про то, что кто-то решил больше не отвечать за результат. Иногда это разумно. Чаще — нет.
Как определить, где вы находитесь
Чек-лист: vibe coding или agentic programming?
- [ ] Вы читаете диффы перед принятием изменений?
- [ ] Вы понимаете, что делает каждая изменённая функция?
- [ ] Вы можете объяснить, почему код работает именно так?
- [ ] Вы готовы отвечать за последствия изменений в проде?
Если на все вопросы «да» — вы в agentic programming. Если «нет» — вы в vibe coding, и это осознанный отказ от ответственности.
Вопросы для размышления
- Где в моей работе проходит граница между «инструмент» и «отказ»?
- За какой код я готов нести ответственность?
- Что происходит, когда я перестаю смотреть в код?
Продолжение: Лошади и всадники — размышление об агентном программировании
#Athanor #IT #vibe_coding #fowler #AI #программирование
Загрузка…