Hodnotitelé agentů

Důležité

Položky označené (Preview) v tomto článku jsou aktuálně ve verzi Public Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučujeme ji pro produkční úlohy. Některé funkce nemusí být podporované nebo můžou mít omezené možnosti. Další informace najdete v tématu Supplementální podmínky použití pro Microsoft Azure Verze Preview.

Agenti umělé inteligence jsou výkonnými pomocníky pro produktivitu, kteří můžou vytvářet pracovní postupy pro obchodní potřeby. Pozorovatelnost ale může být výzvou kvůli složitým vzorcům interakce. Vyhodnocovače agentů poskytují systematickou pozorovatelnost v agentských pracovních postupech měřením kvality, bezpečnosti a výkonu.

Pracovní postup agenta obvykle zahrnuje odůvodnění záměrů uživatelů, volání relevantních nástrojů a použití výsledků nástrojů k dokončení úloh, jako je aktualizace databáze nebo koncept sestavy. Pokud chcete vytvářet aplikace agentů připravené pro produkční prostředí, musíte vyhodnotit nejen konečný výstup, ale také kvalitu a efektivitu každého kroku pracovního postupu.

Foundry poskytuje integrované vyhodnocovače agentů, které fungují jako testy jednotek pro agentské systémy – přebírají zprávy agenta jako vstupní a výstupní binární skóre pass/fail (nebo škálované skóre převedené na binární skóre na základě prahových hodnot). Tyto vyhodnocovače podporují dva osvědčené postupy pro vyhodnocení agenta:

  • Vyhodnocení systému – k prozkoumání komplexních výsledků agentického systému.
  • Vyhodnocení procesu – ověření podrobného provádění, aby se dosáhlo výsledků.
Vyhodnocovač Nejlepší praxe Použít, když Purpose Výstup
Dokončení úkolu (Preview) Vyhodnocení systému Vyhodnocení úspěšného dokončení úkolu v automatizaci pracovních postupů, interakcích AI orientovaných na cíle nebo v jakémkoli scénáři, ve kterém je dokončení úplného úkolu kritické Měří, pokud agent dokončil požadovanou úlohu s použitelnou dodávkou, která splňuje všechny požadavky uživatele. Binární soubor: Pass/Fail
Spokojenost zákazníků (Preview) Vyhodnocení systému Měření celkové spokojenosti uživatelů v konverzaci, zjišťování frustrace uživatelů Měří holistické spokojenost uživatelů napříč šesti dimenzemi: užitečnost, úplnost, srozumitelnost, tón, rozlišení a adaptabilitu Měřítko 1–5 Likert
Dodržování úkolů (Preview) Vyhodnocení systému Zajištění, aby agenti postupovali podle systémových pokynů, ověřování dodržování předpisů v regulovaných prostředích Měří, jestli akce agenta dodržují přiřazené úkoly podle pravidel, postupů a omezení zásad na základě systémové zprávy a předchozích kroků. Binární soubor: Pass/Fail
Efektivita navigace mezi úkoly Vyhodnocení systému Optimalizace pracovních postupů agentů, snížení nepotřebných kroků a ověřování známých optimálních cest (vyžaduje základní pravdu) Měří, jestli agent efektivně volá nástroj k dokončení úlohy tím, že je porovná s očekávanými pořadími nástrojů. Binární soubor: Pass/Fail
Řešení záměru (Preview) Vyhodnocení systému Scénáře zákaznické podpory, konverzační AI, systémy nejčastějších dotazů, kde je pochopení záměru uživatele nezbytné Určuje, jestli agent správně identifikuje záměr uživatele. Binární: Předání/selhání na základě prahové hodnoty (škálování 1–5)
Přesnost volání nástroje Vyhodnocení procesů Celkové hodnocení kvality volání nástrojů v systémech agentů s integrací nástrojů, interakcemi rozhraní API pro dokončení úloh Měří, jestli agent provedl správné volání nástroje se správnými parametry k dokončení úlohy. Binární: Předání/selhání na základě prahové hodnoty (škálování 1–5)
Výběr nástrojů Vyhodnocení procesů Ověřování kvality výběru nástrojů na platformách orchestrace, zajištění efektivního využití nástrojů bez redundance Určuje, jestli agent vybral správné nástroje bez výběru nepotřebných nástrojů. Binární soubor: Pass/Fail
Přesnost vstupu nástroje Vyhodnocení procesů Přísné ověřování parametrů nástrojů v produkčních prostředích, testy integrace rozhraní API, kritické pracovní postupy vyžadující 100% správnosti parametrů Míry, pokud jsou všechny parametry volání nástroje správné napříč šesti striktními kritérii: uzemnění, dodržování předpisů typu, dodržování předpisů ve formátu, povinné parametry, žádné neočekávané parametry a vhodnost hodnot Binární soubor: Pass/Fail
Využití výstupu nástroje Vyhodnocení procesů Ověřování správného použití odpovědí rozhraní API, výsledků databázových dotazů, výstupů hledání v důvodech agenta a odpovědích Měří, jestli agent správně porozuměl a použil nástroj, v jeho odůvodnění a konečné odpovědi kontextově volal výsledky. Binární soubor: Pass/Fail
Úspěch volání nástroje Vyhodnocení procesů Spolehlivost monitorovacích nástrojů, zjišťování selhání rozhraní API, problémy s vypršením časového limitu nebo technické chyby při provádění nástrojů Míry, pokud byla volání nástroje úspěšná nebo vedla k technickým chybám nebo výjimkám Binární soubor: Pass/Fail
Quality Grader (Preview) Hodnocení kvality Posuzuje celkovou kvalitu reakce na úrovni turn, včetně relevance, abstentionu, úplnosti odpovědí a volitelně uzemnění a pokrytí kontextu. Umožňuje vyhodnocení kvality napříč více dimenzemi v jednom vyhodnocovači místo samostatného spouštění jednotlivých vyhodnocovačů. Binární soubor: Pass/Fail

