Оценщики агентов

Important

Элементы, помеченные (предварительная версия) в этой статье, в настоящее время находятся в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или могут иметь ограниченные возможности. Дополнительные сведения см. в разделе Supplemental Terms of Use for Microsoft Azure Previews.

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

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

Foundry предоставляет встроенные вычислители агентов, которые выполняют такие функции, как модульные тесты для агентических систем, они принимают сообщения агента в качестве входных и выходных двоичных показателей Pass/Fail scores (или масштабируемые оценки, преобразованные в двоичные оценки на основе пороговых значений). Эти вычислители поддерживают две рекомендации по оценке агента:

  • Оценка системы — для изучения комплексных результатов агентической системы.
  • Оценка процесса — чтобы проверить пошаговое выполнение для достижения результатов.
Эвалуатор Лучшие практики Используйте, если Purpose Выходные данные
Завершение задачи (предварительная версия) Оценка системы Оценка комплексного успеха задачи в автоматизации рабочих процессов, взаимодействий с целевым искусственным интеллектом или любого сценария, где полное завершение задачи является критически важным. Меры, если агент выполнил запрошенную задачу с приемлемым для использования доставкой, которая соответствует всем требованиям пользователя Двоичный файл: Pass/Fail
Удовлетворенность клиентов (предварительная версия) Оценка системы Измерение общей удовлетворенности пользователей в беседе, обнаружение разочарования пользователей Измеряет целостное удовлетворение пользователей в шести измерениях: полезность, полнота, ясность, тон, разрешение и адаптируемость Масштабирование 1-5 Likert
Соблюдение задач (предварительная версия) Оценка системы Обеспечение того, чтобы агенты соблюдали системные инструкции, проверяя соответствие в регулируемых средах Меры, если действия агента соответствуют назначенным задачам в соответствии с правилами, процедурами и ограничениями политики на основе системного сообщения и предыдущих шагов. Двоичный файл: Pass/Fail
Эффективность навигации по задачам Оценка системы Оптимизация рабочих процессов агента, сокращение ненужных шагов, проверка на соответствие известным оптимальным путям (требуется истина на основе) Измеряет, вызывает ли агент средство эффективно для выполнения задачи, сравнивая их с ожидаемыми последовательности инструментов. Двоичный файл: Pass/Fail
Разрешение намерений (предварительная версия) Оценка системы Сценарии поддержки клиентов, диалоговые ИИ, системы часто задаваемых вопросов, в которых важно понимать намерение пользователя Определяет, правильно ли агент определяет намерение пользователя Двоичный файл: передача и сбой на основе порогового значения (1-5 шкалы)
Точность вызова средства Оценка процессов Общая оценка качества вызова средства в системах агентов с интеграцией инструментов, взаимодействие API для выполнения задач Измеряет, выполнил ли агент правильный вызов средства с правильными параметрами для выполнения задачи. Двоичный файл: передача и сбой на основе порогового значения (1-5 шкалы)
Выбор инструмента Оценка процессов Проверка качества выбора инструмента на платформах оркестрации, обеспечение эффективного использования инструментов без избыточности Измеряет, выбран ли агент правильные средства без выбора ненужных. Двоичный файл: Pass/Fail
Точность ввода средства Оценка процессов Строгая проверка параметров средства в рабочих средах, тестах интеграции API, критических рабочих процессах, требующих правильности 100% параметров Меры, если все параметры вызова средства правильны в шести строгих критериях: заземление, соответствие типа, соответствие формата, обязательные параметры, не непредвиденные параметры и соответствие значений Двоичный файл: Pass/Fail
Использование выходных данных средства Оценка процессов Проверка правильного использования ответов API, результатов запроса базы данных, выходных данных поиска в причинах и ответах агента Меры, если агент правильно понимал и использовал результаты вызова средства контекстно в его причинах и окончательном ответе Двоичный файл: Pass/Fail
Успех вызова средства Оценка процессов Надежность средства мониторинга, обнаружение сбоев API, проблем времени ожидания или технических ошибок при выполнении средства Меры, если вызовы средства успешно выполнены или привели к техническим ошибкам или исключениям Двоичный файл: Pass/Fail
Оценка качества (предварительная версия) Оценка качества Оценивает общее качество ответа на уровне поворота, включая релевантность, воздержание, полноту ответа, а также необязательное обоснование и охват контекста Включает оценку качества в нескольких измерениях в одном вычислителе вместо выполнения отдельных вычислителей отдельно Двоичный файл: Pass/Fail

Оценка системы

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

  • Завершение задачи — полностью ли агент выполнил запрошенную задачу?
  • Удовлетворенность клиентов . Насколько удовлетворен пользователь будет с производительностью агента?
  • Соблюдение задач. Выполнил ли агент правила и ограничения в своих инструкциях?
  • Эффективность навигации по задачам — эффективно ли агент выполнил ожидаемые шаги?
  • Разрешение намерений. Правильно ли агент определяет намерения пользователя и адресует их?

