Как отлаживать AI-агентов не сжигая бюджет: replay debugger для LangChain
AI-агент падает на шаге 7 из 9 — и вы перезапускаете всё с нуля, сжигая деньги на токенах каждый раз. Flight Recorder кэширует успешные шаги и перезапускает только сбойный.
Пятница, вечер. Мой агент на LangChain — цепочка из девяти шагов: парсинг документа, извлечение сущностей, классификация, обогащение из базы знаний, генерация саммари, проверка качества, форматирование, пост-обработка, отправка. Шаг 7 падает с ошибкой валидации. Я фиксю промпт, запускаю заново. Все девять шагов — с нуля. Три минуты ожидания. $1.80 на токенах. Шаг 7 опять падает — другая ошибка. Фикшу. Запускаю. Ещё $1.80. Ещё три минуты.
За вечер отладки я потратил $14 и 40 минут чистого ожидания на шаги 1-6, которые работали идеально с первого раза.
Это фундаментальная проблема отладки AI-агентов: каждый перезапуск — полный прогон с начала. Нет точек сохранения. Нет replay. Каждый LLM-вызов стоит денег и времени, и при отладке одного шага вы платите за все предыдущие — снова и снова.
В обычной разработке это как если бы при каждом баге в функции приходилось перезапускать всю программу с компиляции. Абсурд — но именно так сегодня работает отладка агентов.
Идея: Flight Recorder
Концепция простая. Бортовой самописец (flight recorder) записывает входы и выходы каждого шага агентного workflow. При перезапуске — успешные шаги не выполняются заново, а воспроизводятся из кэша. Реально вызывается только сбойный шаг и всё, что после него.
Второй запуск стоит не $1.80, а $0.50 — только шаги 7-9. Время — не три минуты, а 40 секунд. При десяти итерациях отладки — $5 вместо $18, 7 минут вместо 30.
Реализация: три компонента
Компонент 1: Step Recorder
Компонент 2: Smart Replay Logic
Компонент 3: интеграция с LangChain
Тонкости, которые ломают наивную реализацию
Недетерминированность LLM: в режиме debug используйте temperature: 0 — результат стабильный, кэш валидный.
Побочные эффекты: разделяйте шаги на pure (трансформация данных) и impure (побочные эффекты). Pure реплеятся, impure всегда выполняются.
Изменение промпта: включайте хэш промпта в ключ кэша — изменили промпт, хэш другой, кэш невалиден, шаг перезапускается автоматически.
Разветвлённые графы (LangGraph): кэшируйте по (node_name, input_hash), а не по порядковому номеру.
Экономика
Агент из 9 шагов, 4 LLM-вызова (GPT-4o):
- Без Flight Recorder: 10 итераций = $18.00, ~30 минут
- С Flight Recorder: 10 итераций = $6.30, ~12 минут
Экономия 65% бюджета и 60% времени на одну сессию отладки.
Итог
Отладка AI-агентов дорогая не потому, что LLM-вызовы дорогие, а потому что при каждой итерации вы оплачиваете шаги, которые уже работали. Flight Recorder решает именно эту проблему: записал → воспроизвёл → заплатил только за то, что реально нужно было перезапустить.
Три файла Python, один вечер на настройку. После этого каждый invalidate_from("broken_step") экономит 60-90% бюджета на итерацию.
- мультиагентные системы