Что такое управление ИИ-агентами и почему оно важно?

Источник: Telerik Blogs•

Что такое управление ИИ-агентами и почему оно важно?

Управление ИИ-агентами устанавливает ограничения времени выполнения для того, к чему агенты могут получать доступ и что могут делать. Наблюдаемость помогает показать, что произошло и почему.

Управление ИИ-агентами устанавливает ограничения времени выполнения для того, к чему агенты могут получать доступ и что могут делать. Наблюдаемость помогает показать, что произошло и почему.

Когда ИИ-агент совершает дорогостоящую ошибку, что показывает ваш журнал ошибок? Вероятно, меньше, чем вам хотелось бы.

Допустим, вы предоставляете ИИ-агенту доступ к вашей очереди техподдержки и системе возврата средств. Он читает жалобу, проверяет аккаунт клиента и отправляет возврат в размере 25 долларов. В следующем тикете в запрос проникает некорректное значение, и сумма возврата составляет уже 2500 долларов. Ничего не падает и не срабатывает никаких оповещений, потому что ваше приложение сделало ровно то, что вы ему разрешили.

Никто не проверял этот возврат перед его отправкой, потому что агент сам выбрал действие и сумму. Хороший промпт и проходящий набор тестов не могут подсказать вам, что агент сделает во время своего следующего запуска. Скорее всего, вашей команде нужен способ определять, что разрешено делать каждому агенту, следить за тем, что он делает на самом деле, и пресекать неверное действие до того, как оно дойдет до клиента.

Что такое управление ИИ-агентами?

Управление ИИ-агентами — это способ контроля того, что разрешено делать ИИ-агенту. Агент использует ИИ-модель для выбора и выполнения множества шагов на пути к цели, таких как запрос к базе данных, вызов API или обновление записи. Как только программное обеспечение получает способность действовать, каждый инструмент и каждая учетная данность, которыми оно располагает, становятся частью модели рисков вашего приложения. Системный промпт со словами «пожалуйста, не делайте крупных возвратов» — это пожелание, а не элемент контроля.

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

Эти средства контроля находятся в контрольной точке между агентом и вызываемыми им инструментами, которую обычно называют уровнем управления. В агенте техподдержки, который осуществляет возвраты, уровень управления видит вызов issue_refund, идентификатор агента и сумму в 2500 долларов, после чего возвращает отказ (deny) еще до того, как API возврата получит запрос.

Функция «Управление» в структуре управления рисками ИИ от NIST (NIST AI Risk Management Framework’s Govern function) распределяет роли, политики и мониторинг по всему жизненному циклу ИИ. Проектирование агентов (agent engineering), то есть процесс создания и запуска агентов в продакшене, внедряет эти политики непосредственно в путь выполнения запросов.

Чем управление ИИ-агентами отличается от наблюдаемости?

Управление определяет, что агенту разрешено делать до того, как он совершит действие. Наблюдаемость фиксирует то, что он сделал. После запуска наблюдаемость предоставляет вам трассировку, показывающую запрос к модели, вызовы инструментов, задержку (лаг), использование токенов, ошибки и конечный результат. Семантические соглашения OpenTelemetry (OpenTelemetry semantic conventions) задают общие имена для трассировок, метрик и событий.

Допустим, агент техподдержки предлагает возврат в размере 2500 долларов. Наблюдаемость фиксирует вызов issue_refund агентом с указанием суммы и результата. Управление проверяет этот предлагаемый возврат на соответствие политике до того, как запрос достигнет API возврата.

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

Что контролирует управление ИИ-агентами во время выполнения?

Во время выполнения управление контролирует каждый вызов инструмента до того, как он попадет в ваши системы. Когда агент техподдержки вызывает issue_refund с суммой в 2500 долларов, уровень управления проверяет идентификатор агента, запрашиваемый инструмент, целевой ресурс, аргументы и затраты, которые запуск накопил к текущему моменту. Затем он возвращает один четкий результат: разрешение (allow), отказ (deny) или требование утверждения (approval_required).

Избыточный доступ — это хорошо известный способ сбоя в работе агентов. OWASP identifies excessive functionality, permissions and autonomy as root causes of Excessive Agency, и ограничение этой самостоятельности требует совместной работы нескольких средств контроля:

  • Выделенная идентичность заменяет общие учетные данные сервиса.
  • Права доступа к инструментам разрешают только те операции, которые необходимы для данного варианта использования.
  • Проверки аргументов изучают сумму возврата, целевой аккаунт и классификацию данных.
  • Правила утверждения приостанавливают действия, имеющие финансовые или юридические последствия.
  • Лимиты на один запуск ограничивают вызовы модели, токены, время и затраты.

Полезный совет: применяйте политику там, где вызов инструмента агента пересекает границу вашего приложения. Промпт может лишь просить модель вести себя определенным образом, в то время как запрос API — это то, что уровень управления может реально проинспектировать и остановить.

