ИИ-агенты демонстрируют резкое улучшение результатов, если дать им явное разрешение на повторный запуск инструментов — автор обнаружил, что простая смена формулировки подняла показатель успешного исправления ошибок с 0,16 до 1,00. Этот результат, получивший название «action-licensing», показывает, что подталкивание агента к проверке своей работы может быть гораздо эффективнее, чем простое повторное изложение цели.
Почему это исправление важно
ИИ-ассистенты, способные вызывать внешние инструменты (базы данных, калькуляторы, API), все чаще используются в бизнес-процессах. Когда такие агенты ошибаются, ошибка часто незаметно распространяется дальше, выдавая неверные ответы без явных признаков сбоя. Надежный способ вмешательства без переписывания всего промпта может сэкономить разработчикам время и предотвратить дорогостоящие ошибки в рабочих системах.
Как проявляются ошибки
Автор выделил два распространенных и малозаметных паттерна сбоев:
Пропуск поиска (Skipped Lookup) — агент понимает, что ему нужно извлечь информацию (например, имя менеджера по ID), но вместо вызова инструмента поиска просто выдумывает ответ. Поверхностный ответ выглядит правдоподобно, но фактическая основа отсутствует.
Подтвержденная бессмыслица (Validated Nonsense) — агент передает некорректные или неверные данные в инструмент. Инструмент возвращает результат без ошибки, и агент воспринимает этот результат как подтверждение, фактически одобряя собственную ошибку.
Оба паттерна оставляют пользователя с уверенным, но неверным ответом, и они не вызывают привычных признаков зацикливания или отсутствия ответа, на которые обычно обращают внимание разработчики.
Эксперимент
Чтобы измерить, как различные промпты влияют на исправление ошибок, автор провел контролируемый тест с использованием эталонных ответов (без использования оценки на базе LLM). Сравнивались два типа подсказок:
Подсказка «только цель» — «Ответом должно быть имя менеджера». Показатель восстановления: 0,16.
Подсказка «action-licensing» — «Ответом должно быть имя менеджера. Используй инструменты для проверки». Показатель восстановления: 1,00 (все ошибочные запуски были исправлены).
Единственным отличием было явное разрешение на повторное выполнение инструмента. Второй промпт дал агенту понять, что он может вернуться назад, получить недостающие данные и перезаписать свой предыдущий вариант. Это разрешение превратило в основном неэффективную подсказку в гарантированное исправление для протестированных случаев.
Что говорят цифры
Скачок с 0,16 до 1,00 говорит о том, что препятствием для исправления было не понимание агентом цели, а его воспринимаемая свобода действий. Когда промпт говорит модели «ты можешь попробовать еще раз», она воспринимает ситуацию как новую подзадачу, а не как тупик, что позволяет перезапустить цепочку вызовов инструментов.
Ограничения исправлений только через промпты
Эксперимент также выявил сценарии, в которых одни только промпты не могут спасти агента:
Если последующий инструмент молча принимает некорректные входные данные и возвращает значение, у агента нет сигнала о том, что его данные были неверны. Никакое изменение формулировок не заставит его обнаружить ошибку; сам инструмент должен обеспечивать валидацию входных данных или выдавать ошибку.
Агенты, которым в принципе трудно вызывать инструменты, никогда не получат выгоды от инструкции «используй инструменты», так как базовая способность к этому отсутствует. Тестирование исправления на таких моделях смешивает оценку промпта с базовой способностью модели к вызову инструментов.
Практические рекомендации для разработчиков
Давайте разрешение — когда вы вмешиваетесь, явно говорите агенту, что он может повторить вызов инструмента или пересчитать данные. Простое повторение желаемого результата часто оставляет агента на его первоначальном ошибочном пути.
Защищайте инструменты — внедряйте проверки входных данных и четкие сообщения об ошибках в инструменты, которые использует агент. Это предотвратит прохождение «подтвержденной бессмыслицы».
Обнаруживайте на ранних этапах — чем раньше замечена ошибка, тем легче промпту на повторное выполнение будет сработать. Мониторинг несоответствий между ожидаемым и фактическим использованием инструментов может запустить промпт исправления в нужный момент.
Проверяйте возможности модели — прежде чем полагаться на исправление через промпты, убедитесь, что модель в принципе способна надежно вызывать инструменты. В противном случае вы можете измерять эффективность промпта на «сломанном фундаменте».
Итог: Предоставление ИИ-агенту явного разрешения на переделку своей работы может превратить половинчатое исправление в полное восстановление корректности. Разработчикам промптов следует рассматривать фразу «используй инструменты для проверки» как предохранительный клапан, а не как необязательное украшение.
