Баги: читаем ошибку
Урок 21 из 26 курса «Вайбкодинг: курс с нуля». Бесплатно, с анимациями и тестом.
Где живут ошибки
Баг: ошибка в программе. Пример: в трекере тренировок жмёшь «Сохранить», и ничего. Ошибки прячутся в трёх местах. Console в DevTools, инструментах разработчика браузера (F12 на Windows, Cmd+Option+I на Mac): красные строки от кода страницы. Вкладка Network там же: все запросы страницы к серверу. И логи на хостинге: журнал того, что делали сервер и сборка.
Network и коды ответа
Открываешь Network, жмёшь «Сохранить» и видишь строку со схемы: «POST /api/save 500». POST: запрос, который отправляет данные. /api/save: адрес на твоём сервере. 500: код ответа. Шпаргалка: 200 всё ок, 404 не найдено (неверный адрес), 401 и 403 нет доступа (не вошёл или нельзя), 500 ошибка на сервере. Значит, кнопка ни при чём: смотри логи сервера.
Рецепт: от бага к исправлению
Шаг 1: повтори баг специально и запиши шаги. Шаг 2: скопируй ошибку целиком, из консоли или логов. Шаг 3: отдай агенту ошибку, шаги и что ты ожидал. Шаг 4: напиши «сначала объясни причину, код пока не трогай». Шаг 5: исправление и твоя проверка. Шаг 6: коммит. Про ошибку целиком было в уроке о задачах для ИИ, тут полный цикл.
Ловушка: «починил» удалением
Агент может «починить» баг, просто убрав то, что мешает. Пример: сохранение падало на проверке, что пользователь вошёл в аккаунт. Агент удаляет эту проверку. Ошибки больше нет, зато теперь кто угодно пишет в чужие тренировки. Так же агенты иногда удаляют упавший тест или прячут ошибку. Смотри дифф: красная строка «удалена проверка?» на схеме, это повод спросить «зачем?».
Застрял по кругу? Откатись
Пятая попытка, а стало только хуже: агент чинит одно и ломает другое. Стоп. Откатись к последнему рабочему коммиту, как стрелка «откат» на схеме. Начни новую сессию: старая забита неудачными попытками, и агент в них путается. Опиши задачу заново и меньше: не «почини сохранение», а «сохрани одну тренировку с датой». Маленький шаг чинится быстрее.
Проверь себя
- В Network видишь «POST /api/save 500». Что это значит?
Правильный ответ: Ошибка на сервере: смотри логи сервера. Код 500 значит ошибку на стороне сервера. 404 был бы неверный адрес, 401 или 403 проблема с доступом. - Что лучше написать агенту про баг?
Правильный ответ: Ошибку целиком, шаги и что ты ожидал. С полной ошибкой, шагами и ожиданием агент видит, что сломалось и как должно быть. На «не работает» он может только гадать. - Агент «починил» баг, удалив проверку входа. Что делаешь?
Правильный ответ: Откатываю и прошу найти настоящую причину. Без проверки входа любой может писать в чужие данные. Ошибка исчезла, а проблема стала хуже: нужна причина, а не удаление защиты.