avatar
NGI | Влад Корнышев про AI и создание AI-продуктов
@NGI_ru
21.05.2026 19:16
Про важность бэкапов и автономность агентов при работе с продакшн-кодом

Вайбкодинг - это та сфера, где цена ошибки может быть ну очень высокой, а тебе нужно постоянно перестраховываться. Сегодня у меня произошел кейс, когда как раз эта самая перестраховка меня спасла.

Решил я в свою LMS, которая крутится в проде уже больше года, добавить одну маленькую функцию - автодобавление пользователей при покупке на сайте. Раньше делал руками, но для селф-стади это неудобно. Идея максимально простая: человек делает покупку через Юкасса, от их апи приходит ответ, у меня по заданным пользователем имени и e-mail создается юзер, ему назначается курс и отправляется письмо на почту с магической ссылкой для логина.

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

Решил особо не париться и не переключать среду на тестовую из-за такого мелкого изменения (и зря).

Свой код я абсолютно всегда покрываю тестами и LMS у меня тестами покрыта вдоль и поперек. Все стейты, включая “пустое состояние”, когда нет ни курсов ни пользователей, для этого есть отдельный метод. который как раз всех этих пользователей очищает. А сами эти тесты у меня лежат в отдельной папочке, чтобы не дай бог не активировать их случайно, т.к. их функция по-сути, разовая, при первом развертывании самой системы.

Ну и вот, функция хоть и простая, но мне было лень лишний раз что-то согласовывать - поэтому я запряг под эту задачу Opus 4.6. В промпте также попросил написать тест этого функционала, чтобы я мог его потом прогнать. Опус все сделал, но случилось то, за что я ненавижу эти модели - он решил быть слишком самостоятельным, и, написав тесты для нового функционала решил, что надо бы и остальные тесты прогнать. И пока я отошел налить себе чаю, этот негодяй сделал отдельный скрипт для запуска вообще всех тестов, который включал как раз ту самую запретную папочку 😁

Что он снес? Да вообще все. Оставил только тестовых юзеров, удалил из LMS все материалы, всех пользователей, конспекты, и вообще все. Но проблему удалось решить буквально за минуту.

Во-первых, в Supabase у меня настроен регулярный бекап, собственно, который я заюзал, чтобы откатиться на несколько часов назад.
Во-вторых, зная о наличии у меня такого теста, я ожидал, что рано или поздно такая фигня произойдет, поэтому написал отдельный скрипт, который периодически парсит БД проекта и сохраняет ее у меня на сервере раз в сутки.
В-третьих, что касается материалов - у меня сохранены дубликаты в Affine в маркдауне, на случай, если все бекапы придут в негодность.

Тут первый слой защиты сработал, остальные не понадобились.

Позабавила, конечно, реакция агента, когда я сказал ему, что он снес базу 🤣

Короче, какие выводы для вас, дорогие друзья:

1. Даже делая маленькие изменения лучше переключайтесь между тестовой и продакшен средой;
2. Всегда делайте бекапы;
3. Opus - демон, доверять которому себе дороже 😅

В таком контексте даже дропнув БД в продакшене - сможете сделать вот такой скрин и поугорать над ситуацией, а не думать, о том, как можно было бы этого избежать.

🚀 Влад Корнышев про AI и создание AI-продуктов
😁 10
🔥 8
👌 2
1
9 28 1.6K

Обсуждение 9

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram

NGI | Влад Корнышев про AI и создание AI-продуктов

4.1K
Простым языком рассказываю об AI и работе AI-продактом.

Консультирую стартапы, помогаю запускать MVP. Co-Founder EAI, ex-Skyeng, ex-Pearson.

💼 Внедрить AI: https://e-ai.solutions
🎓 Обучить команду: https://www.ngi.academy/b2b
Открыть в Telegram