Вайбкодинг без прекрас

Сейчас очень популярна мысль, что можно будет делать полноценные IT-продукты буквально “на вайбе”. Открыл Claude, закинул пару промптов, нажал tab – и вот у тебя уже готовый стартап.

И в этом есть доля правды. AI действительно ускоряет разработку. Я сам использую его каждый день и уже сложно представить современную разработку без LLM. Они отлично помогают писать boilerplate, ускоряют поиск решений, позволяют быстрее собирать MVP и тестировать гипотезы. Но в какой-то момент многие начали путать генерацию кода с инженерией. Потому что написать код – это не самая сложная часть разработки. Самое сложное начинается позже. Когда у тебя появляются реальные пользователи. Когда нагрузка растет не в теории, а в проде. Когда внезапно выясняется, что система начинает сыпаться от параллельных запросов, база ловит блокировки, а один неправильно сгенерированный запрос открывает дыру в безопасности. LLM не понимает вашу систему. Он не понимает архитектуру, не чувствует компромиссы и не думает о последствиях своих решений. Модель просто предсказывает наиболее вероятный следующий кусок кода на основе огромного количества данных. Иногда этот код хороший. Иногда нет. Но проблема в том, что внешне они выглядят одинаково. Именно поэтому AI-generated код регулярно содержит уязвимости. Уже есть исследования, где почти треть сгенерированного кода содержала security issues. Причем речь не про какие-то экзотические баги, а про вполне реальные вещи: insecure random, SQL injections, XSS, небезопасную работу с авторизацией и данными пользователей. И это логично. AI не несет ответственность за последствия. Ему не нужно потом ночью искать memory leak, разбираться с corrupted state или поднимать упавший сервис после очередного наплыва пользователей. Мне кажется, главная проблема вайбкодинга сейчас даже не в качестве кода, а в иллюзии понимания. Когда человеку начинает казаться, что раз система работает локально, значит она уже готова к production. Но production – это вообще другая реальность. Там важен не момент, когда “все работает”. Там важен момент, когда что-то идет не по плану. Можно ли с помощью AI быстро собрать Telegram-бота, MVP или пет-проект? Конечно. Это потрясающий инструмент для старта. Но чем критичнее система – тем опаснее слепое доверие генерации. Потому что нельзя построить ракету, не понимая базовых законов физики. Даже если у тебя есть очень умный помощник, который умеет красиво рисовать чертежи. Точно так же нельзя строить highload, fintech, blockchain или любые production-grade системы, не понимая, как работают базы данных, сеть, безопасность, concurrency и отказоустойчивость. Ирония в том, что AI сейчас сильнее всего бустит именно хороших инженеров. Не потому что заменяет их, а потому что убирает рутину и позволяет быстрее реализовывать идеи. Но чтобы использовать такой инструмент эффективно, нужно понимать, где модель ошибается, что именно она сгенерировала и почему это вообще работает. AI не заменил инженерию. Он просто сделал скорость разработки выше. А ответственность за систему по-прежнему остается на человеке.

1