Агент в Cursor · 10 мин

4. Найти и исправить ошибку

Сначала воспроизведение и улики, потом правка. Иначе агент замаскирует симптом нулевой проверкой.

Пока агенты пишут больше кода, вы больше времени тратите на разбор сбоев. Хорошая отладка одинакова для человека и для агента.

  1. Надёжно воспроизвести: шаги, данные, условие.
  2. Урезать пример до минимума.
  3. Менять по одному фактору.
  4. Сформулировать конкретную гипотезу, а не «наверное, в оплате».
  5. Поставить журнал на входе и выходе подозрительного места.
  6. После починки — тест, который поймал бы эту ошибку.
  1. 1Гипотезы
  2. 2Журналы
  3. 3Вы повторяете
  4. 4Разбор следов
  5. 5Точечная правка

Режим Debug сначала собирает улики. Это медленнее «просто почини», зато меньше маскировки симптома.

Простой сбой и сложный

Если есть понятный текст ошибки и стек — вставьте их в чат и укажите, когда это случается. Если сбой плавающий, без сообщения, «то проходит, то нет» — нужен режим отладки: гипотезы, точечные журналы, вы воспроизводите, агент читает следы и только потом правит.

Пример запроса · Стек в чат

Тест падает: Cannot read properties of undefined (reading 'profile') в getProfile. Случается у пользователей, созданных до появления анкеты. Найди причину и исправь.

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

Попробуйте в симуляторе

Включите Debug и опишите сбой. Агент сначала выдвинет гипотезы, а не сразу перепишет код.

Включите Debug и опишите сбой. Агент сначала выдвинет гипотезы, а не сразу перепишет код.

Cursorsrc/PricingService.ts — shop-demo
src/PricingService.ts
1234export function calculateTotal(price: number, discount: number) {
  return price; // скидка пока не учитывается
}

Напишите цель или выберите подсказку внизу.

Debug
⎇ mainCursor Tab