Agentutvärderingar

Important

Objekt som har markerats som förhandsversioner i den här artikeln är för närvarande i förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och Microsoft rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller har begränsade funktioner. Mer information finns i Supplemental Terms of Use for Microsoft Azure Previews.

AI-agenter är kraftfulla produktivitetsassistenter som kan skapa arbetsflöden för affärsbehov. Observerbarhet kan dock vara en utmaning på grund av deras komplexa interaktionsmönster. Agentutvärderingar ger systematisk observerbarhet i agentiska arbetsflöden genom att mäta kvalitet, säkerhet och prestanda.

Ett agentarbetsflöde innebär vanligtvis att man resonerar med hjälp av användar avsikter, anropar relevanta verktyg och använder verktygsresultat för att slutföra uppgifter som att uppdatera en databas eller utarbeta en rapport. För att skapa produktionsklara agentiska program måste du utvärdera inte bara de slutliga utdata, utan även kvaliteten och effektiviteten för varje steg i arbetsflödet.

Foundry tillhandahåller inbyggda agentutvärderingar som fungerar som enhetstester för agentiska system – de tar agentmeddelanden som indata- och utdatabinärt Pass/Fail-poäng (eller skalade poäng konverterade till binära poäng baserat på tröskelvärden). Dessa utvärderare stöder två metodtips för agentutvärdering:

  • Systemutvärdering – för att undersöka resultatet från slutpunkt till slutpunkt för det agentiska systemet.
  • Processutvärdering – för att verifiera den stegvisa körningen för att uppnå resultatet.
Utvärderare Bästa praxis Använd när Purpose Resultat
Slutförd aktivitet (förhandsversion) Systemutvärdering Utvärdera lyckade uppgifter från slutpunkt till slutpunkt i arbetsflödesautomation, målinriktade AI-interaktioner eller alla scenarier där slutförande av fullständiga uppgifter är kritiskt Mått om agenten slutförde den begärda uppgiften med en användbar slutprodukt som uppfyller alla användarkrav Binär: Pass/Fail
Kundnöjdhet (förhandsversion) Systemutvärdering Mäta den övergripande användarnöjdheten i en konversation, identifiera användarnas frustration Mäter holistisk användarnöjdhet i sex dimensioner: användbarhet, fullständighet, klarhet, ton, upplösning och anpassningsbarhet 1–5 Likert-skala
Uppgiftsefterlevnad (förhandsversion) Systemutvärdering Se till att agenter följer systeminstruktioner och verifierar efterlevnad i reglerade miljöer Mäter om agentens åtgärder följer dess tilldelade uppgifter enligt regler, procedurer och principbegränsningar, baserat på dess systemmeddelande och tidigare steg Binär: Pass/Fail
Aktivitetsnavigeringseffektivitet Systemutvärdering Optimera agentarbetsflöden, minska onödiga steg, validera mot kända optimala sökvägar (kräver grundsanning) Mäter om agenten gjorde verktygsanrop effektivt för att slutföra en uppgift genom att jämföra dem med förväntade verktygssekvenser Binär: Pass/Fail
Avsiktsmatchning (förhandsversion) Systemutvärdering Kundsupportscenarier, konversations-AI, vanliga frågor och svar-system där det är viktigt att förstå användar avsikter Mäter om agenten identifierar användarens avsikt korrekt Binärt: Pass/Fail baserat på tröskelvärde (skala 1–5)
Noggrannhet för verktygsanrop Processutvärdering Övergripande verktyg anropar kvalitetsbedömning i agentsystem med verktygsintegrering, API-interaktioner för att slutföra sina uppgifter Mäter om agenten gjorde rätt verktygsanrop med rätt parametrar för att slutföra uppgiften Binärt: Pass/Fail baserat på tröskelvärde (skala 1–5)
Val av verktyg Processutvärdering Validering av valkvalitet för verktyg i orkestreringsplattformar, vilket säkerställer effektiv användning av verktyg utan redundans Mäter om agenten valde rätt verktyg utan att välja onödiga verktyg Binär: Pass/Fail
Precision för verktygsinmatning Processutvärdering Strikt validering av verktygsparametrar i produktionsmiljöer, API-integreringstester, kritiska arbetsflöden som kräver 100% parametern är korrekt Mått om alla parametrar för verktygsanrop är korrekta i sex strikta kriterier: grund, typefterlevnad, formatefterlevnad, obligatoriska parametrar, inga oväntade parametrar och värde lämplighet Binär: Pass/Fail
Verktygsutdataanvändning Processutvärdering Validera korrekt användning av API-svar, databasfrågeresultat, sökutdata i agentens resonemang och svar Mått om agenten förstod korrekt och använde verktyget anropar resultat kontextuellt i sitt resonemang och slutliga svar Binär: Pass/Fail
Verktygsanrop lyckades Processutvärdering Övervaka verktygets tillförlitlighet, identifiera API-fel, timeout-problem eller tekniska fel vid verktygskörning Mått om verktygsanrop lyckades eller resulterade i tekniska fel eller undantag Binär: Pass/Fail
Kvalitetsklassare (inaktuell) Kvalitetsutvärdering Granska befintliga kvalitetsklassningskonfigurationer Tidigare aktiverad kvalitetsutvärdering över flera dimensioner i en enskild utvärderare i stället för att köra enskilda utvärderare separat. Det kan inte längre köras i en utvärdering. Inte tillgänglig
Utdatakvalitet (förhandsversion) System- och kvalitetsutvärdering Utvärdera svarskvalitet och uppgiftsresultat i flera dimensioner samtidigt som utvärderingskostnaden och svarstiden minskas Batchar Fluency, Coherence, Intent Resolution, Task Adherence, Groundedness och Task Completion i ett LLM-domaranrop Sammansatt: komponentpoäng med Pass/Fail
Verktygets användningskvalitet (förhandsversion) Processutvärdering Utvärdera den fullständiga verktygsanvändningsprocessen samtidigt som utvärderingskostnaden och svarstiden minskar Batchs Tool Call Accuracy, Tool Call Success, Tool Input Accuracy, Tool Output Utilization och Tool Selection in one LLM judge call Sammansatt: komponentpoäng med Pass/Fail