В частности, для текстовых выходных данных от агентов можно также применять оценщики качества RAG, такие как Relevance и Groundedness которые принимают агентические входные данные для оценки окончательного качества отклика.

Примеры:

Оценка процессов

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

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

Примеры:

  • пример точности вызова Tool
  • пример выбора
  • пример точности ввода Tool
  • пример использования выходных данных Tool
  • пример успешного вызова Tool

Оценка качества (предварительная версия)

Оценка качества оценивает общее качество ответа помощника по искусственному интеллекту на уровне поворота. Средство оценки качества является тем же средством оценки качества, который используется в Microsoft Copilot Studio оценке агента. Он изучает несколько измерений качества отклика:

  • Релевантность — относится ли ответ к запросу пользователя?
  • Воздержался ли агент надлежащим образом, когда он не может или не должен отвечать?
  • Полнота ответа — полностью ли ответ отвечает на вопрос пользователя?

При указании контекста оценка качества вычисляется следующим образом:

  • Заземленность — соответствует ли ответ в предоставленном контексте?
  • Охват контекста — использует ли ответ соответствующую информацию в контексте?

Примеры:

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

Для оценщиков с поддержкой ИИ можно использовать Azure OpenAI или OpenAI reasoning моделей и неразумных моделей для судьи LLM. Для комплексной оценки, требующей уточненной причины, мы рекомендуем gpt-5-mini для ее баланса производительности, затрат и эффективности.

Поддерживаемые инструменты

Вычислители агентов поддерживают следующие средства:

  • Поиск файлов
  • Средство функций (определяемые пользователем средства)
  • MCP
  • MCP на основе знаний

В настоящее время следующие средства имеют ограниченную поддержку. Избегайте использования tool_call_accuracy, или tool input accuracytool_output_utilizationtool_call_successgroundedness вычислителей, если беседа агента включает вызовы к этим средствам:

  • Поиск с использованием ИИ Azure
  • Bing Заземление
  • Пользовательский поиск Bing
  • Основы SharePoint
  • Интерпретатор кода
  • Агент данных Fabric
  • Web Search

Использование средств оценки агентов

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

Эвалуатор Обязательные входные данные Обязательные параметры
Завершение задачи (предварительная версия) query, response; необязательный: tool_definitions deployment_name
Удовлетворенность клиентов (предварительная версия) messages model
Соблюдение задач (предварительная версия) query, response deployment_name
Разрешение намерений (предварительная версия) query, response deployment_name
Точность вызова средства (, query) responseИЛИ (tool_definitionsquery, tool_calls, tool_definitions) deployment_name
Выбор инструмента (, query) responseИЛИ (tool_definitionsquery, tool_calls, tool_definitions) deployment_name
Точность ввода средства query, , responsetool_definitions deployment_name
Использование выходных данных средства query, , responsetool_definitions deployment_name
Успех вызова средства response deployment_name
Эффективность навигации по задачам actions, expected_actions (нет)

Пример входных данных

Тестовый набор данных должен содержать поля, на которые ссылаются сопоставления данных. Оба поля принимают простые строки или массивы бесед:

{"query": "What's the weather in Seattle?", "response": "The weather in Seattle is rainy, 14°C."}
{"query": "Book a flight to Paris for next Monday", "response": "I've booked your flight to Paris departing next Monday at 9:00 AM."}

Для более сложных взаимодействий агента с вызовами инструментов используйте массивы сообщений и queryresponse. Эти массивы используют ту же структуру сообщений OpenAI, что и предпочтительную messages схему. См . раздел "Отдельный формат запроса и ответа". Системное сообщение является необязательным, но полезно для оценщиков, которые оценивают поведение агента в отношении инструкций, включая task_adherence, , task_completiontool_call_accuracytool_selectiontool_input_accuracytool_output_utilizationи:groundedness

{
    "query": [
        {"role": "system", "content": "You are a travel booking agent."},
        {"role": "user", "content": "Book a flight to Paris for next Monday"}
    ],
    "response": [
        {"role": "assistant", "content": [{"type": "tool_call", "tool_call_id": "call_123", "name": "search_flights", "arguments": {"destination": "Paris", "date": "next Monday"}}]},
        {"role": "tool", "tool_call_id": "call_123", "content": [{"type": "tool_result", "tool_result": {"flight": "AF123", "time": "9:00 AM"}}]},
        {"role": "assistant", "content": "I've booked flight AF123 to Paris departing next Monday at 9:00 AM."}
    ]
}

Формат определений инструментов

В tool_definitions поле описываются средства, доступные агенту. Он содержит список объектов инструментов с namedescriptionобъектом схемы parameters JSON и , а также содержит список объектов инструментов:

