Valutazioni fondamentali della verità
La verità fondamentale è la risposta corretta nota o il comportamento previsto per un determinato input, il «gold standard» con cui si confrontano i risultati effettivi. Per quanto riguarda la valutazione degli agenti, ground truth trasforma la valutazione soggettiva della qualità in una misurazione oggettiva, consentendo il rilevamento della regressione, set di dati di benchmark e una correttezza specifica del dominio che i valutatori generici non sono in grado di fornire da soli.
Con Ground Truth Evaluations, quando si chiama l'API Evaluate, è possibile fornire input di riferimento parallelamente alla durata delle sessioni. Il servizio utilizza questi input di riferimento per valutare il comportamento effettivo dell'agente rispetto al comportamento previsto. I valutatori che non utilizzano un particolare campo di verità fondamentale lo ignorano e segnalano quali campi non sono stati utilizzati nella risposta.
Argomenti
Valutatori integrati e campi di verità fondamentali supportati
La tabella seguente mostra quali valutatori integrati supportano Ground Truth e quali campi utilizzano.
| Valutatore | Livello | Campo fondamentale di verità | Description |
|---|---|---|---|
|
|
Traccia |
|
Misura la precisione con cui la risposta dell'agente corrisponde alla risposta prevista. Utilizza il LLM-as-a-Judge punteggio. |
|
|
Sessione |
|
Verifica se il comportamento dell'agente soddisfa le asserzioni in linguaggio naturale durante l'intera sessione. LLM-as-a-Judge Utilizza il punteggio. |
|
|
Sessione |
|
Verifica che la sequenza effettiva di chiamata degli utensili corrisponda esattamente alla sequenza prevista: stessi utensili, stesso ordine, nessun extra. Punteggio programmatico (nessuna chiamata LLM). |
|
|
Sessione |
|
Verifica che tutti gli strumenti previsti appaiano in ordine all'interno della sequenza effettiva, ma consente l'utilizzo di strumenti aggiuntivi tra di essi. Punteggio programmatico. |
|
|
Sessione |
|
Verifica che tutti gli strumenti previsti siano presenti nella sequenza effettiva, indipendentemente dall'ordine. Sono consentiti strumenti aggiuntivi. Punteggio programmatico. |
Nota
I valutatori personalizzati supportano anche i campi di base relativi alla verità tramite segnaposto nelle istruzioni di valutazione. Per maggiori dettagli, consulta Ground Truth nei valutatori personalizzati.
La tabella seguente descrive i campi di base della verità.
| Campo | Tipo | Scope | Description |
|---|---|---|---|
|
|
Stringa |
Traccia |
La risposta prevista dell'agente per un turno specifico. Limitato a una traccia utilizzando |
|
|
Elenco di stringhe |
Sessione |
Dichiarazioni in linguaggio naturale che dovrebbero essere vere sul comportamento dell'agente durante la sessione. |
|
|
Elenco dei nomi degli strumenti |
Sessione |
La sequenza prevista di chiamate agli strumenti per la sessione. |
-
I campi Ground Truth sono facoltativi. Se li ometti, i valutatori tornano alla loro modalità di base priva di verità (ad esempio, funziona
Builtin.Correctnessancora senzaexpectedResponse, ma valuta solo in base al contesto). -
È possibile fornire tutti i campi di verità fondamentali in un'unica richiesta. Il servizio seleziona i campi pertinenti per ogni valutatore e riporta
ignoredReferenceInputFieldsnella risposta tutti i campi che non sono stati utilizzati. -
Non è necessario fornire ogni
expectedResponsetraccia. Le tracce senza verità fondamentale vengono valutate utilizzando la variante priva di verità fondamentale del valutatore.
Prerequisiti
-
Python 3.10+
-
Un agente distribuito su AgentCore Runtime con l'osservabilità abilitata o un agente creato con un framework supportato configurato con Observability. AgentCore Framework supportati:
-
Agenti Strands
-
LangGraph con
opentelemetry-instrumentation-langchainoopeninference-instrumentation-langchain
-
-
Ricerca nelle transazioni abilitata in CloudWatch : vedi Abilita la ricerca nelle transazioni
-
AWS credenziali configurate con autorizzazioni per
bedrock-agentcorebedrock-agentcore-control, elogs() CloudWatch
Per istruzioni su come scaricare gli intervalli di sessione, consulta Guida introduttiva alla valutazione su richiesta.
Informazioni sugli esempi
Gli esempi in questa pagina utilizzano l'agente di esempio dei tutorial EvaluationsAgentCore .calculator e, ed weather è distribuito su AgentCore Runtime con l'osservabilità abilitata.
Gli esempi presuppongono una sessione a due turni:
-
Turno 1: «Quanto fa 15+ 27?» — l'agente utilizza lo
calculatorstrumento e risponde con il risultato. -
Turno 2: «Che tempo fa?» — l'agente utilizza lo
weatherstrumento e risponde in base alle condizioni meteorologiche attuali.
Prima di eseguire le valutazioni, richiama l'agente e attendi 2-5 minuti per inserire i dati di CloudWatch telemetria.
Le seguenti costanti vengono utilizzate negli esempi di questa pagina. Sostituiscile con i tuoi valori:
REGION = "<region-code>" AGENT_ID = "my-agent-id" SESSION_ID = "my-session-id" TRACE_ID_1 = "<trace-id-1>" # Turn 1: "What is 15 + 27?" TRACE_ID_2 = "<trace-id-2>" # Turn 2: "What's the weather?"
Correttezza rispetto alla risposta prevista
Builtin.Correctnessè un valutatore a livello di traccia che misura la precisione con cui la risposta dell'agente corrisponde alla risposta prevista. Quando forniteexpectedResponse, il valutatore confronta la risposta effettiva dell'agente con la vostra realtà reale utilizzando il punteggio. LLM-as-a-Judge
Esempio
GoalSuccessRate con asserzioni
Builtin.GoalSuccessRateè un valutatore a livello di sessione che verifica se il comportamento dell'agente soddisfa un insieme di asserzioni in linguaggio naturale. Le asserzioni possono controllare l'utilizzo degli strumenti, il contenuto della risposta, l'ordine delle azioni o qualsiasi altro comportamento osservabile durante l'intera conversazione.
Nota
Gli esempi seguenti utilizzano asserzioni che convalidano l'utilizzo dello strumento, ma le asserzioni sono un linguaggio naturale in formato libero: puoi utilizzarle per affermare qualsiasi aspetto del comportamento degli agenti, come il tono di risposta, l'accuratezza dei fatti, la conformità alla sicurezza o la logica aziendale.
Esempio
Corrispondenza della traiettoria alla traiettoria prevista
I valutatori della traiettoria confrontano l'effettiva sequenza di chiamata degli utensili da parte dell'agente con una sequenza prevista di nomi degli utensili. Sono disponibili tre varianti, ognuna con un diverso grado di rigore di abbinamento. Tutti e tre sono valutatori a livello di sessione e utilizzano il punteggio programmatico (nessuna chiamata LLM, quindi l'utilizzo dei token è zero).
| Valutatore | Regola di abbinamento | Esempio |
|---|---|---|
|
|
Il valore effettivo deve corrispondere esattamente a quello previsto: stessi strumenti, stesso ordine, nessun extra |
Previsto: |
|
|
Gli strumenti previsti devono apparire in ordine, ma tra di essi sono consentiti strumenti aggiuntivi |
Previsto: |
|
|
Tutti gli strumenti previsti devono essere presenti, l'ordine non ha importanza, gli extra sono consentiti |
Previsto: |
Esempio
Combinazione di tutti i campi di verità fondamentali in un'unica richiesta
È possibile passare insieme tutti i campi di verità fondamentali in un'unica chiamata di valutazione. Il servizio indirizza ogni campo al valutatore appropriato e ignora i campi che un determinato valutatore non utilizza. Ciò significa che è possibile creare gli input di riferimento una sola volta e riutilizzarli su diversi valutatori senza modificare il payload.
Esempio
Comprensione dei campi di input di riferimento ignorati
Quando fornisci campi di verità fondamentali che un valutatore non utilizza, la risposta include un ignoredReferenceInputFields array che elenca i campi non utilizzati. Si tratta di informazioni, non di errore: la valutazione viene comunque completata correttamente.
Ad esempio, se chiami Builtin.Helpfulness con expectedResponse provided, il valutatore ignora la verità fondamentale (Helpfulness non la usa) e restituisce:
{ "evaluatorId": "Builtin.Helpfulness", "value": 0.83, "label": "Very Helpful", "explanation": "...", "ignoredReferenceInputFields": ["expectedResponse"] }
Questo comportamento è dovuto alla progettazione: consente di costruire un unico set di input di riferimento e di utilizzarli su più valutatori senza modificare il carico utile per ciascuno di essi.
Fondamenta la verità nei valutatori personalizzati
I valutatori personalizzati possono utilizzare campi di verità fondamentali tramite segnaposto nelle loro istruzioni di valutazione. Quando crei un valutatore personalizzato, puoi fare riferimento ai seguenti segnaposto:
-
Session-level valutatori personalizzati:
{context},,,{available_tools}{actual_tool_trajectory}{expected_tool_trajectory}{assertions} -
Trace-level valutatori personalizzati:
{context},,{assistant_turn}{expected_response}
Ad esempio, un valutatore a livello di traccia personalizzato che verifica la somiglianza delle risposte potrebbe utilizzare:
Compare the agent's response with the expected response. Agent response: {assistant_turn} Expected response: {expected_response} Rate how closely the agent's response matches the expected response on a scale of 0 to 1.
Quando questo valutatore viene chiamato expectedResponse negli input di riferimento, il servizio sostituisce il segnaposto con il valore effettivo della verità fondamentale prima di assegnare il punteggio.
Per i dettagli sulla creazione di valutatori personalizzati, consulta Valutatori personalizzati.
Nota
I valutatori personalizzati che utilizzano segnaposto fondamentali ({assertions},,{expected_tool_trajectory}) non possono essere utilizzati nelle configurazioni di valutazione online{expected_response}, poiché le valutazioni online monitorano il traffico di produzione in tempo reale laddove i valori di base non sono disponibili.