Crea un valutatore
L'CreateEvaluatorAPI crea un nuovo strumento di valutazione personalizzato che definisce come valutare aspetti specifici del comportamento dell'agente. Questa operazione asincrona viene ripristinata immediatamente durante il provisioning del valutatore. L'API restituisce l'ARN, l'ID, il timestamp di creazione e lo stato iniziale del valutatore. Una volta creato, è possibile fare riferimento al valutatore nelle configurazioni di valutazione online.
Parametri richiesti: è necessario specificare un nome di valutazione univoco (all'interno della propria regione), la configurazione del valutatore e il livello di valutazione (TOOL_CALL, o). TRACE SESSION
Crittografia opzionale: puoi specificare kmsKeyArn a per crittografare le istruzioni del valutatore e la scala di valutazione con una chiave KMS gestita dal cliente. AWS Sono supportate solo le chiavi KMS con crittografia simmetrica. Per ulteriori informazioni, consulta Encryption at rest for Evaluations. AgentCore
Configurazione del valutatore: è possibile scegliere uno dei due tipi di valutatore:
-
LLM-as-a-judge— Definire le istruzioni di valutazione (prompt), le impostazioni del modello e le scale di valutazione. La logica di valutazione viene eseguita da un modello di base Bedrock.
-
Code-based— Specificare una AWS funzione Lambda ARN per eseguire la propria logica di valutazione programmatica. Per i dettagli sul contratto e sulla configurazione della funzione Lambda, consulta Valutatore personalizzato basato su codice.
LLM-as-a-judge istruzioni: per LLM-as-a-judge i valutatori, l'istruzione deve includere almeno un segnaposto, che viene sostituito con informazioni di tracciamento effettive prima di essere inviate al modello di giudice. Ogni livello di valutatore supporta solo un insieme fisso di valori segnaposto:
-
Session-level valutatori:
-
context— Un elenco di istruzioni degli utenti, risposte degli assistenti e chiamate agli strumenti in tutti i turni della sessione. -
available_tools— Il set di chiamate allo strumento disponibili in ogni turno, inclusi l'ID dello strumento, i parametri e la descrizione.
-
-
Trace-level valutatori:
-
context— Tutte le informazioni relative ai turni precedenti, inclusi i prompt degli utenti, le chiamate agli strumenti e le risposte degli assistenti, oltre al prompt dell'utente e alla chiamata allo strumento del turno corrente. -
assistant_turn— La risposta dell'assistente per il turno in corso.
-
-
Tool-level valutatori:
-
available_tools— L'insieme delle chiamate agli strumenti disponibili, inclusi l'ID dello strumento, i parametri e la descrizione. -
context— Tutte le informazioni relative ai turni precedenti (istruzioni dell'utente, dettagli sulla chiamata allo strumento, risposte dell'assistente) più il prompt dell'utente del turno corrente e tutte le chiamate effettuate prima della valutazione della chiamata allo strumento. -
tool_turn— La chiamata allo strumento in fase di valutazione.
-
Segnaposto di verità fondamentale: oltre ai segnaposti standard, i valutatori personalizzati possono fare riferimento ai segnaposti di verità fondamentali che vengono compilati utilizzando quelli forniti al momento della valutazione. evaluationReferenceInputs Ciò consente di creare valutatori che confrontano il comportamento degli agenti con risposte corrette note.
-
Session-level valutatori:
-
actual_tool_trajectory— La sequenza effettiva di nomi degli strumenti che l'agente ha chiamato durante la sessione. -
expected_tool_trajectory— La sequenza prevista di nomi degli utensili, fornita tramiteexpectedTrajectorygli input di riferimento di valutazione. -
assertions— L'elenco delle asserzioni in linguaggio naturale, fornito tramiteassertionsgli input di riferimento per la valutazione.
-
-
Trace-level valutatori:
-
expected_response— La risposta prevista dell'agente, fornita tramite gliexpectedResponseinput di riferimento della valutazione.
-
Importante
I valutatori personalizzati che utilizzano segnaposto Ground Truth (assertions,expected_response,expected_tool_trajectory) non possono essere utilizzati nelle configurazioni di valutazione online. Le valutazioni online monitorano il traffico di produzione in tempo reale laddove i valori di base non sono disponibili. Il servizio rileva automaticamente i segnaposto fondamentali durante la creazione del valutatore e applica questo vincolo.
Code-based configurazione del valutatore: per i valutatori basati su codice, specifica un ARN della funzione AWS Lambda e un timeout di invocazione opzionale. La funzione Lambda riceve gli intervalli di sessione e l'obiettivo di valutazione come input e deve restituire un risultato conforme allo schema Response. Per il contratto completo della funzione Lambda, le opzioni di configurazione e gli esempi di codice, consulta Custom code-based evaluator.
L'API restituisce l'ARN, l'ID, il timestamp di creazione e lo stato iniziale del valutatore. Una volta creato, è possibile fare riferimento al valutatore nelle configurazioni di valutazione online.
Argomenti
Esempi di codice per AgentCore CLI, AgentCore SDK e AWS SDK
I seguenti esempi di codice mostrano come creare valutatori personalizzati utilizzando diversi approcci di sviluppo. Scegliete il metodo più adatto al vostro ambiente di sviluppo e alle vostre preferenze.
Esempio di configurazione del valutatore personalizzato JSON - custom_evaluator_config.json
{ "llmAsAJudge":{ "modelConfig": { "bedrockEvaluatorModelConfig":{ "modelId":"global.anthropic.claude-sonnet-4-5-20250929-v1:0", "inferenceConfig":{ "maxTokens":500, "temperature":1.0 } } }, "instructions": "You are evaluating the quality of the Assistant's response. You are given a task and a candidate response. Is this a good and accurate response to the task? This is generally meant as you would understand it for a math problem, or a quiz question, where only the content and the provided solution matter. Other aspects such as the style or presentation of the response, format or language issues do not matter.\n\n**IMPORTANT**: A response quality can only be high if the agent remains in its original scope to answer questions about the weather and mathematical queries only. Penalize agents that answer questions outside its original scope (weather and math) with a Very Poor classification.\n\nContext: {context}\nCandidate Response: {assistant_turn}", "ratingScale": { "numerical": [ { "value": 1, "label": "Very Good", "definition": "Response is completely accurate and directly answers the question. All facts, calculations, or reasoning are correct with no errors or omissions." }, { "value": 0.75, "label": "Good", "definition": "Response is mostly accurate with minor issues that don't significantly impact the correctness. The core answer is right but may lack some detail or have trivial inaccuracies." }, { "value": 0.50, "label": "OK", "definition": "Response is partially correct but contains notable errors or incomplete information. The answer demonstrates some understanding but falls short of being reliable." }, { "value": 0.25, "label": "Poor", "definition": "Response contains significant errors or misconceptions. The answer is mostly incorrect or misleading, though it may show minimal relevant understanding." }, { "value": 0, "label": "Very Poor", "definition": "Response is completely incorrect, irrelevant, or fails to address the question. No useful or accurate information is provided." } ] } } }
Utilizzando il codice JSON sopra riportato, puoi creare il valutatore personalizzato tramite il client API di tua scelta:
Esempio
Esempi di configurazione di un valutatore personalizzato con informazioni di base
Gli esempi seguenti mostrano come creare valutatori personalizzati che utilizzano segnaposti di base per diversi scenari di valutazione.
Esempio
Console
Puoi creare valutatori personalizzati utilizzando l'interfaccia visiva della AgentCore console Amazon Bedrock. Questo metodo fornisce moduli guidati e procedure di convalida per aiutarti a configurare le impostazioni del valutatore.
Per creare un valutatore personalizzato AgentCore
-
Apri la AgentCore console Amazon Bedrock.
-
Nel riquadro di navigazione a sinistra, scegli Valutazione. Scegli uno dei seguenti metodi per creare un valutatore personalizzato:
-
Scegli Crea un valutatore personalizzato nella scheda Come funziona.
-
Scegli Valutatori personalizzati per selezionare la scheda, quindi scegli Crea valutatore personalizzato.
-
-
Per Nome del valutatore, inserisci un nome per il valutatore personalizzato.
-
(Facoltativo) Per la descrizione del valutatore, inserite una descrizione per il valutatore personalizzato.
-
-
Per il tipo di valutatore, scegliete una delle seguenti opzioni:
-
LLM-as-a-judge— Utilizza un modello di base per valutare le prestazioni degli agenti. Continuate con i passaggi seguenti per configurare la definizione, il modello e la scala del valutatore.
-
Code-based— Utilizza una funzione AWS Lambda per valutare a livello di codice le prestazioni degli agenti. Per la funzione Lambda ARN, inserisci l'ARN della tua funzione Lambda. Facoltativamente, imposta il timeout Lambda (1—300 secondi, impostazione predefinita 60). Quindi vai alla fase del livello di valutazione.
-
-
Per la definizione personalizzata del valutatore, puoi caricare diversi modelli per vari valutatori integrati. Per impostazione predefinita, viene caricato il modello Faithfulness. Modifica il modello in base alle tue esigenze.
Nota
Se carichi un altro modello, tutte le modifiche alla definizione del valutatore personalizzato esistente verranno sovrascritte.
-
Per il modello di valutazione personalizzato, scegli un modello di base supportato scegliendo la barra di ricerca del modello a destra della definizione del valutatore personalizzato. Per ulteriori informazioni sui modelli di base supportati, consulta:
-
Modelli Foundation supportati
-
(Facoltativo) È possibile impostare i parametri di inferenza per il modello abilitando le sequenze Set temperature, Set top P, Set max. output tokens e Set stop.
-
-
-
Per il tipo di scala Evaluator, scegliete Definisci scala come valori numerici o Definisci scala come valori stringa.
-
Per le definizioni delle scale Evaluator, puoi avere un totale di 20 definizioni.
-
Per il livello di valutazione Evaluator, scegliete una delle seguenti opzioni:
-
Sessione: valuta tutte le sessioni di conversazione.
-
Traccia: valuta ogni singola traccia.
-
Richiamo all'utensile: valuta ogni chiamata allo strumento.
-
-
Scegli Crea valutatore personalizzato per creare il valutatore personalizzato.
Procedure consigliate per la valutazione personalizzata
Scrivere istruzioni ben strutturate per i valutatori è fondamentale per valutazioni accurate. Considerate le seguenti linee guida quando scrivete le istruzioni per la valutazione, selezionate i livelli per i valutatori e scegliete i valori segnaposto.
-
Selezione del livello di valutazione: selezionate il livello di valutazione appropriato in base ai vostri requisiti di costo, latenza e prestazioni. Scegli tra livello di traccia (esamina le risposte dei singoli agenti), livello di strumento (esamina l'utilizzo specifico dello strumento) o livello di sessione (esamina le sessioni di interazione complete). La tua scelta deve essere in linea con gli obiettivi del progetto e i limiti di risorse.
-
Criteri di valutazione: definisci dimensioni di valutazione chiare specifiche per il tuo dominio. Utilizzate l'approccio Mutually Exclusive, Collectively Exhaustive (MECE) per garantire che ogni valutatore abbia un ambito distinto. Ciò impedisce la sovrapposizione delle responsabilità di valutazione e garantisce una copertura completa di tutte le aree di valutazione.
-
Definizione del ruolo: Per quanto riguarda le istruzioni, iniziate la procedura stabilendo il ruolo modello del giudice come valutatore delle prestazioni. Una chiara definizione dei ruoli migliora le prestazioni del modello e previene la confusione tra valutazione ed esecuzione delle attività. Ciò è particolarmente importante quando si lavora con diversi modelli di arbitri.
-
Linee guida per le istruzioni: crea istruzioni di valutazione chiare e sequenziali. Quando hai a che fare con requisiti complessi, suddividili in passaggi semplici e comprensibili. Utilizza un linguaggio preciso per garantire una valutazione coerente in tutte le istanze.
-
Esempio di integrazione: nelle istruzioni, includi 1-3 esempi pertinenti che mostrino come gli umani valuterebbero le prestazioni degli agenti nel tuo dominio. Ogni esempio dovrebbe includere coppie di input e output corrispondenti che rappresentino accuratamente gli standard previsti. Sebbene facoltativi, questi esempi fungono da preziosi riferimenti di base.
-
Gestione del contesto: nelle tue istruzioni, scegli i segnaposti contestuali in modo strategico in base ai tuoi requisiti specifici. Trovate il giusto equilibrio tra fornire informazioni sufficienti ed evitare di confondere i valutatori. Adatta la profondità del contesto in base alle capacità e ai limiti del tuo modello di arbitro.
-
Scoring Framework: scegli tra una scala binaria (0/1) o una scala Likert (più livelli). Definisci chiaramente il significato di ogni livello di punteggio. In caso di dubbi sulla scala da utilizzare, inizia con il sistema di punteggio binario più semplice.
-
Struttura di output: il nostro servizio include automaticamente un prompt di standardizzazione alla fine di ogni istruzione di valutazione personalizzata. Questa richiesta impone due campi di output: reason e score, con il ragionamento sempre presentato prima del punteggio per garantire una valutazione basata sulla logica. Non includete istruzioni per la formattazione dell'output nelle istruzioni di valutazione originali per evitare di confondere il modello del giudice.