Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Important
Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi 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.
| Evaluator | Best practice | Use when | Purpose | Output |
|---|---|---|---|---|
| Slutförd aktivitet (förhandsversion) | System evaluation | 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 | Binary: Pass/Fail |
| Uppgiftsefterlevnad (förhandsversion) | System evaluation | 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 | Binary: Pass/Fail |
| Aktivitetsnavigeringseffektivitet | System evaluation | 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 | Binary: Pass/Fail |
| Avsiktsmatchning (förhandsversion) | System evaluation | 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 | Process evaluation | Ö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) |
| Tool Selection | Process evaluation | 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 | Binary: Pass/Fail |
| Precision för verktygsinmatning | Process evaluation | 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 | Binary: Pass/Fail |
| Verktygsutdataanvändning | Process evaluation | 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 | Binary: Pass/Fail |
| Verktygsanrop lyckades | Process evaluation | Ö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 | Binary: Pass/Fail |
System evaluation
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?
- 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:
- Task completion (förhandsversion) exempel
- Exempel på aktivitetsefterlevnad
- Task-exempel på navigeringseffektivitet
- Intent-lösningsexempel
Process evaluation
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:
- Tool-anropsprecisionsexempel
- Tool-urvalsexempel
- Tool-indatanoggrannhetsexempel
- Tool-utdataanvändningsexempel
- Tool anropa lyckat exempel
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. För komplex utvärdering som kräver förfinade resonemang rekommenderar gpt-5-mini vi för dess balans mellan prestanda, kostnad och effektivitet.
Supported tools
Agentutvärderingar stöder följande verktyg:
- File Search
- Funktionsverktyg (användardefinierade verktyg)
- MCP
- Knowledge-based 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
- Bing Grounding
- Anpassad Bing-sökning
- SharePoint Grounding
- Code Interpreter
- 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:
| Evaluator | Required inputs | Required parameters |
|---|---|---|
| Slutförd aktivitet (förhandsversion) |
query, response |
deployment_name |
| Uppgiftsefterlevnad (förhandsversion) |
query, response |
deployment_name |
| Avsiktsmatchning (förhandsversion) |
query, response |
deployment_name |
| Noggrannhet för verktygsanrop | (query, response, tool_definitions) ELLER (query, tool_calls, tool_definitions) |
deployment_name |
| Tool Selection | (query, response, tool_definitions) ELLER (query, tool_calls, tool_definitions) |
deployment_name |
| Precision för verktygsinmatning |
query, , responsetool_definitions |
deployment_name |
| Verktygsutdataanvändning |
query, , responsetool_definitions |
deployment_name |
| Verktygsanrop lyckades | response |
deployment_name |
| Aktivitetsnavigeringseffektivitet |
actions, expected_actions |
(none) |
Example input
Testdatauppsättningen ska innehålla de fält som refereras till i dina datamappningar. Båda fälten accepterar enkla strängar eller konversationsmatriser:
{"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."}
Om du vill ha mer komplexa agentinteraktioner med verktygsanrop använder du konversationsmatrisformatet. Det här formatet följer OpenAI-meddelandeschemat (se Agentmeddelandeschema). 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", "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."}
]
}
Format för verktygsdefinitioner
Fältet tool_definitions beskriver de verktyg som är tillgängliga för agenten. Den följer openAI-funktionsanropsschemat – en lista över verktygsobjekt, där varje objekt innehåller en type (alltid "function") och en function beskrivning:
[
{
"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"]
}
}
}
]
Inkludera den tool_definitions här listan som fält i testdatauppsättningen tillsammans med query och response.
Configuration example
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 exempelcoherence,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.
Example output
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}}"
},
}
Matching modes:
| Mode | Description |
|---|---|
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) |
Actions format:
Fältet actions tar en lista över meddelandeobjekt som följer OpenAI-meddelandeschemat. Varje meddelande 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 kräver openAI-ordlistor för meddelandeschema (som representerar agentens faktiska beteende), medan expected_actions en enkel lista med verktygsnamn används (som representerar den grundläggande sanningen).
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
När du använder konversationsmatrisformatet query och response följer openAI-meddelandestrukturen:
- fråga: Innehåller konversationshistoriken som leder fram till användarens begäran. Inkludera systemmeddelandet för att tillhandahålla kontext för utvärderare som utvärderar agentbeteende mot instruktioner.
- svar: Innehåller agentens svar, inklusive eventuella verktygsanrop och deras resultat.
Message schema:
[
{
"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
}
]
}
]
Role types:
| Role | Description |
|---|---|
system |
Agentinstruktioner (valfritt, placerat i början av frågan) |
user |
Användarmeddelanden och begäranden |
assistant |
Agentsvar, inklusive verktygsanrop |
tool |
Resultat av verktygskörning |
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."}]}
]
}