Evaluadores de rubric (versión preliminar)

Importante

Los elementos marcados (versión preliminar) de este artículo se encuentran actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin acuerdo de nivel de servicio y no se recomienda para las cargas de trabajo de producción. Es posible que algunas características no se admitan o que tengan funcionalidades restringidas. Para más información, consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure.

Un evaluador de rubric puntúa una respuesta de agente o modelo en función de los criterios personalizados ponderados que defina, usando un LLM como juez. Proporciona control total sobre lo que significa "bueno" para su caso de uso al aplicar esa sentencia de forma coherente a escala.

Una rubric es un conjunto de criterios que define cómo evaluar la respuesta. Cada rubric contiene dimensiones de puntuación; cada dimensión tiene una descripción de lo que mide y un peso que refleja su importancia relativa. El juez LLM puntúa cada dimensión aplicable de 1 a 5 en una sola respuesta o conversación multiturno. La puntuación general de las rubricas es el promedio ponderado de esas puntuaciones, normalizadas en un intervalo de 0 a 1.

Use evaluadores de rubric como medida principal de la calidad del agente, ya que permiten expresar los criterios exactos que importan para su caso de uso. Emparejarlos con evaluadores integrados para la seguridad, la base y el daño al contenido para cubrir los riesgos que la rubric no mide. En el resto de este artículo se describe cómo generar una rubric, los campos que contiene, cómo elegir un modelo de juez LLM y cómo revisar los resultados.

Generación de un evaluador de rubor

Puede crear un evaluador de rubor de dos maneras:

Puede crear automáticamente un evaluador de rubric seleccionando un modelo LLM para generar la rubric a partir del contexto del agente. Proporcione al menos una de las siguientes entradas base:

  • Agente de foundry : seleccione un agente foundry existente. El servicio extrae las instrucciones del agente (para agentes de solicitud) o su descripción (para los agentes hospedados) que se van a usar como contexto de generación.
  • Aviso del sistema del agente : pegue las instrucciones que definen el comportamiento previsto del agente. Úselo cuando el agente no esté registrado en Foundry o cuando su contexto registrado no capture completamente su comportamiento.
  • Archivos de referencia : documentos, contenido de base de conocimiento o directrices de dominio que describen el contexto del agente y la calidad de respuesta esperada.

Para obtener los mejores resultados, agregue seguimientos de producción del agente encima de cualquier entrada base por encima del suelo de la rubric en uso real:

  • Seguimientos: seguimientos de producción del agente recopilados del seguimiento de Foundry en Application Insights. Los seguimientos no se pueden usar por sí solos; emparejarlos con un agente foundry, un símbolo del sistema del agente o archivos de referencia.

Cada rubric generada contiene los siguientes campos:

Campo Descripción
id Slug estable y legible asignado por el servicio en la primera generación. Al editar criterios y guardar como una nueva versión, haga eco del existente id para conservar la identidad entre versiones. El servicio no reasigna los identificadores al editar.
description Qué mide este criterio: una dimensión de calidad clara y específica.
weight Importancia relativa del criterio. La canalización de generación asigna exactamente un criterio un peso de 8 a 10 (la dimensión más decisiva para los resultados) y todos los demás 1 a 6. Las modificaciones de usuario no están restringidas por esta heurística.
always_applicable Cuando true, el juez de LLM siempre puntúa este criterio independientemente de la relevancia (omite la evaluación de aplicabilidad). Se usa para el criterio de calidad general. Tiene como valor predeterminado false.

Elección de un modelo de juez LLM

No todos los modelos funcionan igualmente como jueces de rubrices. En la tabla siguiente se enumeran los modelos de chat admitidos para la generación y puntuación de las rubrices.

Model Recomendación
gpt-5.5 Recomendado
gpt-5.4 Recomendado
gpt-5.4-mini Recomendado: mejor equilibrio de rendimiento y costo
gpt-5.4-nano Recomendado
gpt-5.2 Recomendado
gpt-5.1 Recomendado
gpt-5 Recomendado
gpt-5-mini Recomendado
gpt-5-nano Recomendado
gpt-4.1 Aceptable
gpt-4o Aceptable

Crear manualmente una rubric

Escriba su propia rubric definiendo las dimensiones id, descriptiony weight. Use este enfoque cuando ya tenga una rubric definida en otro lugar que quiera incorporar a Foundry.

Tip

Empiece por crear un evaluador de rubric generado automáticamente y refinarlo manualmente. La generación automática proporciona una línea base sólida que puede ajustar para ajustarse a sus estándares de calidad específicos.

Revisar y ajustar la rubric

