Искра
Вайбкодинг: от идеи до продакшена

Чтение и отладка кода агента

Тема 296 мин чтения + 30 мин на заданиеРевизия 9 октября 2026

Агент из тем «Вайбкодинг: сайты» и «Вайбкодинг: интерфейсы» пишет код быстро, но не безошибочно. Рано или поздно что-то ломается: страница не открывается, кнопка не работает, вместо интерфейса красный текст ошибки. Чинить это руками тебе не нужно. Нужно другое: не паниковать, понимать, что происходит, и правильно описать проблему агенту. Удалять весь проект и начинать с нуля при первой же ошибке точно не придётся.

Не обязательно понимать код, чтобы иметь о нём мнение

Смотреть на несколько сотен строк незнакомого кода тревожно, если ждать от себя, что нужно понимать каждую строку. Не нужно. Важнее распознавать форму и масштаб, а не вчитываться в детали. Файл на 30 строк, скорее всего, один маленький компонент. Файл на 900 строк что-то делает слишком много всего сразу. Это повод спросить агента «не разбить ли этот файл на несколько поменьше», даже не читая содержимое построчно. Заодно пригодится узнавать в общих чертах знакомые по теме «Технический фундамент» слова: useState, fetch, SELECT * FROM. Писать их самому не нужно. Достаточно примерно понимать: «это про состояние экрана», «это про запрос к серверу», «это про базу данных». Этого хватает, чтобы вести содержательный диалог с агентом о том, что он только что сделал.

Как читать экран браузера при ошибке

Когда что-то ломается в вайбкодинг-проекте, открытом в браузере, первый источник правды — инструменты разработчика браузера (DevTools), а не сам агент. Открываются они правым кликом на странице → «Просмотреть код» / «Inspect», или клавишей F12 (на Mac — ⌘⌥I). Вкладка Console там показывает технические ошибки текстом (обычно красным). Расшифровывать их самому не нужно. Скопируй текст целиком и отдай агенту с фразой «вот ошибка из консоли браузера, объясни, что пошло не так, и почини». Вкладка Network показывает все запросы, которые страница отправляет на сервер. Она полезна, когда что-то «крутится и не загружается»: видно, какой конкретно запрос завис или вернул ошибку.

Окно Chrome DevTools с вкладками Elements, Console, Sources и Network. Открыта Console: обычные строки лога и две красные ошибки — 404 при загрузке файла и Uncaught TypeError со ссылкой на строку кода
Вкладка Console: красные строки — ошибки. Справа у каждой ссылка на файл и строку, где она возникла. Именно эти строки целиком и копируй агенту. · Chrome DevTools · скриншот: Chrome for Developers, CC BY 4.0

Как агент восстанавливается после неудачной правки

Иногда после правки становится не лучше, а хуже: раньше работало, а теперь нет. Терминальные агенты (тема «CLI и терминальные ИИ-агенты») работают через git, и это даёт понятный путь назад:

  • Откат последней правки. Попроси агента отменить последнее изменение и вернуться к рабочей версии: «отмени последний коммит, верни проект в рабочее состояние». Это и называется rollback — откат к прежнему состоянию.
  • Разбор по шагам. Если непонятно, какая из нескольких последних правок всё сломала, попроси агента изолировать проблему: «верни проект к состоянию до последних трёх изменений и применяй их по одному, проверяя после каждого, что ничего не сломалось». Так проблема находится постепенным сужением, а не угадыванием.
  • /rewind и похожие команды. У некоторых терминальных агентов есть отдельная встроенная команда для отмотки состояния сессии назад (например, /rewind в Claude Code). Она возвращает не только код, но и саму беседу к более раннему моменту. Это бывает быстрее, чем разбираться с git вручную. Точное название команды сверяй в документации конкретного инструмента: это из тех деталей, что меняются от версии к версии.

Как ловить баги до того, как их найдёт пользователь

