Использование ИИ-агентов на практике: анализ сбоев по трассировке
Ваш ИИ-агент не падает. Он сообщает об успехе. Но ваш банковский счет показывает ошибку.
Был оформлен возврат средств за заказ, который так и не был отменен. У клиента остались и товар, и деньги. Агент считал, что выполнил свою задачу.
Не спешите переходить на более мощную модель. Не пытайтесь просто добавить цикл повторных попыток (retry loop). И то, и другое — лишь гадание на кофейной гуще.
Вместо этого изучите трассировку (trace). Агент уже записал всё, что он сделал.
Хорошая рабочая трассировка фиксирует каждый шаг цикла. Она должна показывать:
- Что агент наблюдал
- Что он решил
- Какой инструмент он вызвал
- Что вернул инструмент
- Проверочное чтение из первоисточника (source of truth)
- Конечное состояние и стоимость
Самое важное — это разрыв между ответом инструмента и проверочным чтением. Инструмент может ответить «принято», но это не значит, что мир изменился. Проверочное чтение покажет вам, произошло ли изменение на самом деле.
Сбои обычно делятся на две группы:
- Ошибки выполнения (Execution Failures)
- Ошибки инструментов: неверные аргументы или таймауты.
- Ошибки рассуждений: модель выбрала неверное действие.
- Ошибки управляющего состояния: агент верит лжи. Он считает, что заказ отменен, потому что так сказал инструмент, даже если база данных утверждает обратное.
- Структурные ошибки цикла (Structural Loop Failures)
- Деградация контекста: агент теряет нить повествования.
- Зацикливание (Loop runaway): агент повторяет шаги без прогресса.
- «Тихие» зависания (Silent stalls): агент зависает без ошибки. Вам понадобится «сторожевой таймер» (watchdog), чтобы расценивать молчание как сбой.
Когда вы обнаружите сбой, не стоит просто повторять попытку. Повтор (retry) — это стратегия, а не диагностика.
- Если это временная ошибка, например таймаут, — повторите попытку.
- Если это логическая ошибка, повторные попытки лишь потратят ваш бюджет, ударяясь в ту же стену.
- Если агент сталкивается с препятствием, остановитесь и сообщите человеку.
Лучший способ исправить сбой — превратить его в тест.
Используйте трассировку для написания проверяющего алгоритма (grader). Если агент не смог подтвердить отмену, напишите тест, который выдает ошибку, если возврат средств происходит без подтвержденного статуса «отменен». Превратите сбои, за которые вы уже заплатили, в сбои, за которые вам больше никогда не придется платить дважды.
Optional learning community: https://t.me/GyaanSetuAi