[
  {
    "name": "search_flights",
    "description": "Search for available flights to a destination on a given date.",
    "parameters": {
      "type": "object",
      "properties": {
        "destination": { "type": "string", "description": "The destination city." },
        "date": { "type": "string", "description": "The travel date in YYYY-MM-DD format." }
      },
      "required": ["destination", "date"]
    }
  }
]

Включите этот список в качестве tool_definitions поля в тестовый набор данных вместе с query ним response.

Пример конфигурации

Синтаксис сопоставления данных:

  • {{item.field_name}} ссылается на поля из тестового набора данных (например, {{item.query}}).
  • {{sample.output_items}} ссылается на структурированные выходные данные агента, включая вызовы и результаты средства. Используйте это для вычислителей, которым требуется полный контекст взаимодействия (task_adherence, , tool_call_accuracy, tool_selectiontool_input_accuracy). tool_output_utilization
  • {{sample.output_text}} ссылается на обычный текстовый ответ агента. Используйте это для вычислителей, ожидающих строковый ответ (например, coherence, violence).

Ниже приведен пример конфигурации для соблюдения задач:

testing_criteria = [
    {
        "type": "azure_ai_evaluator",
        "name": "task_adherence",
        "evaluator_name": "builtin.task_adherence",
        "initialization_parameters": {"deployment_name": model_deployment},
        "data_mapping": {
            "query": "{{item.query}}",
            "response": "{{item.response}}",
        },
    },
]

Дополнительные сведения о выполнении вычислений и настройке источников данных см. в статье о выполнении вычислений из пакета SDK .

Пример выходных данных

Вычислители агентов возвращают результаты pass/Fail с обоснованием. Ключевые поля выходных данных:

{
    "type": "azure_ai_evaluator",
    "name": "Task Adherence",
    "metric": "task_adherence",
    "label": "pass",
    "reason": "Agent followed system instructions correctly",
    "threshold": 3,
    "passed": true
}

Для вычислителей, использующих шкалу 1–5 перед пороговым значением (например intent_resolution , и tool_call_accuracy), выходные данные включают числовое score поле вместе с результатом pass/fail:

{
    "type": "azure_ai_evaluator",
    "name": "Intent Resolution",
    "metric": "intent_resolution",
    "label": "pass",
    "score": 4,
    "reason": "Agent correctly identified the user's intent to book a flight to Paris",
    "threshold": 3,
    "passed": true
}

Эффективность навигации по задачам

Эффективность навигации по задачам измеряет, принял ли агент оптимальную последовательность действий, сравнивая с ожидаемой последовательностью (земная истина). Используйте этот средство оценки для оптимизации рабочего процесса и тестирования регрессии.

{
    "type": "azure_ai_evaluator",
    "name": "task_navigation_efficiency",
    "evaluator_name": "builtin.task_navigation_efficiency",
    "initialization_parameters": {
        "matching_mode": "exact_match"  # Options: "exact_match", "in_order_match", "any_order_match"
    },
    "data_mapping": {
        "actions": "{{item.actions}}",
        "expected_actions": "{{item.expected_actions}}"
    },
}

Режимы сопоставления:

Режим Описание
exact_match Траектория агента должна точно соответствовать земле (порядок и содержимое)
in_order_match Все наземные шаги истины должны отображаться в траектории агента в правильном порядке (дополнительные шаги разрешены)
any_order_match Все наземные шаги истины должны отображаться в траектории агента, порядок не имеет значения (дополнительные шаги разрешены)

Формат действий:

Поле actions принимает список объектов сообщений, которые следуют схеме сообщения OpenAI. Каждое сообщение представляет шаг, который агент сделал во время беседы:

actions = [
    {
        "role": "assistant",
        "content": [
            {"type": "function_call", "name": "call_tool_A", "arguments": "{\"param\": \"value\"}"}
        ]
    },
    {
        "role": "assistant",
        "content": [
            {"type": "function_call", "name": "call_tool_B", "arguments": "{}"}
        ]
    },
]

Note

actions Поля expected_actions используют различные форматы. actions требуется словари схемы сообщений OpenAI (представляющие фактическое поведение агента), в то время как expected_actions используется простой список имен инструментов (представляющий истину на земле).

Формат ожидаемых действий:

Это expected_actions может быть простой список ожидаемых шагов:

expected_actions = ["identify_tools_to_call", "call_tool_A", "call_tool_B", "response_synthesis"]

Или кортеж с именами инструментов и параметрами для более подробной проверки:

expected_actions = (
    ["func_name1", "func_name2"],
    {
        "func_name1": {"param_key": "param_value"},
        "func_name2": {"param_key": "param_value"},
    }
)

Output:

Возвращает двоичный результат передачи и сбоя, а также точность, отзыв и оценки F1:

{
    "type": "azure_ai_evaluator",
    "name": "task_navigation_efficiency",
    "passed": true,
    "details": {
        "precision_score": 0.85,
        "recall_score": 1.0,
        "f1_score": 0.92
    }
}

Схема сообщения агента

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