Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
Os itens assinalados como (pré-visualização) neste artigo estão atualmente em pré-visualização pública. Esta pré-visualização é fornecida sem um acordo de nível de serviço, e não a recomendamos para trabalhos em produção. Certas funcionalidades podem não ser suportadas ou podem ter capacidades limitadas. Para mais informações, consulte Termos Suplementares de Utilização para Microsoft Azure Previews.
Um avaliador de rubricas avalia a resposta de um agente ou modelo com critérios personalizados e ponderados que define, usando um LLM como juiz. Dá-lhe controlo total sobre o que "bom" significa para o seu caso de uso, aplicando esse julgamento de forma consistente e em larga escala.
Uma rubrica é um conjunto de critérios que definem como avaliar a resposta. Cada rubrica contém dimensões de pontuação; Cada dimensão tem uma descrição do que mede e um peso que reflete a sua importância relativa. O juiz do LLM pontua cada dimensão aplicável de 1 a 5 numa única resposta ou numa conversa com vários turnos. A pontuação global da rubrica é a média ponderada dessas pontuações, normalizada para um intervalo de 0–1.
Use avaliadores de rubricas como principal medida da qualidade do agente, pois permitem-lhe expressar os critérios exatos que importam para o seu caso de uso. Combine-os com avaliadores incorporados para segurança, fundamento e danos ao conteúdo para cobrir riscos que a rubrica não avalia. O restante deste artigo descreve como gerar uma rubrica, os campos que contém, como escolher um modelo de juiz de LLM e como rever os resultados.
Gerar um avaliador de rubrica
Pode criar um avaliador de rubricas de duas formas:
Gerar automaticamente uma rubrica (recomendado)
Pode criar automaticamente um avaliador de rubricas selecionando um modelo LLM para gerar a rubrica a partir do contexto do seu agente. Forneça pelo menos uma das seguintes entradas base:
- Agente da fundição — Selecione um agente da fundição existente. O serviço recolhe as instruções do agente (para agentes de prompt) ou a sua descrição (para agentes alojados) para usar como contexto de geração.
- Prompt do sistema do agente — Cole as instruções que definem o comportamento pretendido do seu agente. Use isto quando o agente não estiver registado no Foundry ou quando o seu contexto registado não captar totalmente o seu comportamento.
- Ficheiros de referência — Documentos, conteúdos de base de conhecimento ou diretrizes de domínio que descrevem o contexto do seu agente e a qualidade esperada da resposta.
Para melhores resultados, adicione traços de produção de agentes por cima de qualquer entrada base acima para fundamentar a rubrica em uso real:
- Traços — Traços de produção de agentes recolhidos a partir do rastreio Foundry em Application Insights. As Traces não podem ser usadas sozinhas; emparelhá-los com um agente Foundry, um prompt do sistema de agentes ou ficheiros de referência.
Cada rubrica gerada contém os seguintes campos:
| Campo | Description |
|---|---|
id |
Slug estável e legível por humanos atribuído pelo serviço na primeira geração. Quando editas critérios e guardas como uma nova versão, ecoa a existente id para preservar a identidade entre versões. O serviço não reatribui IDs na edição. |
description |
O que este critério mede — uma dimensão de qualidade clara e específica. |
weight |
Importância relativa do critério. O pipeline de geração atribui exatamente um critério, um peso de 8–10 (a dimensão mais decisiva para o resultado), e todos os outros de 1–6. As edições dos utilizadores não estão limitadas por esta heurística. |
always_applicable |
Quando true, o juiz do LLM sempre pontua este critério independentemente da sua relevância (ignora a avaliação de aplicabilidade). Usado para o critério geral de qualidade. O valor padrão é false. |
Escolha um modelo de juiz LLM
Nem todos os modelos têm o mesmo desempenho que os juízes da rubrica. A tabela seguinte lista os modelos de chat suportados para geração e pontuação de rubricas.
| Model | Recommendation |
|---|---|
gpt-5.5 |
Recomendado |
gpt-5.4 |
Recomendado |
gpt-5.4-mini |
Recomendado — melhor equilíbrio entre desempenho e custo |
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 |
Aceitável |
gpt-4o |
Aceitável |
Crie manualmente uma rubrica
Escreva a sua própria rubrica definindo as iddimensões , description, e weight. Use esta abordagem quando já tiver uma rubrica definida noutro local que queira trazer para o Foundry.
Dica
Comece por criar um avaliador de rubricas gerado automaticamente e refine-o manualmente. A geração automática dá-lhe uma base sólida que pode ajustar para se adequar aos seus padrões de qualidade específicos.
Rever e ajustar a rubrica
Depois de gerar ou criar uma rubrica, reveja as dimensões para confirmar se correspondem às suas expectativas quanto à qualidade do agente. É possível:
-
Editar
id,description, eweight— Refinar a linguagem para ser mais específica sobre o que qualifica para cada nível de dimensão. Descrições precisas e o peso melhoram a consistência da pontuação. - Adicione ou remova dimensões — Insera dimensões de qualidade que importam para o seu domínio, ou remova aquelas que não se aplicam.
- Ajustar limiares — Defina o limiar de aprovação para controlar qual a pontuação total que qualifica como aprovação. Os valores variam de 0,0 a 1,0, sendo 1,0 a pontuação mais alta. Aumentar o limiar para um padrão de qualidade mais rigoroso, ou baixá-lo para ser mais permissivo.
- Definir sempre aplicável — Selecionar ou despachar a caixa Sempre aplicável para um critério. Quando selecionado, o juiz do LLM avalia este critério para cada resposta sem verificar primeiro a relevância.
Nas definições avançadas de cada rubrica, pode também visualizar o nível de avaliação e a categoria deste avaliador de rubricas.
Itere sobre a rubrica até que esta distinga de forma fiável entre respostas aceitáveis e inaceitáveis de agentes. Faça uma pequena avaliação num conjunto de dados de amostra para validar se as pontuações da rubrica estão alinhadas com o seu próprio julgamento antes de o usar em escala.
Exemplo de rubrica
O exemplo seguinte mostra uma rubrica para um agente de reservas de restaurante. Cada critério visa uma dimensão de qualidade específica, com pesos que refletem a importância 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
}
]
Nesta rubrica, intent_recognition tem o maior peso (9) porque identificar corretamente o que o utilizador quer é o fator mais decisivo para o resultado. O general_quality critério é always_applicable: true usado para que o juiz o avalie em cada resposta, mesmo quando outros critérios possam não se aplicar.
Use avaliadores de rubricas para realizar a avaliação
Os avaliadores de rubricas funcionam bem para critérios de qualidade específicos de um domínio ou da organização que os avaliadores de uso geral não conseguem apanhar. Defina uma rubrica quando precisar de uma pontuação que reflita os padrões de qualidade específicos da sua equipa — por exemplo, tom de apoio ao cliente, precisão médica ou conformidade legal.
O juiz do LLM lê a rubrica, examina os dados de entrada mapeados, atribui uma pontuação e fornece uma razão para a sua decisão de pontuação. Esta abordagem combina a flexibilidade dos critérios personalizados com a consistência da avaliação baseada em LLM.
Para detalhes sobre avaliações em execução e configuração de fontes de dados, veja Avaliações de execução a partir do SDK.
Para um exemplo executável, veja sample_rubric_evaluator_generation_basic.py. Para exemplos adicionais de rubricas (geração de todas as fontes, edição iterativa, ciclo de vida completo e autoria manual), consulte o exemplo de avaliações README.
Exemplo de saída
O avaliador da rubrica devolve uma pontuação ponderada para cada dimensão, uma pontuação global, um rótulo de aprovação/reprovação e uma razão que explica a decisão. O limiar padrão de aprovação é 0,5. Pontuações com ou acima do limiar são consideradas aprovadas.
Exemplo de passagem
Neste exemplo, um utilizador pede para reservar uma mesa para 4 pessoas na sexta-feira às 19h30. O agente identifica corretamente a intenção da reserva, liga para a ferramenta de reserva com parâmetros válidos e confirma a 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."
}
]
}
}
Exemplo de falha
Neste exemplo, um utilizador pede para reservar uma mesa para 12 pessoas no sábado. O tamanho máximo do grupo é 8, mas o agente procede à reserva na mesma sem assinalar a violação da política:
{
"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 item de saída inclui pontuações por dimensão com razões. As dimensões assinaladas "applicable": false são ignoradas e não contribuem para a pontuação global. A pontuação global é uma média ponderada de todas as pontuações de dimensão aplicáveis, normalizada para um intervalo de 0–1.
Note
Os avaliadores de rubricas utilizam o LLM como pontuação de juiz e incorrem em custos de inferência do modelo por chamada de avaliação. A fiabilidade da pontuação pode variar para respostas muito curtas. Escreva descrições de rubricas específicas e inequívocas para melhorar a consistência da pontuação entre avaliações.
Estabeleça uma avaliação contínua com avaliadores de rubricas
Quando o seu avaliador de rubricas refletir de forma fiável os seus padrões de qualidade, configure-o para avaliação contínua e agendada nas definições do Monitor. A avaliação contínua executa automaticamente a rubrica contra o tráfego de novos agentes, para que possa detetar regressões de qualidade em produção à medida que acontecem — sem desencadear execuções manuais.
Para os passos de configuração, consulte Monitorizar agentes no painel de controlo.