Журнал · Rit.work

LeanGuard проверяет действия ИИ-агента до вызова инструмента

LeanGuard переносит контроль ИИ-агента на границу вызова инструментов: сверяет действие с формальной политикой, объясняет отказ и может доказать допустимость исправления.

Rit.work
Студия разработки
4 ноября 2026 г.4 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

Запрещённые политикой вызовы инструментов ИИ-агента можно отсекать до того, как они изменят данные во внешней системе. В не прошедшем рецензирование препринте, где все числа получили сами авторы, LeanGuard не исполнил ни одного вызова, который запрещала его формальная политика на τ2-bench. Для продукта это отделяет способность модели рассуждать от её права отправлять платежи, менять заказы или обновлять учётные записи.

Проверка стоит между моделью и инструментом

LeanGuard не меняет интерфейс агента. Модель получает обычные схемы инструментов и формирует структурированный вызов, но сервер перехватывает его до исполнения. Отдельный адаптер читает актуальное состояние системы, проверяет аргументы и собирает факты, которые нужны политике.

Текст от модели и содержимое ответа инструмента считаются недоверенными. Если в найденной заметке написано, что клиент уже подтвердил перевод, это не становится разрешением. Подтверждение должно поступить из доверенного канала, относиться к конкретному действию и версии данных, а после использования перестать действовать.

Политику пишут на Lean 4. Она включает проверки текущего состояния и правила по истории: например, ресурс нужно сначала прочитать, клиент должен ранее подтвердить именно эту операцию, а одноразовое действие нельзя повторять. Историю можно ограничить конкретным пользователем, диалогом или ресурсом, чтобы действие с одним заказом не разрешало изменение другого.

Для каждого вызова политика задаёт разрешения, обязательные условия и прямые запреты. Наличие общего разрешения не отменяет невыполненное условие. Если данных не хватает, аргумент разобран неправильно или проверка завершилась ошибкой, LeanGuard запрещает вызов: отсутствие свидетельства не превращается в разрешение.

Исполняемый алгоритм проверки сопоставили с независимым описанием политики в темпоральной логике — логике условий, зависящих от последовательности событий. Lean проверяет доказательство при сборке политики, а не строит его заново для каждого запроса. Гарантия относится к границе исполнения: если адаптер верно передаёт состояние, политика описана правильно, а все значимые инструменты проходят через монитор, запрещённый переход не попадёт во внешнюю систему.

Разрешённый вызов сначала записывается в журнал как зарезервированный, а затем отправляется инструменту. Это закрывает промежуток, в котором агент мог бы повторить одноразовую операцию, пока результат первой ещё неизвестен.

Отказ помогает модели исправить действие

После блокировки LeanGuard может вернуть не только сообщение об отказе, но и идентификатор нарушенного правила, факты проверки и подсказку обычным языком. Например, агент узнает, что перед обменом товара нужно запросить подтверждение клиента. Формальную часть определяет политика; текстовая подсказка лишь объясняет её модели и сама не считается доказательством.

Есть и второй путь: Lean перебирает заранее заданные допустимые изменения аргументов. Если агент пытается потратить больше остатка бюджета, поиск может уменьшить сумму, но только когда такое изменение сохраняет намерение пользователя. Исправленный вызов возвращается вместе с доказательством, что политика его допускает, а перед исполнением всё равно проходит обычную проверку с актуальным состоянием.

На DTap доля успешных прямых атак через подсказки снизилась с 57,9% до 5,9%. Для отказов, вызванных значениями аргументов, поиск доказал допустимое исправление в 88 из 252 случаев; медианное время составило 2 мс. Однако исправления проверяли на ранее записанных отказах: действующая среда пока не передаёт их агенту во время задачи.

Проверка охватила пять моделей Qwen на задачах τ2-bench для розницы, авиаперевозок и связи, а также семь прикладных областей DTap. Сравнивали работу без защиты, простой запрет и запрет с объяснением; задачи были англоязычными, а пользователей имитировала программа. В DTap использовали режим без разрешений на запись, поэтому эти результаты лучше отражают защиту систем, где агенту в основном разрешено читать данные.

Архитектура меняет планы для агентов с правом записи

Работа предлагает не улучшать системную подсказку, а вынести право на действие из модели. Такой слой имеет смысл планировать отдельно от агента: схема доверенных фактов, журнал событий, версия состояния и перехват всех вызовов становятся частью серверной архитектуры. Без них доказанная политика не контролирует фактический переход.

Для прототипа, который только ищет информацию, LeanGuard добавит формализацию и поддержку адаптеров без явной пользы. Для агента, который меняет бронирования, проводит возвраты или управляет доступом, подход даёт более жёсткую границу: модель может ошибиться в рассуждении, но её ошибка не обязана стать операцией во внешней системе.

Цена этой границы — ручная работа над спецификацией. Доказательство подтверждает соответствие исполняемой проверки записанным правилам, но не замечает пропущенное бизнес-условие, неверный адаптер или инструмент, который обходит монитор. Ответы модели в свободной форме также остаются вне контроля: LeanGuard управляет вызовами инструментов, а не содержанием текста.

Поэтому работу пока стоит рассматривать как архитектурный образец, а не готовую замену прикладной авторизации. Практический порядок выглядит так: сначала определить критичные переходы и доверенные источники фактов, затем поставить запрет по умолчанию на границе инструментов, после этого добавить объяснения отказов. Поиск доказанных исправлений имеет смысл подключать последним, когда команда ограничила набор допустимых изменений и научилась проверять, что они сохраняют намерение пользователя.

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

← Ко всем материалам
Понравилось? Обсудим вашу задачу