Vyhodnocení systému

Vyhodnocení systému zkoumá kvalitu konečného výsledku pracovního postupu agenta. Tyto vyhodnocovače platí pro jednotlivé agenty a v systémech s více agenty pro hlavní orchestrátor nebo konečného agenta zodpovědného za dokončení úlohy:

  • Dokončení úlohy – Dokončil agent plně požadovanou úlohu?
  • Spokojenost zákazníka – Jak spokojení by byl uživatel s výkonem agenta?
  • Dodržování úkolů – postupoval agent podle pravidel a omezení v jeho pokynech?
  • Efektivita navigace úloh – provedl agent očekávané kroky efektivně?
  • Řešení záměru – identifikoval agent správně záměry uživatele a vyřešil je?

Konkrétně pro textové výstupy z agentů můžete použít také vyhodnocovače kvality RAG, jako Relevance jsou a Groundedness které berou vstupy agentů k vyhodnocení konečné kvality odezvy.

Examples:

Vyhodnocení procesů

Vyhodnocení procesů zkoumá kvalitu a efektivitu každého kroku v pracovním postupu agenta. Tyto vyhodnocovače se zaměřují na volání nástrojů spuštěná v systému za účelem dokončení úkolů:

  • Přesnost volání nástroje – provedl agent správné volání nástroje se správnými parametry bez redundance?
  • Výběr nástroje – vybral agent správné a nezbytné nástroje?
  • Přesnost vstupu nástroje – zadal agent správné parametry pro volání nástrojů?
  • Využití výstupu nástroje – Výsledkem volání nástroje je správné použití agenta, protože jeho důvodová a konečná odpověď?
  • Úspěch volání nástroje – Bylo volání nástroje úspěšné bez technických chyb?

Examples:

Vyhodnocení kvality (Preview)

Hodnocení kvality posuzuje celkovou kvalitu reakce asistenta AI na úrovni turn. Hodnocení kvality je stejný vyhodnocovač kvality, který se používá v hodnocení agenta Microsoft Copilot Studio. Zkoumá více dimenzí kvality odezvy:

  • Relevance – je odpověď relevantní pro dotaz uživatele?
  • Abstention - Je agent řádně zdráhl, když nemůže nebo by neměl odpovědět?
  • Úplnost odpovědi – řeší odpověď plně otázku uživatele?