Después de generar o crear una rubric, revise las dimensiones para confirmar que coinciden con sus expectativas de calidad del agente. Ustedes pueden:

  • Editar id, descriptiony weight : refina el lenguaje para que sea más específico sobre lo que califica para cada nivel de dimensión. Las descripciones precisas y el peso mejoran la coherencia de la puntuación.
  • Agregar o quitar dimensiones : inserte dimensiones de calidad que sean importantes para el dominio o quite las que no se aplican.
  • Ajustar umbrales : establezca el umbral de paso para controlar qué puntuación global se califica como superada. Los valores van de 0,0 a 1,0, donde 1,0 es la puntuación más alta. Aumente el umbral de un estándar de calidad más estricto o reduzca su nivel para ser más permisivo.
  • Establecer siempre aplicable : active o desactive la casilla Siempre aplicable para un criterio. Cuando se selecciona, el juez LLM puntúa este criterio para cada respuesta sin comprobar primero la relevancia.

En la configuración avanzada de cada rubric, también puede ver el nivel de evaluación y la categoría de este evaluador de rubric.

Iteración en la rubric hasta que distingue de forma confiable entre las respuestas aceptables y inaceptables del agente. Ejecute una pequeña evaluación en un conjunto de datos de ejemplo para validar que las puntuaciones de las rubrices se alinean con su propio criterio antes de usarlo a escala.

Ejemplo de rubric

En el ejemplo siguiente se muestra una rubric para un agente de reserva de restaurantes. Cada criterio tiene como destino una dimensión de calidad específica, con pesos que reflejan la importancia relativa:

[
  {
    "id": "intent_recognition",
    "description": "Correctly identifies the user's reservation intent (book, modify, cancel, inquire) and pursues the appropriate workflow without unnecessary clarification.",
    "weight": 9
  },
  {
    "id": "tool_usage_accuracy",
    "description": "Calls the correct tool with correct parameters. Does not call tools unnecessarily, and does not skip tool calls when they are needed.",
    "weight": 6
  },
  {
    "id": "policy_enforcement",
    "description": "Enforces business rules: dinner service 17:00-22:00, max party size 8, 30-day booking window. Does not create reservations that violate these constraints.",
    "weight": 5
  },
  {
    "id": "information_gathering",
    "description": "Collects all required information (date, time, party size, contact) before attempting to create a reservation. Does not ask for information already provided.",
    "weight": 4
  },
  {
    "id": "communication_clarity",
    "description": "Provides clear, concise responses. Confirms reservation details before finalizing. Uses a professional and helpful tone.",
    "weight": 2
  },
  {
    "id": "general_quality",
    "description": "Other important quality factors not already covered by the listed criteria.",
    "weight": 5,
    "always_applicable": true
  }
]

En esta rubric, intent_recognition tiene el peso más alto (9) porque la identificación correcta de lo que el usuario quiere es el factor más decisivo para el resultado. El general_quality criterio usa always_applicable: true para que el juez lo puntee por cada respuesta, incluso cuando otros criterios podrían no aplicarse.

Uso de evaluadores de rubric para ejecutar la evaluación

Los evaluadores de rubric funcionan bien para criterios de calidad específicos del dominio o específicos de la organización que los evaluadores de uso general no pueden capturar. Defina una rubric cuando necesite puntuación que refleje los estándares de calidad específicos de su equipo, por ejemplo, el tono de atención al cliente, la precisión médica o el cumplimiento legal.

El juez LLM lee la rubric, examina los datos de entrada asignados, asigna una puntuación y proporciona un motivo para su decisión de puntuación. Este enfoque combina la flexibilidad de los criterios personalizados con la coherencia de la evaluación basada en LLM.

Para más información sobre la ejecución de evaluaciones y la configuración de orígenes de datos, consulte Ejecución de evaluaciones desde el SDK.

Para obtener un ejemplo ejecutable, consulte sample_rubric_evaluator_generation_basic.py. Para obtener ejemplos de rubric adicionales (generación de todos los orígenes, edición iterativa, ciclo de vida completo y creación manual), consulte los ejemplos de evaluaciones Léame.

Salida de ejemplo

El evaluador de rubric devuelve una puntuación ponderada para cada dimensión, una puntuación general, una etiqueta de paso o error y un motivo que explica la decisión. El umbral de paso predeterminado es 0,5. Las puntuaciones en el umbral o por encima del umbral se consideran superándose.

Ejemplo de paso

En este ejemplo, un usuario pide que reserve una tabla para las 4 del viernes a las 7:30 p. m. El agente identifica correctamente la intención de reserva, llama a la herramienta de reserva con parámetros válidos y confirma la reserva:

{
  "score": 0.9419354839,
  "label": "pass",
  "reason": "The verdict is driven most by intent_recognition (5), tool_usage_accuracy (5), and policy_enforcement (5). The assistant correctly identified the booking intent, called the reservation tool with valid parameters (Friday 7:30 PM, party of 4), and returned a clear confirmation with the reservation details.",
  "threshold": 0.5,
  "passed": true,
  "properties": {
    "dimension_scores": [
      {
        "id": "intent_recognition",
        "score": 5,
        "applicable": true,
        "weight": 9,
        "reason": "The user's request to book a table is correctly identified, and the assistant pursues the booking workflow without unnecessary clarification."
      },
      {
        "id": "tool_usage_accuracy",
        "score": 5,
        "applicable": true,
        "weight": 6,
        "reason": "The reservation tool is called once with the correct date, time, and party size parameters derived from the user's request."
      },
      {
        "id": "policy_enforcement",
        "score": 5,
        "applicable": true,
        "weight": 5,
        "reason": "The reservation falls within dinner service hours, the party size is within the maximum of 8, and the date is within the 30-day booking window."
      },
      {
        "id": "information_gathering",
        "score": 4,
        "applicable": true,
        "weight": 4,
        "reason": "All required information (date, time, party size, contact) is captured from the request without asking for details already provided."
      },
      {
        "id": "communication_clarity",
        "score": 5,
        "applicable": true,
        "weight": 2,
        "reason": "The confirmation is concise and includes the reservation date, time, and party size in a single clear message."
      },
      {
        "id": "general_quality",
        "score": 4,
        "applicable": true,
        "weight": 5,
        "reason": "Overall execution is strong: the assistant handles the booking end to end with no unnecessary turns or recovery steps."
      }
    ]
  }
}

Ejemplo de error

En este ejemplo, un usuario pide que reserve una tabla para 12 personas el sábado. El tamaño máximo de la entidad es 8, pero el agente continúa a reservar de todos modos sin marcar la infracción de la directiva:

{
  "score": 0.3548387097,
  "label": "fail",
  "reason": "The verdict is driven by very low policy_enforcement (1), tool_usage_accuracy (1), and general_quality (1). The user requested a table for 12, which exceeds the maximum party size of 8, but the assistant proceeded to call the reservation tool and confirmed a booking that violates business rules.",
  "threshold": 0.5,
  "passed": false,
  "properties": {
    "dimension_scores": [
      {
        "id": "intent_recognition",
        "score": 3,
        "applicable": true,
        "weight": 9,
        "reason": "The booking intent is identified, but the assistant fails to flag that the requested party size cannot be accommodated under business rules."
      },
      {
        "id": "tool_usage_accuracy",
        "score": 1,
        "applicable": true,
        "weight": 6,
        "reason": "The reservation tool is called with a party size that the business rules prohibit, producing an invalid booking."
      },
      {
        "id": "policy_enforcement",
        "score": 1,
        "applicable": true,
        "weight": 5,
        "reason": "The 8-person maximum party size is not enforced; the assistant should have declined or offered to split the party before attempting to book."
      },
      {
        "id": "information_gathering",
        "score": 2,
        "applicable": true,
        "weight": 4,
        "reason": "The assistant collected the party size and date but did not confirm a specific time, leaving required information incomplete."
      },
      {
        "id": "communication_clarity",
        "score": 2,
        "applicable": true,
        "weight": 2,
        "reason": "The final confirmation message is clear in form, but it asserts a booking that the system shouldn't have allowed, creating a misleading outcome."
      },
      {
        "id": "general_quality",
        "score": 1,
        "applicable": true,
        "weight": 5,
        "reason": "Overall quality is poor: the assistant violates a core business rule without warning the user or recovering, undermining trust in the booking outcome."
      }
    ]
  }
}

Cada elemento de salida incluye puntuaciones por dimensión por motivos. Las dimensiones marcadas "applicable": false se omiten y no contribuyen a la puntuación general. La puntuación general es un promedio ponderado de todas las puntuaciones de dimensión aplicables, normalizadas en un intervalo de 0 a 1.

Note

Los evaluadores de rubric usan la puntuación de LLM como juez e incurren en costos de inferencia del modelo por llamada de evaluación. La confiabilidad de la puntuación puede variar para respuestas muy cortas. Escriba descripciones de rubrices específicas e inequívocas para mejorar la coherencia de puntuación entre evaluaciones.

Configuración de la evaluación continua con evaluadores de rubor

Una vez que el evaluador de rubric refleja de forma confiable los estándares de calidad, configúrelo para la evaluación continua y programada en La configuración del monitor. La evaluación continua ejecuta automáticamente la rubric contra el nuevo tráfico del agente, por lo que puede detectar regresiones de calidad en producción a medida que se producen, sin desencadenar ejecuciones manuales.

Para conocer los pasos de configuración, consulte Supervisión de agentes en el panel.