Systemutvärdering

Systemutvärderingen undersöker kvaliteten på det slutliga resultatet av ditt agentiska arbetsflöde. Dessa utvärderare gäller för enskilda agenter och, i system med flera agenter, för huvudorkestratorn eller den slutliga agenten som ansvarar för slutförande av uppgifter:

  • Slutförd uppgift – slutförde agenten den begärda aktiviteten?
  • Kundnöjdhet – Hur nöjd skulle en användare vara med agentens prestanda?
  • Uppgiftsefterlevnad – följde agenten reglerna och begränsningarna i sina instruktioner?
  • Aktivitetsnavigeringseffektivitet – utförde agenten de förväntade stegen effektivt?
  • Avsiktsmatchning – Identifierade och åtgärdade agenten användarens avsikter korrekt?

Mer specifikt för textutdata från agenter kan du även använda RAG-kvalitetsutvärderingar som Relevance och Groundedness som tar agentiska indata för att utvärdera den slutliga svarskvaliteten.

Examples:

Processutvärdering

Processutvärderingen undersöker kvaliteten och effektiviteten i varje steg i ditt agentiska arbetsflöde. Dessa utvärderare fokuserar på de verktygsanrop som körs i ett system för att utföra uppgifter:

  • Noggrannhet för verktygsanrop – gjorde agenten rätt verktygsanrop med rätt parametrar utan redundans?
  • Val av verktyg – Valde agenten rätt och nödvändiga verktyg?
  • Precision för indata för verktyg – angav agenten rätt parametrar för verktygsanrop?
  • Verktygsutdataanvändning – Har agenten korrekt använt verktygets anrop resulterar i dess resonemang och slutliga svar?
  • Lyckat verktygsanrop – lyckades verktygets anrop utan tekniska fel?

Examples:

Kvalitetsutvärdering (inaktuell)

Important

Kvalitetsklassare är inaktuell och kan inte längre köras i en utvärdering.

Kvalitetsklassare bedömde den övergripande kvaliteten på en AI-assistents svar på turnivå. Den undersökte flera dimensioner av svarskvalitet:

  • Relevans – är svaret relevant för användarens fråga?
  • Röstnedläggelse – avstår agenten på lämpligt sätt när den inte kan eller inte bör svara?
  • Svars fullständighet – tar svaret fullständigt upp användarens fråga?

När kontexten angavs utvärderade kvalitetsklassaren också:

  • Groundedness – är svaret grundat i det angivna sammanhanget?
  • Kontexttäckning – använder svaret relevant information i kontexten?

Sammansatta utvärderare (förhandsversion)

