Як отримати від AI корисне пояснення помилки, а не здогадки

діагностикаповідомлення про помилкутрасування викликівAIналагодження

Практичний шаблон діагностики помилки: що дати AI, що приховати і як перевірити відповідь локально

Почніть із дії, а не з помилки

Один і той самий текст помилки може означати різне. Cannot find module під час локального запуску, у CI і після деплою - це три різні історії. Тому перший рядок контексту має відповідати не “яка помилка?”, а “що я робив?”.

Корисні приклади:

  • запускав npm test після оновлення залежності;
  • відкрив сторінку після деплою на staging;
  • виконав міграцію бази даних;
  • зібрав Docker-образ локально;
  • натиснув кнопку в UI після зміни відповіді API.

Так AI одразу бачить рамку проблеми і не починає пояснювати все підряд.

Додайте середовище і останню зміну

Помилка майже завжди має контекст версій. Для фронтенду це може бути Node.js, npm/pnpm, фреймворк і браузер. Для бекенду - середовище виконання, фреймворк, база даних, ОС, образ контейнера. Для CI - образ runner-а, крок процесу, секрети, кеш і гілка.

Окремо напишіть, що змінилося останнім часом. Навіть якщо здається, що зміна не пов’язана з помилкою. Нова змінна середовища, оновлений пакет, інший базовий образ або маленький рефакторинг часто дають кращу підказку, ніж саме трасування викликів.

Не вставляйте зайве і небезпечне

Повне трасування викликів корисне, але секрети - ні. Перед тим як віддати фрагмент AI, замініть:

  • токени на REDACTED_TOKEN;
  • приватні URL на https://private.example/...;
  • email-и або user id на нейтральні приклади;
  • робочі облікові дані на форму без значення.

AI не потрібен справжній токен, щоб пояснити помилку авторизації. Йому потрібен тип помилки, місце, де вона виникла, і те, що саме було змінено.

Попросіть пояснення, а не тільки fix

Якщо попросити “виправ”, AI може одразу запропонувати широкий рефакторинг. Краще спочатку вимагати коротке пояснення, 2-3 найімовірніші причини і першу локальну перевірку.

Добра відповідь має сказати не тільки “що зробити”, а й чому саме ця причина ймовірна з вашого контексту. Якщо пояснення не прив’язане до версій, команди або останньої зміни, це ще не діагностика.

Коротко

AI погано читає думки, але добре працює з правильно зібраним контекстом. Один рядок помилки змушує його гадати. Дія, середовище, остання зміна і очікувана поведінка перетворюють запит на маленький діагностичний опис.

Не просіть “що це?”. Просіть: “поясни, що це означає саме в цьому контексті, і з чого перевірку почати”.

Короткий чеклист

  • Вставити не тільки один рядок помилки, а й дію, яка її викликала.
  • Додати версії середовища виконання, фреймворку і менеджера пакетів.
  • Пояснити, що змінилося перед помилкою.
  • Приховати токени, приватні URL і персональні дані.
  • Просити AI назвати ймовірність причин, а не одразу писати fix.
  • Перевірити відповідь локально маленькою командою або тестом.

Пояснити повідомлення про помилку без здогадок

Допоможи пояснити цю помилку і знайти найімовірнішу причину без гадання. Контекст: - Що я робив: [команда, дія в UI, запуск тесту, деплой, збірка] - Очікувана поведінка: [що мало статися] - Фактична поведінка: [що сталося] - Повний текст помилки або релевантне трасування викликів: [встав фрагмент] - Середовище: [ОС, середовище виконання, фреймворк, версії, менеджер пакетів] - Що змінилося останнім часом: [нова залежність, конфігурація, змінна середовища, міграція, рефакторинг] - Що я вже пробував: [команди, відкат, очищення кешу, інше] - Що не можна бачити: [секрети, токени, приватні URL - замінені на REDACTED] Поясни: 1. Що ця помилка означає людською мовою. 2. Які 2-3 причини найімовірніші саме з цього контексту. 3. Які причини малоймовірні і чому. 4. Які локальні перевірки або команди запустити першими. 5. Яке мінімальне виправлення або наступний крок спробувати без великого рефакторингу. Формат відповіді: - Коротке пояснення - Найімовірніші причини - Що перевірити першим - Мінімальний наступний крок - Якої інформації ще бракує