Při zadání kontextu se klasifikační třída kvality navíc vyhodnotí takto:

  • Uzemnění – je odpověď uzemněná v poskytnutém kontextu?
  • Pokrytí kontextu – využívá odpověď relevantní informace v kontextu?

Examples:

Podpora modelů a nástrojů

U vyhodnocovačů s asistencí umělé inteligence můžete použít modely Azure OpenAI nebo OpenAI a modely bez odůvodnění pro soudce LLM. Pro komplexní vyhodnocení, které vyžaduje upřesnění odůvodnění, doporučujeme gpt-5-mini pro jeho rovnováhu mezi výkonem, náklady a efektivitou.

Podporované nástroje

Vyhodnocovače agentů podporují následující nástroje:

  • Hledání souborů
  • Function Tool (uživatelsky definované nástroje)
  • MCP
  • McP založená na znalostech

Následující nástroje v současné době mají omezenou podporu. Vyhněte se použití tool_call_accuracy, , tool input accuracy, tool_output_utilization, tool_call_successnebo groundedness vyhodnocovače, pokud vaše konverzace agenta zahrnuje volání těchto nástrojů:

  • Azure AI Vyhledávač
  • Zemnění Bingu
  • Vlastní vyhledávání Bingu
  • Základy SharePointu
  • Interpretér kódu
  • datový agent Fabric
  • Vyhledávání na webu

Použití vyhodnocovačů agentů

Vyhodnocovače agentů vyhodnocují, jak dobře agenti umělé inteligence provádějí úlohy, řídí se pokyny a efektivně používají nástroje. Každý vyhodnocovací objekt vyžaduje konkrétní mapování dat a parametry:

Vyhodnocovač Požadované vstupy Požadované parametry
Dokončení úkolu (Preview) query, ; responsevolitelné: tool_definitions deployment_name
Spokojenost zákazníků (Preview) messages model
Dodržování úkolů (Preview) query, response deployment_name
Řešení záměru (Preview) query, response deployment_name
Přesnost volání nástroje (query, response, tool_definitions) NEBO (query, tool_calls, tool_definitions) deployment_name
Výběr nástrojů (query, response, tool_definitions) NEBO (query, tool_calls, tool_definitions) deployment_name
Přesnost vstupu nástroje query, , responsetool_definitions deployment_name
Využití výstupu nástroje query, , responsetool_definitions deployment_name
Úspěch volání nástroje response deployment_name
Efektivita navigace mezi úkoly actions, expected_actions (žádný)

Příklad vstupu

Testovací datová sada by měla obsahovat pole odkazovaná v mapování dat. Obě pole přijímají jednoduché řetězce nebo pole konverzací:

{"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."}

Pokud chcete složitější interakce agentů s voláními nástrojů, použijte formát pole konverzací. Tento formát se řídí schématem zpráv OpenAI (viz schéma zpráv agenta). Systémová zpráva je volitelná, ale užitečná pro vyhodnocovače, které hodnotí chování agenta proti instrukcím, včetně task_adherence, task_completion, tool_call_accuracytool_selection, tool_input_accuracy, tool_output_utilizationa 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", "name": "search_flights", "arguments": {"destination": "Paris", "date": "next Monday"}}]},
        {"role": "tool", "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."}
    ]
}

Formát definic nástrojů

Pole tool_definitions popisuje nástroje dostupné agentům. Řídí se schématem volání funkce OpenAI – seznam objektů nástrojů, kde každý objekt obsahuje ( type vždy "function") a function popisovač:

[
  {
    "type": "function",
    "function": {
      "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"]
      }
    }
  }
]

Tento seznam zahrňte jako tool_definitions pole do testovací datové sady společně query s datovou sadou a response.

Příklad konfigurace

Syntaxe mapování dat:

  • {{item.field_name}} odkazuje na pole z testovací datové sady (například {{item.query}}).
  • {{sample.output_items}} odkazuje na strukturovaný výstup agenta, včetně volání nástrojů a výsledků. Tuto možnost použijte pro vyhodnocovače, kteří potřebují úplný kontext interakce (task_adherence, tool_call_accuracy, tool_selection, tool_input_accuracy). tool_output_utilization
  • {{sample.output_text}} odkazuje na odpověď prostého textu agenta. Tuto možnost použijte pro vyhodnocovače, kteří očekávají řetězcovou odpověď (například coherence, ). violence