Sammansatta utvärderare mäter flera kvalitetsdimensioner i ett LLM-domaranrop. Använd dem för att minska kostnaden och svarstiden för att köra motsvarande inbyggda utvärderare separat samtidigt som du behåller en poäng och orsak till varje kvalitetsdimension.

Note

Använd en modell från GPT-5.6-familjen som LLM-domare för sammansatta utvärderare. För alternativet med lägsta kostnad som håller hög utvärderingskvalitet använder du gpt-5.6-luna.

Utdatakvalitet

Utvärderaren för utdatakvalitet (builtin.output_quality) utvärderar kvaliteten på en agent svar och dess framgång med att hantera användarens uppgift. Den batchar följande utvärderare i ett LLM-domaranrop:

Komponentutvärdering Vad den mäter Score Standardtröskel för passering
Språkflyt Grammatisk kvalitet och läsbarhet. 1-5 3
Samstämmighet Logiskt flöde och organisation. 1-5 3
Avsiktslösning Om svaret identifierar och åtgärdar användarens avsikt. 1-5 3
Uppgiftsefterlevnad Om agenten följer instruktionerna och begränsningarna. 0 eller 1 1
Groundedness Om svaret stöds av den tillgängliga kontexten. 1-5 3
Slutförd uppgift Om agenten slutför den begärda aktiviteten med ett användbart resultat. 0 eller 1 1

Verktygets användningskvalitet

Utvärderaren för verktygsanvändningskvalitet (builtin.tool_use_quality) utvärderar en agent verktygsanvändningsprocess från val av verktyg med hjälp av det returnerade resultatet. Den batchar följande utvärderare i ett LLM-domaranrop:

Komponentutvärdering Vad den mäter Score Standardtröskel för passering
Noggrannhet för verktygsanrop Övergripande korrekthet för verktygsanrop, parametrar och effektivitet. 1-5 3
Verktygsanrop lyckades Om verktyget anropar slutfört utan tekniska fel. 0 eller 1 1
Precision för verktygsinmatning Om verktygsanropsparametrarna är korrekta. 0 eller 1 1
Verktygsutdataanvändning Om agenten använder verktyget korrekt resulterar i svaret. 0 eller 1 1
Val av verktyg Om agenten väljer nödvändiga verktyg utan onödiga anrop. 0 eller 1 1

Sammansatta resultat

Det primära output_quality resultatet eller tool_use_quality resultatet skickas endast när varje tillämplig komponent passerar. En komponent som inte är tillämplig hoppas över och orsakar inte att det primära resultatet misslyckas. Om alla komponenter hoppas över är not_applicabledet primära resultatet .

Varje sammansatt utvärderare returnerar ett primärt binärt resultat och resultatet av dess komponentutvärderingar. Använd det primära resultatet för en strikt kvalitetsgrind och använd komponentresultatet för att identifiera den kvalitetsdimension som orsakade ett fel.

Resultat Beskrivning
output_quality eller tool_use_quality Primär poäng. Ett värde för 1 innebär varje tillämplig komponent som skickas. 0 Värdet betyder att minst en tillämplig komponent misslyckades.
<component>_score Numerisk poäng från komponentutvärderingen.
<component>_result Resultat för pass/fail baserat på komponentens tröskelvärde.
<component>_reason Förklaring av komponentpoängen.
<component>_status Anger om komponenten slutfördes eller hoppades över.
<composite>_reason Visar misslyckade komponenter eller anger att komponenterna hoppades över.
<composite>_properties Innehåller listor över misslyckade och överhoppade komponenter, tillsammans med modell- och tokenmetadata.

Ett resultat av utdatakvaliteten misslyckas till exempel när fluency, coherence, intent resolution, task adherence och task completion pass but Groundedness fails. output_quality_reason Identifierar Groundedness som den misslyckade komponenten och groundedness_reason förklarar dess poäng.

Konfigurera sammansatta utvärderare

Båda sammansatta utvärderare stöder utvärdering på turnivå och konversationsnivå. Indataformen avgör utvärderingsnivån som standard:

  • Mappa query och response för utvärdering på turnivå.
  • Karta messages för utvärdering på konversationsnivå.

evaluation_level Ange initieringsparametern till turn eller conversation för att åsidosätta det här beteendet.

Följande konfiguration kör båda sammansatta utvärderarna på turnivå. Svaret innehåller agentmeddelanden med verktygsanrop och verktygsresultat, och verktygsdefinitionerna beskriver de verktyg som är tillgängliga för agenten.

