Crear evaluador
La CreateEvaluator API crea un nuevo evaluador personalizado que define cómo evaluar aspectos específicos del comportamiento de su agente. Esta operación asíncrona se devuelve inmediatamente mientras se aprovisiona el evaluador. La API devuelve el ARN, el ID, la marca de tiempo de creación y el estado inicial del evaluador. Una vez creado, se puede hacer referencia al evaluador en las configuraciones de evaluación en línea.
Parámetros obligatorios: debe especificar un nombre de evaluador único (dentro de su región), una configuración de evaluador y un nivel de evaluación (TOOL_CALLTRACE, o). SESSION
Cifrado opcional: puede especificar un kmsKeyArn para cifrar las instrucciones y la escala de calificación del evaluador con una clave KMS administrada por el cliente. AWS Solo se admiten claves KMS de cifrado simétrico. Para obtener más información, consulte Cifrado en reposo para AgentCore evaluaciones.
Configuración del evaluador: puede elegir uno de los dos tipos de evaluadores:
-
LLM-as-a-judge— Defina las instrucciones de evaluación (indicaciones), la configuración del modelo y las escalas de calificación. La lógica de evaluación se ejecuta mediante un modelo básico de Bedrock.
-
Code-based— Especifique el ARN de una AWS función Lambda para ejecutar su propia lógica de evaluación programática. Para obtener más información sobre el contrato y la configuración de la función Lambda, consulte Evaluador personalizado basado en código.
LLM-as-a-judge instrucciones: para LLM-as-a-judge los evaluadores, la instrucción debe incluir al menos un marcador de posición, que se sustituye por la información de rastreo real antes de enviarse al modelo de juez. Cada nivel de evaluador solo admite un conjunto fijo de valores de marcador de posición:
-
Session-level evaluadores:
-
context— Una lista de las solicitudes de los usuarios, las respuestas de los asistentes y las llamadas a las herramientas en todos los turnos de la sesión. -
available_tools— El conjunto de herramientas disponibles en cada turno, que incluye el identificador de la herramienta, los parámetros y la descripción.
-
-
Trace-level evaluadores:
-
context— Toda la información de los turnos anteriores, incluidas las indicaciones del usuario, las llamadas a las herramientas y las respuestas del asistente, además de las instrucciones del usuario y las llamadas a las herramientas del turno actual. -
assistant_turn— La respuesta del asistente para el turno actual.
-
-
Tool-level evaluadores:
-
available_tools— El conjunto de llamadas a las herramientas disponibles, incluidos el identificador, los parámetros y la descripción de la herramienta. -
context— Toda la información de los turnos anteriores (indicaciones del usuario, detalles de las llamadas a la herramienta, respuestas del asistente) más la solicitud de usuario del turno actual y cualquier llamada a la herramienta realizada antes de la evaluación de la llamada a la herramienta. -
tool_turn— La llamada de herramienta que se está evaluando.
-
Marcadores de posición basados en la verdad: además de los marcadores de posición estándar, los evaluadores personalizados pueden hacer referencia a los marcadores de posición basados en la evaluationReferenceInputs información proporcionada en el momento de la evaluación. Esto le permite crear evaluadores que comparen el comportamiento de los agentes con las respuestas que se sabe que son correctas.
-
Session-level evaluadores:
-
actual_tool_trajectory— La secuencia real de nombres de herramientas al agente al que se llamó durante la sesión. -
expected_tool_trajectory— La secuencia esperada de nombres de herramientas, proporcionadaexpectedTrajectoryen las entradas de referencia de la evaluación. -
assertions— La lista de afirmaciones en lenguaje natural, proporcionadaassertionsen las entradas de referencia de la evaluación.
-
-
Trace-level evaluadores:
-
expected_response— La respuesta esperada del agente, proporcionada a través de las entradasexpectedResponsede referencia de la evaluación.
-
importante
Los evaluadores personalizados que utilizan marcadores de posición basados en la verdad (assertions,expected_response,expected_tool_trajectory) no se pueden utilizar en las configuraciones de evaluación en línea. Las evaluaciones en línea supervisan el tráfico de producción en directo cuando los valores reales no están disponibles. El servicio detecta automáticamente los marcadores de la verdad fundamental durante la creación del evaluador y hace cumplir esta restricción.
Code-based configuración del evaluador: para los evaluadores basados en código, especifique un ARN de AWS función Lambda y un tiempo de espera de invocación opcional. La función Lambda recibe los intervalos de sesión y el objetivo de la evaluación como entrada y debe devolver un resultado que se ajuste al esquema de respuesta. Para ver el contrato completo de la función Lambda, las opciones de configuración y los ejemplos de código, consulte Evaluador personalizado basado en código.
La API devuelve el ARN, el ID, la marca de tiempo de creación y el estado inicial del evaluador. Una vez creado, se puede hacer referencia al evaluador en las configuraciones de evaluación en línea.
Temas
Ejemplos de código para AgentCore CLI, AgentCore SDK y AWS SDK
Los siguientes ejemplos de código muestran cómo crear evaluadores personalizados utilizando diferentes enfoques de desarrollo. Elija el método que mejor se adapte a su entorno de desarrollo y a sus preferencias.
Ejemplo de configuración de evaluador personalizado en 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." } ] } } }
Con el JSON anterior, puede crear el evaluador personalizado a través del cliente API que prefiera:
ejemplo
Ejemplos de configuración de evaluadores personalizados con información básica
Los siguientes ejemplos muestran cómo crear evaluadores personalizados que utilicen marcadores de posición basados en la verdad para diferentes escenarios de evaluación.
ejemplo
Consola
Puede crear evaluadores personalizados mediante la interfaz visual de la AgentCore consola Amazon Bedrock. Este método proporciona formularios guiados y validaciones para ayudarle a configurar los ajustes de su evaluador.
Para crear un evaluador AgentCore personalizado
-
Abre la AgentCore consola Amazon Bedrock.
-
En el panel de navegación izquierdo, elija Evaluación. Elija uno de los siguientes métodos para crear un evaluador personalizado:
-
Seleccione Crear un evaluador personalizado en la tarjeta Cómo funciona.
-
Selecciona Evaluadores personalizados para seleccionar la tarjeta y, a continuación, selecciona Crear evaluador personalizado.
-
-
En Nombre del evaluador, ingresa un nombre para el evaluador personalizado.
-
(Opcional) En la descripción del evaluador, introduzca una descripción para el evaluador personalizado.
-
-
En el tipo de evaluador, elija una de las siguientes opciones:
-
LLM-as-a-judge— Utiliza un modelo básico para evaluar el desempeño de los agentes. Continúe con los pasos que se indican a continuación para configurar la definición, el modelo y la escala del evaluador.
-
Code-based— Utiliza una función AWS Lambda para evaluar mediante programación el rendimiento de los agentes. Para el ARN de la función Lambda, introduzca el ARN de la función Lambda. Si lo desea, establezca el tiempo de espera de Lambda (de 1 a 300 segundos, 60 por defecto). A continuación, pase al paso del nivel de evaluación.
-
-
Para definir el evaluador personalizado, puede cargar diferentes plantillas para varios evaluadores integrados. De forma predeterminada, se carga la plantilla Faithfulness. Modifique la plantilla según sus necesidades.
nota
Si carga otra plantilla, se sobrescribirá cualquier cambio en la definición de evaluador personalizado existente.
-
Para el modelo de evaluador personalizado, elija un modelo base compatible seleccionando la barra de búsqueda de modelos situada a la derecha de la definición del evaluador personalizado. Para obtener más información sobre los modelos de base compatibles, consulte:
-
Modelos de base compatibles
-
(Opcional) Puede configurar los parámetros de inferencia del modelo activando Set temperature, Set top P, Set max. token de salida y Set stop sequencias.
-
-
-
En el tipo de escala del evaluador, elija Definir la escala como valores numéricos o Definir la escala como valores de cadena.
-
Para las definiciones de escala del evaluador, puede tener un total de 20 definiciones.
-
Para el nivel de evaluación del evaluador, elija una de las siguientes opciones:
-
Sesión: evalúe todas las sesiones de conversación.
-
Rastreo: evalúe cada rastreo individual.
-
Llamada de herramienta: evalúe cada llamada de herramienta.
-
-
Elija Crear un evaluador personalizado para crear el evaluador personalizado.
Mejores prácticas para los evaluadores personalizados
Redactar instrucciones bien estructuradas para los evaluadores es fundamental para que las evaluaciones sean precisas. Tenga en cuenta las siguientes pautas cuando redacte las instrucciones para el evaluador, seleccione los niveles del evaluador y elija los valores indicativos.
-
Selección del nivel de evaluación: seleccione el nivel de evaluación adecuado en función de sus requisitos de coste, latencia y rendimiento. Elija entre el nivel de seguimiento (revisa las respuestas individuales de los agentes), el nivel de herramienta (revisa el uso específico de la herramienta) o el nivel de sesión (revisa las sesiones de interacción completas). Su elección debe ajustarse a los objetivos del proyecto y a las limitaciones de recursos.
-
Criterios de evaluación: defina dimensiones de evaluación claras y específicas para su dominio. Utilice el enfoque mutuamente excluyente y colectivamente exhaustivo (MECE) para garantizar que cada evaluador tenga un alcance distinto. Esto evita la superposición de responsabilidades de evaluación y garantiza una cobertura integral de todas las áreas de evaluación.
-
Definición del rol: Para la instrucción, comience por establecer el rol del juez modelo como evaluador del desempeño. Una definición clara del rol mejora el desempeño del modelo y evita la confusión entre la evaluación y la ejecución de la tarea. Esto es particularmente importante cuando se trabaja con diferentes modelos de jueces.
-
Pautas de instrucción: Cree instrucciones de evaluación claras y secuenciales. Cuando se trate de requisitos complejos, divídalos en pasos simples y comprensibles. Utilice un lenguaje preciso para garantizar una evaluación coherente en todos los casos.
-
Ejemplo de integración: en sus instrucciones, incorpore de 1 a 3 ejemplos relevantes que muestren cómo las personas evaluarían el desempeño de los agentes en su dominio. Cada ejemplo debe incluir pares de entrada y salida coincidentes que representen con precisión los estándares esperados. Si bien son opcionales, estos ejemplos sirven como valiosas referencias de referencia.
-
Gestión del contexto: en su instrucción, elija estratégicamente los marcadores de contexto en función de sus requisitos específicos. Encuentre el equilibrio adecuado entre proporcionar suficiente información y evitar la confusión de los evaluadores. Ajuste la profundidad del contexto de acuerdo con las capacidades y limitaciones de su modelo de juez.
-
Marco de puntuación: elija entre una escala binaria (0/1) o una escala Likert (varios niveles). Defina claramente el significado de cada nivel de puntuación. Cuando no esté seguro de qué escala usar, comience con el sistema de puntuación binario más simple.
-
Estructura de salida: nuestro servicio incluye automáticamente un mensaje de estandarización al final de cada instrucción personalizada para el evaluador. Este mensaje impone dos campos de salida: motivo y puntuación, y el razonamiento siempre se presenta antes de la puntuación para garantizar una evaluación basada en la lógica. No incluya instrucciones de formato de salida en la instrucción original para el evaluador para evitar confundir el modelo del juez.