Всё, что описано выше в этой теме, — реакция на уже случившуюся поломку. Но полезнее выработать привычку целенаправленно искать баги самому, до того как это сделает реальный пользователь или клиент. Программировать для этого не нужно. Достаточно систематически «пытаться сломать» интерфейс и описывать агенту, что пошло не так:

  • Граничные и странные вводы. Пустое поле там, где ожидается текст. Слишком длинный текст там, где вёрстка рассчитана на короткий. Спецсимволы и эмодзи в поле имени. Вставка отформатированного текста из Word вместо обычного.
  • Быстрые повторные действия. Двойной клик по кнопке отправки формы, быстрое переключение «назад-вперёд» в браузере, обновление страницы посреди загрузки.
  • Нетипичные состояния экрана. Очень узкое окно браузера, очень длинный список данных, полностью пустой список (нулевое состояние). Об этих экранах на этапе дизайна часто просто забывают.

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

Пройдись по этой форме регистрации и попробуй её сломать: пустые поля, слишком длинный текст, спецсимволы, двойной клик по кнопке отправки, медленное интернет-соединение. Опиши, что пошло не так, и почини найденное

Если непонятно даже после объяснения агента: спроси другую модель

Иногда тот же агент, который написал код, не может внятно объяснить, что пошло не так. Он крутится вокруг одного и того же неверного объяснения или продолжает чинить не то место. Оставаться с одной моделью до конца необязательно. Скопируй код, текст ошибки и вопрос «что здесь не так и как это исправить» в другую модель. Например, если застрял с Claude Code, задай тот же вопрос в ChatGPT или Gemini. Это часто быстрее приводит к ответу, чем продолжать диалог с моделью, которая уже зашла в тупик со своим объяснением. Работает это не только с кодом. Тот же принцип годится для непонятного результата любого типа: изображения, текста, брифа (подробнее про сверку результата между моделями — в теме «Оценка и критика результатов ИИ»).

Ревью — не формальность, а привычка

Даже когда агент говорит «готово, всё работает», это ещё не повод сразу нести результат клиенту. Агент может искренне ошибаться в том, что «работает»: тесты могли пройти по кривой логике, а не потому что всё верно. Полезная привычка: после каждого крупного изменения проси агента кратко перечислить, что именно он поменял и почему. И сам пробегись по интерфейсу глазами, прежде чем считать задачу закрытой. Подробнее про системную оценку результата — в теме «Оценка и критика результатов ИИ».

Примеры команд для практики

Куда вставлятьАгент, в котором собран проект (веб-агент или терминальный)
Вот текст ошибки из консоли браузера (вставить) — объясни простыми словами, что произошло, и почини
После последней правки страница перестала открываться — верни проект к прошлому рабочему состоянию

Откатить агент сможет, только если есть к чему: история git или /rewind в Claude Code. В веб-конструкторах для этого есть кнопка истории версий.

Разбей вот этот файл (вставить путь/название) на несколько поменьше — он слишком большой, чтобы в нём было легко ориентироваться
Посмотри git log -3 -p и кратко перечисли, что поменялось в последних трёх правках, простыми словами, без технического жаргона

В новой сессии агент не помнит прошлых правок, поэтому опирается на историю git.

Куда вставлятьДругая модель — не та, что писала код
Вот код и текст ошибки (вставить) — другая модель не смогла её объяснить или почему-то не смогла исправить. Посмотри на это свежим взглядом и скажи, что здесь на самом деле не так
Мини-задание

В любом своём вайбкодинг-проекте попроси агента намеренно сломать что-нибудь маленькое (например, убрать импорт компонента). Открой DevTools и найди ошибку в консоли самостоятельно, прежде чем показывать её агенту. Затем попроси откатить изменение и сравни с тем, что нашёл сам.

Время: 30 минут
Готово, если: ты сам нашёл строку с ошибкой в Console до того, как показал её агенту, и проект возвращён в рабочее состояние

Источники

  1. Open Chrome DevToolsdeveloper.chrome.com

    горячие клавиши открытия DevTools на Windows и Mac

  2. Checkpointingcode.claude.com

    /rewind откатывает код и разговор

Нашёл ошибку или устаревший факт? Напиши: hey@iskra.guide