testing_criteria = [
    {
        "type": "azure_ai_evaluator",
        "name": "output_quality",
        "evaluator_name": "builtin.output_quality",
        "initialization_parameters": {
            "deployment_name": model_deployment,
            "evaluation_level": "turn",
        },
        "data_mapping": {
            "query": "{{item.query}}",
            "response": "{{item.response}}",
            "tool_definitions": "{{item.tool_definitions}}",
        },
    },
    {
        "type": "azure_ai_evaluator",
        "name": "tool_use_quality",
        "evaluator_name": "builtin.tool_use_quality",
        "initialization_parameters": {
            "deployment_name": model_deployment,
            "evaluation_level": "turn",
        },
        "data_mapping": {
            "query": "{{item.query}}",
            "response": "{{item.response}}",
            "tool_definitions": "{{item.tool_definitions}}",
        },
    },
]

Referens: Kör utvärderingar från SDK

Om du vill utvärdera en fullständig konversation mappar du hela konversationen till messages och utelämnar evaluation_level eller ställer in den på conversation:

"initialization_parameters": {
    "deployment_name": model_deployment,
    "evaluation_level": "conversation",
},
"data_mapping": {
    "messages": "{{item.messages}}",
    "tool_definitions": "{{item.tool_definitions}}",
},

Referens: Meddelanden med verktygsanrop

Stöd för modell och verktyg

För AI-assisterade utvärderare kan du använda Azure OpenAI- eller OpenAI-reasoningsmodeller och icke-resonemangsmodeller för LLM-domaren.

Verktyg som stöds

Agentutvärderingar stöder följande verktyg:

  • Filsökning
  • Funktionsverktyg (användardefinierade verktyg)
  • MCP
  • Kunskapsbaserad MCP

Följande verktyg har för närvarande begränsat stöd. Undvik att använda tool_call_accuracy, tool input accuracy, tool_output_utilization, tool_call_successeller groundedness utvärderare om agentkonversationen innehåller anrop till dessa verktyg:

  • Azure AI-sökning
  • Grundläggning i Bing
  • Anpassad Bing-sökning
  • SharePoint Grundläggning
  • Kodtolkare
  • Fabric dataagent
  • Web Search

Använda agentutvärderingar

Agentutvärderingar utvärderar hur väl AI-agenter utför uppgifter, följer instruktioner och använder verktyg effektivt. Varje utvärderare kräver specifika datamappningar och parametrar:

Utvärderare Obligatoriska indata Obligatoriska parametrar Utvärderingsnivåer som stöds
Slutförd aktivitet (förhandsversion) (query, response) eller messages; valfritt: tool_definitions deployment_name; valfritt: evaluation_level Turn, conversation
Kundnöjdhet (förhandsversion) (query, response) eller messages deployment_name; valfritt: threshold, evaluation_level Turn, conversation
Uppgiftsefterlevnad (förhandsversion) (query, response) eller messages; valfritt: tool_definitions deployment_name Vända
Avsiktsmatchning (förhandsversion) (query, response) eller messages deployment_name; valfritt: evaluation_level Vända
Noggrannhet för verktygsanrop (query, tool_definitions) eller (messages, tool_definitions); response och tool_calls är valfria med query deployment_name; valfritt: evaluation_level Vända
Val av verktyg (query, tool_definitions) eller (messages, tool_definitions); response och tool_calls är valfria med query deployment_name; valfritt: evaluation_level Vända
Precision för verktygsinmatning (query, response, tool_definitions) eller (messages, tool_definitions) deployment_name; valfritt: evaluation_level Vända
Verktygsutdataanvändning (query, response, tool_definitions) eller (messages, tool_definitions) deployment_name; valfritt: evaluation_level Vända
Verktygsanrop lyckades response eller messages deployment_name; valfritt: evaluation_level Vända
Aktivitetsnavigeringseffektivitet (actions eller messages), expected_actions (ingen; valfritt: matching_mode) Vända
Utdatakvalitet query och response; eller messages. tool_definitions är valfritt. deployment_name; valfritt: evaluation_level Turn, conversation
Verktygets användningskvalitet query, response, och tool_definitions; eller messages och tool_definitions. deployment_name; valfritt: evaluation_level Turn, conversation

Utvärdering på turnivå utvärderar ett individuellt agentsvar. utvärdering på konversationsnivå bedömer den fullständiga interaktionen. Använd evaluation_level för att välja nivån när utvärderaren stöder båda. Information om meddelandestrukturen finns i Meddelanden med verktygsanrop.

