Flight recorder для AI-агентов: чёрный ящик, который показывает, где именно агент облажался
Знакомая ситуация: AI-агент работал, а потом — нет. И никто не знает почему.
У обычного кода есть стек-трейс. У агента — цепочка из десяти tool calls, где каждое решение зависит от предыдущего контекста. Воспроизвести баг — квест. Понять, что пошло не так — археология.
Flight recorder решает это в лоб: записывает **каждый шаг** агента с полным контекстом. Промт, ответ модели, результат tool call, временная метка. Всё.
Что появилось в v2.8.5
Три вещи, которые меняют workflow дебаггинга.
Структурированный diff между прогонами
Берёшь успешный прогон (пятница, всё работало). Берёшь неуспешный (понедельник, всё сломалось). Flight recorder показывает семантический diff: на каком шаге поведение разошлось, какие аргументы изменились, какой контекст привёл к другому решению.
Реальный кейс: агент обработки заявок перестал обрабатывать определённый тип. Diff за 3 минуты показал — API изменил формат ответа. Не агент сломался. Данные изменились.
Временные метки на каждый tool call
С точностью до миллисекунд. Видно, где агент «зависает». Если между вторым и третьим вызовом проходит 45 секунд вместо обычных 2 — проблема очевидна. Таймаут API, перегруженный контекст, что-то ещё — но ты знаешь, куда копать.
Экспорт в JSON
Прогоны выгружаются в структурированный JSON. Можно:
- Гонять скрипты по сотням прогонов, искать паттерны отказов
- Кидать в Grafana или Datadog
- Делать регрессионные тесты: сохранил эталон → изменил промт → сравнил
- Отправить коллеге файл вместо объяснения «на четвёртом шаге он зачем-то вызвал не тот тул»
Когда это реально нужно
Flight recorder — не для каждого агента. Если у вас один tool call и один шаг — это из пушки по воробьям.
Нужен, когда:
- Агент делает больше 3 шагов
- Есть внешние API
- Работает в продакшне
- Ломается «иногда» и воспроизвести не удаётся
Чем это отличается от LangSmith и Langfuse
LangSmith и Langfuse — мониторинг. Они показывают, **что** произошло.
Flight recorder — расследование. Он показывает, **почему здесь пошло не так, а вчера шло нормально**. Ключевое отличие — семантический diff между прогонами. Ни LangSmith, ни Langfuse этого не умеют.
Инструменты комплементарны, не конкурентны.
Итого
Дебаггинг AI-агентов — пока дикое поле. Мы привыкли к стек-трейсам, брейкпойнтам и пошаговой отладке. С агентами это не работает: каждый прогон — уникальная цепочка решений.
Flight recorder не делает агента умнее. Он делает его отказы **понятными**. И в продакшне разница между «не знаю, почему сломалось» и «сломалось из-за таймаута на третьем шаге» — это разница между часами и минутами.
**У вас уже есть инструмент для расследования отказов агентов, или пока всё на уровне «перечитать логи и помолиться»?**