У ИИ-агентов, вызывающих функции (function calling, tool use), есть ошибка, которую не видит ни одна из обычных защит. Агент вызывает функцию при невыполненном условии ее применения, когда оно прямо ему не названо, и сообщает об успехе, не называя препятствия. Такую ошибку не замечают проверка схемы, система, отчет самого агента, подтверждение оператора и существующие наборы проверок.В статье описана методология, которая находит такие ошибки и для каждой указывает место: какое условие нарушено, в каком формате дано поручение и что агент при этом сказал.Создавая методологию, мы опирались на две общие идеи – о том, что в основе каждого действия лежит некоторое основание, включающее побудительный шаг и условия, при которых произвести действие допустимо, и что правило не содержит правила своего применения, а потому все условия в промпт и схему функции не допишешь, и проверять приходится поведение агента.Методологию проверяли на трех учебных примерах и пяти конфигурациях моделей, всего более 4200 испытаний, по 10 попыток на ситуацию. К научной чистоте эксперимента мы пока не стремились, делали проверку методологического подхода, поэтому числа в статье имеют характер наблюдения и иллюстрации, это не оценки частот и не строгая доказательная статистика. Основные результаты приводим по Gemini 3.6 Flash через RouterAI (интерфейс, совместимый с OpenAI API) с температурой 1.0 – эта конфигурация записана полностью: модель, канал доступа, температура и дата прогона, 27.09.2026. Тот же стенд прогоняли на Claude в веб-интерфейсе. Там нельзя задать версию модели и температуру, а поверх нашего промпта действует системный промпт интерфейса. Поэтому числа для модели Claude приводим только для сравнения – там, где они показывают другой механизм той же ошибки. Читать далее