Минимизируй repro для бага: {{bug}}.
Зачем
- Маленький repro → быстрее дебаг
- Помогает понять root cause (часто понимаешь по ходу минимизации)
- Можно отправить в issue / поддержку
- Превращается в regression-тест
Алгоритм (binary search)
1. Зафиксируй baseline
Что точно воспроизводит баг сейчас? Запиши шаги.
- Open /dashboard
- Click "New project"
- Type "abc"
- Click Save
→ 500 error
2. Изолируй слой
Найди в каком слое баг:
- Frontend? Воспроизведи без бэка (mock API)
- Backend? Воспроизведи без фронта (curl)
- БД? Воспроизведи на test-DB
- Сеть? Проверь без CDN/прокси
Каждый раз половину тестируемой системы убирай.
3. Минимизируй данные
Текущие данные сложные? Уменьшай:
- Большой массив → 2 элемента, потом 1
- Длинная строка → 1 символ
- Сложный объект → только обязательные поля
- 1000 записей в БД → 1
- Длинный сценарий → один шаг
4. Минимизируй код
В коде иди по строкам и убирай:
- Все try/catch
- Все логи
- Все условные ветки кроме идущей к багу
- Все асинхронные обёртки если можно синхронно
Каждое удаление: запускай → баг ещё есть? Да — продолжай. Нет — верни.
5. Минимизируй окружение
- Запусти на чистом node без проекта
- Удали все зависимости кроме нужных
- Свежий .env с минимальными переменными
- Без cache, cookies, localStorage
6. Целевой репро
// minimal.ts - reproduce bug in <50 LOC
import { thing } from './thing';
const result = thing({ key: 'value' });
console.log(result);
// Expected: 'foo'
// Actual: undefined
Можно скопировать в clean репо → баг должен воспроизводиться.
7. Bisect (если git)
Если знаешь когда работало:
git bisect start
git bisect bad # HEAD сломан
git bisect good v1.0 # тогда работало
# git автоматически проводит binary search
Найдёт коммит который ввёл баг.
Хороший минимальный repro
- < 100 строк
- < 5 файлов
- Без внешних зависимостей где можно
- Запускается одной командой
- Чёткое "expected" vs "actual"
Анти-паттерны
- "Иногда работает, иногда нет" → найди что делает разницу
- Repro работает только на твоей машине → environment-зависим, нужна изоляция
- Repro 200 строк → недоминимизирован
В конце дай
- Минимальный repro как код
- Точные шаги воспроизведения
- Expected vs actual
- Окружение (версия Node/браузера, OS)
Похожие промты
agents / debugging
Постмортем агентского сбоя
Разобрать почему агент справился плохо, и сформировать конкретные правки в промт.
agentsdebuggingpost-mortem
Открыть
Начальный15-30 мин
agents / debugging
Зацикливание агента
Почему агент крутится в цикле tool calls и как остановить.
agentsdebuggingloops
Открыть
Начальный15-30 мин
agents / debugging
Анализ trace агента
Разобрать trace агентской сессии: timeline tool calls, latency per step, поиск loops, redundant calls, missed tools, hallucinated args. Формат отчёта.
debuggingtraceobservability
Открыть
Продвинутый30-60 мин