Towards AI описал подходы к отказоустойчивости агентных пайплайнов
Длительные агентные сценарии без механизмов отказоустойчивости могут приводить к тому, что после одной ошибки процесс приходится запускать заново. В примере из материала агент обращается к внешнему API, получает ответ 503 на четвёртом из семи шагов и начинает выполнение с начала. Это увеличивает вычислительные расходы и может повторно запускать побочные действия.
Как пишет Towards AI, решить проблему предлагают с помощью подходов из распределённых систем. Среди них: checkpointing для возобновления выполнения, idempotency для безопасных повторных запросов, exponential backoff with jitter для работы с ограничениями API, а также Saga pattern для многошаговых процессов с возможностью корректного отката. В статье эти механизмы реализованы на Python и объединены в SagaRunner, рассчитанный на обработку пяти типов ошибок, встречающихся в production.
В материале также есть пример того, как отказоустойчивость влияет на стоимость работы агентов. Для исследовательского агента из 20 шагов, где каждый вызов LLM стоит 0,05 $, сбой на 19-м шаге без checkpointing приводит к потере 0,95 $ вычислительных затрат. Если использовать checkpointing, повторно выполняется только последний шаг, и потери снижаются примерно до 0,05 $.
Ключевые факты
В статье рассматриваются checkpointing, idempotency, exponential backoff with jitter и Saga pattern.
Saga pattern в материале связан с работой Garcia-Molina & Salem 1987 года.
Для агента из 20 шагов при стоимости вызова LLM в 0,05 $ сбой на 19-м шаге без checkpointing приводит к потере 0,95 $.
При 1000 запусков агента в день и 10% уровне ошибок на шагах потери на API без checkpointing оцениваются в 95 $ в день против 5 $ при использовании механизма восстановления.