Агентические рабочие процессы: соблюдение задач (предварительная версия)

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

Основными целями функции "Соблюдение задач" являются:

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

Необходимые условия

  • Подписка Azure — Создайте бесплатно
  • Получив подписку Azure, создайте ресурс безопасности содержимого на портале Azure, чтобы получить ключ и конечную точку. Введите уникальное имя ресурса, выберите подписку и выберите группу ресурсов, регион и поддерживаемую ценовую категорию. Затем нажмите кнопку "Создать".
    • Развертывание ресурса занимает несколько минут. После завершения выберите перейти к ресурсу. В области слева в разделе "Управление ресурсами" выберите "Ключ подписки" и "Конечная точка". Конечная точка и любой из ключей используются для вызова API.
  • cURL установлен.

Запрос

Примечание

Пример защитного экрана подсказки см. в разделе экраны подсказок.

Версия API:2024-12-15-preview

Поля в URL-адресе

Имя Обязательно Описание Тип
Конечная точка Да Базовый URL-адрес API безопасности контента. Замените <endpoint> конечной точкой, предоставленной для службы Azure. Строка
Версия API Да Используемая версия API. Для этой функции используется версия 2024-12-15-preview. Пример: <endpoint>/contentsafety/agent:analyzeTaskAdherence?api-version=2024-12-15-preview Строка

Параметры в тексте запроса

Имя Обязательно Описание Тип
Инструменты Да Список инструментов, определяющих функции, которые будут использоваться в задаче. Каждое средство включает тип (например, "функция") и сведения о функции, включая его имя и описание. Массив объектов JSON
Сообщения Да Список сообщений, обменяемых между пользователем, помощником и инструментами. Каждое сообщение включает источник (например, "Запрос", "Завершение"), роль (например, "Пользователь", "Помощник", "Инструмент"), содержимое (текст сообщения) и необязательно toolCalls или toolCallId. Массив объектов JSON

Пример схемы текста запроса

Ниже приведены описания ключевых полей в тексте запроса:

Поле инструментов
Имя Обязательно Описание Тип
Тип Да Тип используемого средства. Для этой функции используется термин "функция" Строка
function.name Да Имя функции. Например, "читать_почту" Строка
функция.описание Да Краткое описание того, что делает функция. Например, "Чтение сообщений электронной почты пользователя" Строка
Поле сообщений
Имя Обязательно Описание Тип
Источник Да Источник сообщения. Возможные значения: "Запрос", "Завершение" Строка
Роль Да Роль, связанная с сообщением. Возможные значения: «User», «Assistant», «Tool» Строка
Содержимое Да Содержимое сообщения. Например, "Суммировать мои сообщения электронной почты" Строка или массив
toolCalls Нет Список вызовов средства, выполняемых агентом, включая тип (например, "function"), function.name, function.arguments и уникальный идентификатор. Массив объектов JSON
toolCallId Нет (Для сообщений инструментов) Идентификатор вызываемого средства. Соответствует идентификатору, указанному во вызове инструмента агента. Строка

Ответ API

После отправки запроса вы получите данные JSON, отражающие анализ, выполненный системой Task Adherence. Эти данные помечают потенциальные уязвимости в рабочем процессе агента. Вот как выглядит типичный результат:

{
  "taskRiskDetected": true,
  "details": "Agent attempts to share a document externally without user request or confirmation."
}
Имя Описание Тип
обнаружен риск задачи Содержит результаты обнаружения рисков для входных данных Логических
Детали Возвращает обоснование при обнаружении риска Строка

Значение true для taskRiskDetected означает обнаруженный риск, в таком случае мы рекомендуем проверить и принять меры, такие как блокировка запроса вызова средства или эскалация с участием человека.

Необходимые условия

Учетная запись Azure. Если у вас его нет, его можно создать бесплатно. Ресурс ИИ Azure.

Настройка и использование соблюдения задач

Чтобы использовать страницу "Безопасность содержимого" , выполните следующие действия:

  1. Перейдите к Azure AI Foundry и перейдите к проекту или концентратору. Затем выберите вкладку "Guardrails + элементы управления " на левой панели навигации и выберите вкладку "Попробовать".
  2. На странице "Попробовать" можно поэкспериментировать с различными функциями Guardrails и элементами управления, такими как текст и содержимое изображения, используя настраиваемые пороговые значения для фильтрации вредного содержимого.
  3. Перейдите к агентическому рабочему процессу и выберите "Соблюдение задач".
  4. Вы можете выбрать один из примеров с согласованными или несогласованными вызовами средств агента или создать собственный пример для проверки соответствия задачам.
  5. Выберите "Запустить тест". Соблюдение задач возвращает флаг риска для каждого примера, и если обнаружен риск, он возвращает причину.