В случае с возвратом средств идентичность сообщает уровню управления, какой именно агент сделал запрос. Права доступа к инструментам подтверждают, что issue_refund доступен этому агенту. Затем проверка аргументов сравнивает 2500 долларов с порогом утверждения и приостанавливает возврат. Когда вы открываете информацию о запуск, вы можете видеть, почему возврат был остановлен, без необходимости сопоставлять временные метки в трех разных системах.

Вам не обязательно создавать каждую из этих проверок самостоятельно. Progress Agent Engineering, платформа Progress для наблюдения, оценки и управления агентами в продакшене, предлагает возможности управления агентами, включая политики агентов, оповещения, проверку человеком и аудитирование. Политики агентов устанавливают границы для стоимости, качества, безопасности, защищенности, моделей, инструментов и контекста.

Почему управление ИИ-агентами важно для разработчиков?

Управление важно для разработчиков, потому что ваши тесты не могут охватить каждый путь, по которому идет агент. Модульные тесты охватывают те пути, выполнение которых вы предусмотрели, но агент выбирает свой путь на основе вывода модели, извлеченных данных и ответов инструментов, которые меняются от запуска к запуску. Тесты выявляют известные сбои, а трассировки объясняют инцидент задним числом. Ни то, ни другое не может отозвать платеж, который уже ушел.

Управление ограничивает то, к чему может получить доступ неожиданный путь. Ваш агент техподдержки может автоматически прочитать аккаунт и составить черновик ответа, в то время как возврат на сумму свыше 100 долларов приостанавливается для утверждения. Ваш агент-программист может редактировать ветку функции и открывать pull request, однако у его учетной записи отсутствуют права на отправку изменений в main или запуск продакшн-деплоя.

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

Ограничение того, что разрешено делать каждому агенту, помогает минимизировать ущерб от неожиданного сценария, а запись решения политики вместе с трассировкой дает вашим проверяющим доказательства после завершения работы. Регулирующие органы тоже ожидают наличия таких доказательств. Для высокорисковых систем ИИ Article 14 of the EU AI Act требует эффективного надзора со стороны человека. Article 12 of the EU AI Act добавляет автоматическое логирование событий для целей ведения учета.

Помимо таких высокорисковых систем, проверяющим по-прежнему необходимо знать, какая именно идентичность действовала в рамках какой политики и кто одобрил исключение. Agent Engineering частично закрывает эту потребность. Проверка человеком передает на эскалацию чувствительные, рискованные или неуверенные запуски с сохранением полного контекста выполнения, а аудит сохраняет промпты, вызовы моделей, инструменты, затраты и статусы проверки для последующего расследования.

Как разработчикам начать управлять ИИ-агентами?

Начните управлять ИИ-агентами в интерфейсе, который ваша среда выполнения агентов или платформа предоставляет вашему приложению, обычно через комплект средств разработки (SDK). В коде вашего приложения должны быть четко видны четыре элемента:

  • Регистрация инструментов наделяет issue_refund собственной областью разрешений, отдельной от read_customer и draft_reply.
  • Оценка политики возвращает разрешение (allow), отказ (deny) или требование утверждения (approval_required), а также идентификатор решения, который обрабатывается вашим приложением.
  • Выходные данные трассировки содержат информацию о вызывающем пользователе, идентичности агента, версии модели и промпта, аргументах инструментов, решении политики, записи об одобрении, результате, задержке и стоимости. Конфиденциальные значения не попадают в телеметрию.
  • Поведение при отказе останавливает вызов инструмента и переводит пользователя в безопасное состояние приложения.

Предупреждение: Если проверка политики завершается по тайм-ауту, действие должно оставаться заблокированным до подтверждения авторизации. Отсутствие решения не должно рассматриваться как разрешение на продолжение.

Записи об идентификации, политике и трассировке, которые ваше приложение уже обрабатывает, также могут поддерживать систему управления ИИ, описанную в ISO/IEC 42001. Расширяйте полномочия агента только после того, как каждое правило разрешений и одобрения становится применимым, а решение его политики отображается в трассировке. Чистый ответ API доказывает лишь то, что запрос был принят, но не то, что агент имел полномочия на его отправку.

Вернемся к этому возврату средств на сумму 2500 долларов. На следующем совещании по проектированию агента проследите путь вызова issue_refund от разрешений SDK через результат политики до трассировки и убедитесь, что запрос останавливается на пороговом значении одобрения, а не попадает на счет клиента.

Progress Agent Engineering помогает внедрить управление на практике с помощью политик доступа к моделям и инструментам, оповещений о превышении порогов стоимости или качества и флагов проверки человеком для критически важных запусков — с записями трассировки для расследования и аудита.Get Started

Progress Agent Engineering помогает внедрить управление на практике с помощью политик доступа к моделям и инструментам, оповещений о превышении порогов стоимости или качества и флагов проверки человеком для критически важных запусков — с записями трассировки для расследования и аудита.

Get Started

О чём эта статья

Ещё в разделе «Разработка ПО»

Все →

Ещё от Telerik