Tady je příklad konfigurace dodržování úkolů:

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}}",
        },
    },
]

Podrobnosti o spuštění vyhodnocení a konfiguraci zdrojů dat najdete v tématu Spuštění vyhodnocení ze sady SDK .

Příklad výstupu

Vyhodnocovače agentů vrací výsledky pass/fail s odůvodněním. Pole výstupu klíče:

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

Pro vyhodnocovače, které před prahovou hodnotou (například intent_resolution a tool_call_accuracy) používají měřítko 1–5, zahrnuje výstup číselné score pole spolu s výsledkem 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
}

Efektivita navigace mezi úkoly

Efektivita navigace úloh měří, zda agent provedl optimální sekvenci akcí porovnáním s očekávanou sekvencí (základní pravda). Tento vyhodnocovací modul použijte pro optimalizaci pracovního postupu a regresní testování.

{
    "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}}"
    },
}

Odpovídající režimy:

Mode Description
exact_match Trajektorie agenta se musí přesně shodovat se základní pravdou (pořadí a obsah).
in_order_match Všechny základní kroky pravdy musí být uvedeny ve správné trajektorii agenta ve správném pořadí (jsou povoleny další kroky).
any_order_match Všechny základní kroky pravdy se musí objevit v trajektorii agenta, na pořadí nezáleží (jsou povoleny další kroky).

Formát akcí:

Pole actions přebírá seznam objektů zpráv, které se řídí schématem zprávy OpenAI. Každá zpráva představuje krok, který agent během konverzace provedl:

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

Pole actions a expected_actions pole používají různé formáty. actions vyžaduje slovníky schématu zpráv OpenAI (představující skutečné chování agenta), zatímco expected_actions používá jednoduchý seznam názvů nástrojů (představující základní pravdu).

Formát očekávaných akcí:

Může expected_actions to být jednoduchý seznam očekávaných kroků:

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

Nebo řazená kolekce členů s názvy a parametry nástrojů pro podrobnější ověření:

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

Output:

Vrátí binární výsledek pass/fail plus přesnost, úplnost a skóre F1:

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

Schéma zpráv agenta

Při použití formátu query pole konverzace a response postupujte podle struktury zpráv OpenAI:

  • dotaz: Obsahuje historii konverzací, která vede k žádosti uživatele. Zahrňte systémovou zprávu, která poskytuje kontext pro vyhodnocovače, kteří vyhodnocují chování agenta podle pokynů.
  • odpověď: Obsahuje odpověď agenta, včetně všech volání nástrojů a jejich výsledků.

Schéma zpráv:

[
  {
    "role": "system" | "user" | "assistant" | "tool",
    "content": "string" | [                // string or array of content items
      {
        "type": "text" | "tool_call" | "tool_result",
        "text": "string",                  // if type == text
        "tool_call_id": "string",          // if type == tool_call
        "name": "string",                  // tool name if type == tool_call
        "arguments": { ... },              // tool args if type == tool_call
        "tool_result": { ... }             // result if type == tool_result
      }
    ]
  }
]

Typy rolí:

Úloha Description
system Pokyny agenta (volitelné, umístěné na začátku dotazu)
user Uživatelské zprávy a požadavky
assistant Odpovědi agenta, včetně volání nástrojů
tool Výsledky provádění nástrojů

Example:

{
  "query": [
    {"role": "system", "content": "You are a weather assistant."},
    {"role": "user", "content": [{"type": "text", "text": "What's the weather in Seattle?"}]}
  ],
  "response": [
    {"role": "assistant", "content": [{"type": "tool_call", "tool_call_id": "call_123", "name": "get_weather", "arguments": {"city": "Seattle"}}]},
    {"role": "tool", "content": [{"type": "tool_result", "tool_result": {"temp": "62°F", "condition": "Cloudy"}}]},
    {"role": "assistant", "content": [{"type": "text", "text": "It's currently 62°F and cloudy in Seattle."}]}
  ]
}