Exempel på indata

Testdatauppsättningen ska innehålla de fält som refereras till i dina datamappningar. Exempel på formatet nedan:

{"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."}
{"messages": [{"role": "user", "content": "Book a flight to Paris."}, {"role": "assistant", "content": "I booked your flight to Paris."}]}

Om du vill ha mer komplexa agentinteraktioner med verktygsanrop använder du meddelandematriser för query och response. Dessa matriser använder samma OpenAI-meddelandestruktur som önskat messages schema. Se Separat fråge- och svarsformat. Systemmeddelandet är valfritt men användbart för utvärderare som utvärderar agentbeteende mot instruktioner, inklusive task_adherence, task_completion, tool_call_accuracy, tool_selection, tool_input_accuracyoch tool_output_utilizationgroundedness:

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

Format för verktygsdefinitioner

Fältet tool_definitions beskriver de verktyg som är tillgängliga för agenten. Den innehåller en lista över verktygsobjekt med ett name, descriptionoch JSON-schemaobjekt parameters :

[
  {
    "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"]
    }
  }
]

Inkludera den tool_definitions här listan som fält i testdatauppsättningen tillsammans med query och response.

Exempelkonfiguration:

Syntax för datamappning:

  • {{item.field_name}} refererar till fält från testdatauppsättningen (till exempel {{item.query}}).
  • {{sample.output_items}} refererar till agentens strukturerade utdata, inklusive verktygsanrop och resultat. Använd detta för utvärderare som behöver fullständig interaktionskontext (task_adherence, , tool_call_accuracytool_selection, tool_input_accuracy, tool_output_utilization).
  • {{sample.output_text}} refererar till agentens oformaterade textsvar. Använd detta för utvärderare som förväntar sig ett strängsvar (till exempel coherence, violence).

Här är ett exempel på en konfiguration för uppgiftsefterlevnad:

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

Mer information om hur du kör utvärderingar och konfiguration av datakällor finns i Köra utvärderingar från SDK :t.

Exempel på utdata

Agentutvärderingar returnerar resultat för pass/fail med resonemang. Nyckelutdatafält:

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

För utvärderare som använder en 1–5-skala före tröskelvärdet (till exempel intent_resolution och tool_call_accuracy) innehåller utdata ett numeriskt score fält tillsammans med resultatet för 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
}

Aktivitetsnavigeringseffektivitet

Aktivitetsnavigeringseffektivitet mäter om agenten vidtog en optimal sekvens med åtgärder genom att jämföra med en förväntad sekvens (grundsanning). Använd den här utvärderaren för arbetsflödesoptimering och regressionstestning.

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

Matchningslägen:

Mode Beskrivning
exact_match Agentens bana måste matcha den grundläggande sanningen exakt (ordning och innehåll)
in_order_match Alla mark sanningssteg måste visas i agentens bana i rätt ordning (extra steg tillåts)
any_order_match Alla mark sanningssteg måste visas i agentens bana, ordning spelar ingen roll (extra steg tillåts)

Åtgärdsformat:

Mappa antingen actions eller messages med expected_actions. Fältet actions accepterar en sträng eller en lista över meddelandeobjekt. Fältet messages accepterar den fullständiga interaktionen som en matris med meddelandeobjekt. Varje åtgärdsmeddelande representerar ett steg som agenten tog under konversationen:

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

Fälten actions och expected_actions använder olika format. actions innehåller agentens faktiska beteende som text- eller meddelandeobjekt, medan expected_actions innehåller de förväntade verktygsnamnen och eventuellt deras parametrar.

Så här anger du agentinteraktionen som meddelanden i stället för actionsmappning messages och expected_actions:

"data_mapping": {
    "messages": "{{item.messages}}",
    "expected_actions": "{{item.expected_actions}}",
}

Format för förväntade åtgärder:

expected_actions Kan vara en enkel lista över förväntade steg:

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

Eller en tuppeln med verktygsnamn och parametrar för mer detaljerad validering:

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

Output:

Returnerar ett binärt resultat för pass/fail plus precision, träffsäkerhet och F1-poäng:

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

Agentmeddelandeschema

Agentutvärderingar använder meddelandematriser när de behöver instruktioner, verktygsanrop och verktygsresultat. Den kanoniska meddelandestrukturen, rolldefinitionerna och exempeldata finns i Meddelanden med verktygsanrop och Separat fråge- och svarsformat.