Проблема: почему AI-агенты невозможно отладить
Системы AI-агентов, сочетающие LLM с внешними API, по своей природе недетерминированы. Вариации семплинга, состояние внешних сервисов, заголовки CDN и шум среды выполнения делают невозможным точное воспроизведение предыдущего запуска агента. Существующие платформы наблюдаемости (observability) фиксируют логи, но не позволяют изолированно воспроизвести выполнение, что критически затрудняет отладку.
Решение: agrepl и MITM-прокси
Авторы представляют agrepl — фреймворк для разработчиков на Go, обеспечивающий детерминированный реплей. Инструмент перехватывает все внешние взаимодействия на транспортном уровне с помощью MITM-прокси, сериализует их в структурированные трассы выполнения и воспроизводит в строго изолированной среде с полным запретом исходящего сетевого доступа.
Ключевые технические элементы:
- Формализованная модель выполнения агента.
- Функция сопоставления ключей запросов
K(s). - Доказанное инвариантное свойство детерминизма.
- Алгоритм дифференциации, чувствительный к шуму, разделяющий расхождения HTTP-заголовков на уровни «сигнал» и «шум».
Результаты: точность и скорость
Эмпирическая оценка проводилась на пяти рабочих нагрузках (всего 250 экземпляров реплея). Результаты демонстрируют абсолютную верность воспроизведения и значительное ускорение отладки.
| Метрика | Значение | Комментарий |
|---|---|---|
| Верность реплея (Fidelity, F) | 1.0 | Полное совпадение поведения агента при воспроизведении |
| Медианное снижение задержки на шаг | 98.3% | Колоссальное ускорение отладки за счет отсутствия реальных сетевых запросов |
| Количество тестовых экземпляров | 250 | Оценка на 5 различных рабочих нагрузках |
Почему это важно
agrepl решает фундаментальную проблему воспроизводимости в AI-инженерии. Возможность гарантированно воспроизвести сбой или успешный сценарий работы агента без зависимости от внешних сервисов позволяет разработчикам находить баги в логике LLM и цепочках вызовов инструментов, а не в нестабильности сети. Инструмент выпущен под лицензией MIT, поставляется в виде единого статического бинарного файла и готов к интеграции в CI/CD пайплайны.
Источник: arXiv cs.AI ↗
