Créer un évaluateur
L'CreateEvaluatorAPI crée un nouvel évaluateur personnalisé qui définit comment évaluer des aspects spécifiques du comportement de votre agent. Cette opération asynchrone revient immédiatement pendant le provisionnement de l'évaluateur. L'API renvoie l'ARN, l'ID, l'horodatage de création et le statut initial de l'évaluateur. Une fois créé, l'évaluateur peut être référencé dans les configurations d'évaluation en ligne.
Paramètres obligatoires : vous devez spécifier un nom d'évaluateur unique (dans votre région), une configuration d'évaluateur et un niveau d'évaluation (TOOL_CALLTRACE, ouSESSION).
Chiffrement facultatif : vous pouvez spécifier un kmsKeyArn pour chiffrer les instructions et l'échelle d'évaluation de l'évaluateur à l'aide d'une clé AWS KMS gérée par le client. Seules les clés KMS de chiffrement symétriques sont prises en charge. Pour plus d'informations, consultez la section Chiffrement au repos pour les AgentCore évaluations.
Configuration de l'évaluateur : vous pouvez choisir l'un des deux types d'évaluateurs suivants :
-
LLM-as-a-judge— Définissez les instructions d'évaluation (invites), les paramètres du modèle et les échelles d'évaluation. La logique d'évaluation est exécutée par un modèle de fondation Bedrock.
-
Code-based— Spécifiez un ARN de AWS fonction Lambda pour exécuter votre propre logique d'évaluation programmatique. Pour plus de détails sur le contrat et la configuration de la fonction Lambda, consultez la section Evaluateur personnalisé basé sur du code.
LLM-as-a-judge instructions : Pour les LLM-as-a-judge évaluateurs, les instructions doivent inclure au moins un espace réservé, qui est remplacé par des informations de suivi réelles avant d'être envoyées au modèle du juge. Chaque niveau d'évaluateur ne prend en charge qu'un ensemble fixe de valeurs d'espace réservé :
-
Session-level évaluateurs :
-
context— Une liste des instructions de l'utilisateur, des réponses de l'assistant et des appels aux outils à chaque étape de la session. -
available_tools— L'ensemble des appels d'outils disponibles à chaque tour, y compris l'identifiant, les paramètres et la description de l'outil.
-
-
Trace-level évaluateurs :
-
context— Toutes les informations relatives aux tours précédents, y compris les instructions de l'utilisateur, les appels aux outils et les réponses de l'assistant, ainsi que l'invite utilisateur et l'appel aux outils du tour en cours. -
assistant_turn— La réponse de l'assistant pour le tour en cours.
-
-
Tool-level évaluateurs :
-
available_tools— L'ensemble des appels d'outils disponibles, y compris l'identifiant, les paramètres et la description de l'outil. -
context— Toutes les informations relatives aux tours précédents (instructions de l'utilisateur, détails de l'appel à l'outil, réponses de l'assistant), ainsi que l'invite utilisateur du tour en cours et tous les appels d'outils effectués avant l'évaluation de l'appel d'outil. -
tool_turn— L'appel à outils est en cours d'évaluation.
-
Espaces réservés à Ground Truth : Outre les espaces réservés standard, les évaluateurs personnalisés peuvent référencer des espaces réservés Ground Truth qui sont renseignés à partir de ceux evaluationReferenceInputs fournis au moment de l'évaluation. Cela vous permet de créer des évaluateurs qui comparent le comportement des agents aux bonnes réponses connues.
-
Session-level évaluateurs :
-
actual_tool_trajectory— La séquence réelle des noms d'outils auxquels l'agent a appelé pendant la session. -
expected_tool_trajectory— La séquence attendue de noms d'outils, fournieexpectedTrajectorydans les entrées de référence d'évaluation. -
assertions— La liste des assertions en langage naturel, fournieassertionsdans les entrées de référence de l'évaluation.
-
-
Trace-level évaluateurs :
-
expected_response— La réponse attendue de l'agent, fournieexpectedResponsedans les entrées de référence de l'évaluation.
-
Important
Les évaluateurs personnalisés qui utilisent des balises Ground Truth (assertions,expected_response,expected_tool_trajectory) ne peuvent pas être utilisés dans les configurations d'évaluation en ligne. Les évaluations en ligne surveillent le trafic de production en temps réel lorsque les valeurs de base ne sont pas disponibles. Le service détecte automatiquement les balises Ground Truth lors de la création de l'évaluateur et applique cette contrainte.
Code-based configuration de l'évaluateur : pour les évaluateurs basés sur du code, spécifiez un ARN de fonction AWS Lambda et un délai d'invocation facultatif. La fonction Lambda reçoit les durées de session et la cible d'évaluation en entrée, et doit renvoyer un résultat conforme au schéma de réponse. Pour le contrat complet de la fonction Lambda, les options de configuration et les exemples de code, voir Évaluateur personnalisé basé sur le code.
L'API renvoie l'ARN, l'ID, l'horodatage de création et le statut initial de l'évaluateur. Une fois créé, l'évaluateur peut être référencé dans les configurations d'évaluation en ligne.
Rubriques
Exemples de code pour la AgentCore CLI, le AgentCore SDK et AWS Kit SDK
Les exemples de code suivants montrent comment créer des évaluateurs personnalisés à l'aide de différentes approches de développement. Choisissez la méthode qui correspond le mieux à votre environnement de développement et à vos préférences.
Exemple de configuration d'évaluateur personnalisé 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." } ] } } }
À l'aide du JSON ci-dessus, vous pouvez créer l'évaluateur personnalisé via le client API de votre choix :
Exemple
Exemples de configuration d'évaluateurs personnalisés avec Ground Truth
Les exemples suivants montrent comment créer des évaluateurs personnalisés qui utilisent des espaces réservés Ground Truth pour différents scénarios d'évaluation.
Exemple
Console
Vous pouvez créer des évaluateurs personnalisés à l'aide de l'interface visuelle de la AgentCore console Amazon Bedrock. Cette méthode fournit des formulaires guidés et une validation pour vous aider à configurer les paramètres de votre évaluateur.
Pour créer un évaluateur AgentCore personnalisé
-
Ouvrez la AgentCore console Amazon Bedrock.
-
Dans le volet de navigation de gauche, choisissez Evaluation. Choisissez l'une des méthodes suivantes pour créer un évaluateur personnalisé :
-
Choisissez Créer un évaluateur personnalisé sous la carte Comment ça marche.
-
Choisissez Évaluateurs personnalisés pour sélectionner la carte, puis choisissez Créer un évaluateur personnalisé.
-
-
Dans Nom de l'évaluateur, entrez le nom de l'évaluateur personnalisé.
-
(Facultatif) Pour la description de l'évaluateur, entrez une description pour l'évaluateur personnalisé.
-
-
Pour le type d'évaluateur, choisissez l'une des options suivantes :
-
LLM-as-a-judge— Utilise un modèle de base pour évaluer les performances des agents. Suivez les étapes ci-dessous pour configurer la définition, le modèle et l'échelle de l'évaluateur.
-
Code-based— Utilise une fonction AWS Lambda pour évaluer par programmation les performances des agents. Pour l'ARN de la fonction Lambda, entrez l'ARN de votre fonction Lambda. Définissez éventuellement le délai d'expiration Lambda (1 à 300 secondes, 60 par défaut). Passez ensuite à l'étape du niveau d'évaluation.
-
-
Pour la définition d'un évaluateur personnalisé, vous pouvez charger différents modèles pour différents évaluateurs intégrés. Par défaut, le modèle Faithfulness est chargé. Modifiez le modèle en fonction de vos besoins.
Note
Si vous chargez un autre modèle, toute modification apportée à votre définition d'évaluateur personnalisée existante sera remplacée.
-
Pour le modèle d'évaluateur personnalisé, choisissez un modèle de base pris en charge en choisissant la barre de recherche du modèle à droite de la définition de l'évaluateur personnalisé. Pour plus d'informations sur les modèles de fondation pris en charge, voir :
-
Modèles de fondation pris en charge
-
(Facultatif) Vous pouvez définir les paramètres d'inférence du modèle en activant Set temperature, Set top P, Set max. tokens de sortie et Set stop sequence.
-
-
-
Pour le type d'échelle d'évaluateur, choisissez Définir l'échelle sous forme de valeurs numériques ou Définir l'échelle sous forme de valeurs de chaîne.
-
Pour les définitions d'échelle de l'évaluateur, vous pouvez avoir un total de 20 définitions.
-
Pour le niveau d'évaluation de l'évaluateur, choisissez l'une des options suivantes :
-
Session — Évaluez l'ensemble des sessions de conversation.
-
Tracer : évaluez chaque trace individuelle.
-
Appel d'outil — Évaluez chaque appel d'outil.
-
-
Choisissez Créer un évaluateur personnalisé pour créer l'évaluateur personnalisé.
Bonnes pratiques pour les évaluateurs personnalisés
La rédaction d'instructions bien structurées pour les évaluateurs est essentielle pour des évaluations précises. Tenez compte des directives suivantes lorsque vous rédigez des instructions pour l'évaluateur, sélectionnez des niveaux d'évaluateur et choisissez des valeurs d'espace réservé.
-
Sélection du niveau d'évaluation : sélectionnez le niveau d'évaluation approprié en fonction de vos exigences en matière de coûts, de latence et de performances. Choisissez entre le niveau de trace (examine les réponses individuelles des agents), le niveau d'outil (examine l'utilisation spécifique des outils) ou le niveau de session (les révisions complètent les sessions d'interaction). Votre choix doit correspondre aux objectifs du projet et aux contraintes en matière de ressources.
-
Critères d'évaluation : définissez des dimensions d'évaluation claires spécifiques à votre domaine. Utilisez l'approche MUTUELLEMENT EXCLUSIVE, COLLECTIVE EXHAUSTIVE (MECE) pour vous assurer que chaque évaluateur dispose d'un champ d'action distinct. Cela permet d'éviter le chevauchement des responsabilités d'évaluation et de garantir une couverture complète de tous les domaines d'évaluation.
-
Définition du rôle : Pour les instructions, commencez par définir le rôle modèle du juge en tant qu'évaluateur de performance. Une définition claire des rôles améliore les performances du modèle et évite toute confusion entre l'évaluation et l'exécution des tâches. Cela est particulièrement important lorsque vous travaillez avec différents modèles de juges.
-
Directives d'instructions : Créez des instructions d'évaluation claires et séquentielles. Lorsque vous faites face à des exigences complexes, décomposez-les en étapes simples et compréhensibles. Utilisez un langage précis pour garantir une évaluation cohérente dans toutes les instances.
-
Exemple d'intégration : dans vos instructions, intégrez 1 à 3 exemples pertinents montrant comment les humains évalueraient les performances des agents dans votre domaine. Chaque exemple doit inclure des paires d'entrée et de sortie correspondantes qui représentent avec précision vos normes attendues. Bien que facultatifs, ces exemples constituent de précieuses références de référence.
-
Gestion du contexte : dans vos instructions, choisissez des espaces réservés au contexte de manière stratégique en fonction de vos besoins spécifiques. Trouvez le juste équilibre entre fournir suffisamment d'informations et éviter toute confusion chez les évaluateurs. Ajustez la profondeur du contexte en fonction des capacités et des limites de votre modèle de juge.
-
Cadre de notation : Choisissez entre une échelle binaire (0/1) ou une échelle de Likert (plusieurs niveaux). Définissez clairement la signification de chaque niveau de score. En cas de doute quant à l'échelle à utiliser, commencez par le système de notation binaire plus simple.
-
Structure de sortie : Notre service inclut automatiquement une invite de standardisation à la fin de chaque instruction personnalisée de l'évaluateur. Cette invite applique deux champs de sortie : raison et score, le raisonnement étant toujours présenté avant le score pour garantir une évaluation basée sur la logique. N'incluez pas d'instructions de formatage de sortie dans les instructions d'évaluation d'origine pour éviter de confondre le modèle du juge.