agrepl точно воспроизводит запуски ИИ-агентов для отладки
Системы ИИ-агентов, которые соединяют языковые модели с внешними инструментами и API, по своей природе недетерминированы: разброс в сэмплировании модели, изменчивое состояние внешних API, заголовки CDN-инфраструктуры и шум среды выполнения не дают повторно и точно воспроизвести прошлый запуск агента. Существующие платформы наблюдаемости (observability) записывают логи выполнения, но не умеют воспроизводить запуск изолированно, это и есть проблема, которую решает новая работа.
Авторы представили agrepl, CLI-фреймворк для детерминированного воспроизведения запусков агентов, ориентированный на разработчиков. Инструмент перехватывает все внешние взаимодействия агента на транспортном уровне через прокси по схеме «человек посередине» (MITM), сериализует их в структурированные трассы выполнения и затем воспроизводит запуск в строго изолированной среде без какого-либо исходящего сетевого доступа.
В работе формализована модель выполнения агента, введена функция сопоставления запросов по ключу K(s) и математически доказан инвариант детерминированности: при совпадении ключей запросов повтор гарантированно даёт тот же результат. Отдельно предложен алгоритм diff с учётом шума, который делит расхождения в HTTP-заголовках между исходным и повторным запуском на два разряда, значимые («сигнал») и незначимые («шум», например переменные метки времени или ID трассировки).
Эмпирическая проверка проведена на пяти рабочих нагрузках (сценариях использования агентов), суммарно 250 повторных запусков (n = 250). Верность воспроизведения составила F = 1.0, то есть все повторы точно совпали с исходными запусками по значимым данным. Медианное снижение задержки на шаг составило 98.3%, воспроизведение из сохранённой трассы происходит на порядки быстрее живого запуска с реальными сетевыми вызовами.
agrepl написан на Go, распространяется как один статический бинарный файл без внешних зависимостей и выпущен под лицензией MIT.
Ключевые факты
- Проблема: недетерминированность агентных систем (разброс сэмплирования LLM, состояние внешних API, заголовки CDN, шум среды) не даёт воспроизвести прошлый запуск, а существующие observability-платформы только логируют, но не умеют реплеить
- agrepl, CLI-фреймворк на Go: перехватывает все внешние вызовы агента через MITM-прокси на транспортном уровне и сохраняет их как структурированные трассы выполнения
- Повтор запуска происходит в строго изолированной среде без исходящего доступа в сеть, все внешние ответы берутся из сохранённой трассы
- Научный вклад: формальная модель выполнения агента, функция сопоставления запросов по ключу K(s), доказанный инвариант детерминированности и noise-aware diff-алгоритм для HTTP-заголовков (сигнал против шума)
- Проверка на 5 рабочих нагрузках и 250 повторных запусках дала верность воспроизведения F = 1.0 и медианное сокращение задержки на шаг на 98.3%
Почему это важно
Агентные системы на базе LLM трудно отлаживать именно из-за недетерминированности: один и тот же баг может не воспроизвестись при повторном запуске, потому что модель, внешние API и сетевая инфраструктура каждый раз ведут себя чуть иначе. Существующие инструменты наблюдаемости фиксируют, что произошло, но не дают заново прогнать тот же сценарий изолированно и получить тот же результат. agrepl закрывает именно этот разрыв, превращает лог одного запуска в воспроизводимый тест-кейс.
Кому это важно
Разработчикам, которые строят и отлаживают системы ИИ-агентов, инженерам, отвечающим за эксплуатацию таких систем (AgentOps), и командам, которым нужны регрессионные тесты для агентных пайплайнов, то есть возможность гарантированно повторить конкретный сценарий при изменении кода или промптов, не тратя деньги и время на новые живые вызовы внешних API и моделей.
Как это применить
agrepl, открытый инструмент с MIT-лицензией, распространяется как один статический бинарник на Go без внешних зависимостей, то есть его можно поставить и запустить без сложной настройки окружения. Практический сценарий: записать трассу выполнения агента через MITM-прокси во время реального запуска, а затем многократно и бесплатно (без сети) воспроизводить этот же сценарий, для отладки конкретного бага, для регрессионных тестов в CI или для сравнения поведения агента до и после изменений.
Можно ли доверять
Работа доводит инженерное решение до формального уровня: даёт математическую модель выполнения агента и доказательство инварианта детерминированности, а не просто описывает утилиту на словах. Результаты (верность воспроизведения F = 1.0, снижение задержки на 98.3%) получены на эмпирической проверке, 5 рабочих нагрузок и 250 повторных запусков. Это солидная инженерная работа, но охват проверки пока ограничен пятью сценариями, публикация, препринт на arXiv без указания независимого рецензирования, поэтому воспроизводимость результатов на более широком спектре реальных агентных систем ещё предстоит подтвердить.
Риски и подводные камни
MITM-перехват на транспортном уровне может ломаться на API с TLS-пиннингом или другими механизмами защиты от перехвата трафика, которые agrepl не обойдёт без дополнительной настройки. Воспроизведение по сохранённой трассе решает проблему детерминированности сетевых вызовов, но не гарантирует, что реальное поведение внешнего сервиса (лимиты запросов, побочные эффекты, изменившееся состояние на стороне API) при новом живом запуске будет совпадать с записанной трассой, то есть точный повтор в изоляции не равен гарантии того же результата в проде. Оценка проведена авторами на собственном наборе из пяти сценариев, что оставляет открытым вопрос о поведении инструмента на более сложных или нестандартных агентных архитектурах.