Сценарии пользователей

Поддержка клиентов

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

Пользователя: Конечные пользователи, агенты поддержки и команды по работе с клиентами.

Действие: Пользователь отправляет сообщение чат-боту: "Можешь проверить, сколько данных я использовал в этом месяце?" Помощник планирует вызвать change_data_plan() инструмент. Соблюдение задач обнаруживает несоответствие намерения пользователя (запрос информации) и предлагаемое действие (изменение подписки). Вызов средства может быть заблокирован, а система либо останавливает выполнение, либо запрашивает у пользователя проверку.

Кадровые ресурсы

Сценарий: Корпоративный помощник автоматизирует рутинные кадровые процессы, такие как бронирование отпуска, подача расходов и проверка деталей политики. Следование задачам гарантирует, что действия агента остаются в ожидаемой области и не предпринимаются непреднамеренные упрощенные действия.

Пользователя: Сотрудники, деловые партнеры отдела кадров и команды автоматизации рабочих процессов.

Действие: Сотрудник вводит текст: "Я хочу знать, сколько ежегодного отпуска у меня осталось." Агент планирует вызвать apply_leave(). Соблюдение задач идентифицирует несоответствие задачи— пользователь попросил сведения, а не инициировать процесс. Выполнение блокируется; агент перефразирует или запрашивает подтверждение от пользователя.

Средства повышения производительности

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

Пользователь: Интеллектуальные работники, помощники руководителей и группы по обеспечению IT-соответствия.

Действие: Пользователь делает запрос: "Напишите клиенту электронное письмо о пропущенном дедлайне". Агент создает сообщение и планирует вызвать send_email(). Контроль выполнения задач помечает план как потенциально преждевременный; явных инструкций для отправки нет. Система вместо этого блокирует вызов предполагаемого средства и запрашивает проверку пользователей.

Соблюдение задачности: выверенное и несоответствующее использование инструментов

Сигнал API соблюдения задач помогает разработчикам и владельцам платформ понять, когда вызов средства агента совпадает или отклоняется от намерения пользователя.

Примеры

Классификации Описание Пример
Выровнены Агент получает запрошенные сведения, не выполняя непреднамеренное действие. Пользователя: "Можете ли вы показать мне мои последние события календаря?"
Запланированный инструмент:get_calendar_events()
✅ Агент извлекает события по запросу.

Выход:
{ "taskRiskDetected": false }
Неправильно выровненный Агент пытается изменить параметры пользователя, когда был выполнен только запрос сведений. Пользователя: "Можете ли вы показать мне мои последние события календаря?"
Запланированный инструмент:clear_calendar_events()
❌ Агент готовится к удалению данных.

Выход:
{ "taskRiskDetected": true, "details": "Planned action deletes calendar events, but user only requested to view them."}
Выровнены Агент начинает поток создания документа после запроса пользователей на создание нового документа. Пользователь: "Создайте новый документ предложения для клиента."
Запланированный инструмент:create_document()
✅ Соответствует запросу задачи пользователя.

Выход:
{ "taskRiskDetected": false}
Неправильно выровненный Агент предоставляет общий доступ к документу внешним участникам совместной работы без инструкций пользователя. Пользователь: "Создайте новый документ предложения для клиента."
Запланированный инструмент:share_document()
❌ Нет инструкций пользователя для совместного использования.

Выход:
{ "taskRiskDetected": true, "details": "Agent attempts to share a document externally without user request or confirmation."}

Ограничения

Доступность языка

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

Ограничение длины текста

В настоящее время API соблюдения задач имеет ограничения длины входных данных. Максимальная длина текста составляет 100 000 символов. Если длина входных данных превышает это ограничение, вы получите сообщение об ошибке.

Доступность и обработка данных региона

Хотя соответствие задачам может быть включено во всех регионах безопасности контента Azure AI, данные могут направляться и обрабатываться в других регионах США и ЕС за пределами указанной геозоны.