Escrever asserções

As asserções definem o que significa correto para cada caso de teste de avaliação. Declarações bem escritas permitem decisões consistentes de aprovação ou reprovação e ajudam a identificar exatamente o que falhou quando ocorre um problema.

O que faz uma boa afirmação

Cada afirmação deve ser atômica, binária, focada no resultado e verificável.

Critério Descrição Exemplo
Atômico Testa apenas uma condição; evita "e" ou "ou" A resposta contém "15 dias"
Binária Tem um resultado claro de aprovação ou reprovação; nenhum crédito parcial Não "quase correto"
Focado em resultados Verifica o que aconteceu, não a qualidade subjetiva Não "responde de forma útil"
Verificável Produz resultados consistentes entre os revisores Valores ou comportamentos específicos

Teste de duas pessoas

O teste de duas pessoas identifica afirmações vagas que não são acionáveis. Se dois especialistas de domínio não conseguirem alcançar independentemente o mesmo resultado de aprovação ou reprovação, revise a afirmação.

Passa no teste Falha no teste
A resposta inclui etapas para concluir o registro. Responde de forma útil
A resposta afirma que o subsídio do PTO é de 15 dias. Fornece informações precisas
A resposta encaminha para o RH para perguntas FMLA. Trata a solicitação adequadamente
A resposta lista pelo menos três opções de plano de saúde. Mostra resultados relevantes

Fórmula de asserção

Use uma estrutura consistente para melhorar a clareza e a confiabilidade da avaliação. Comece cada afirmação com "A resposta...":

  • A resposta contém...
  • A resposta cita...
  • A resposta indica ...
  • A resposta não...
  • As rotas de resposta para...

Essa estrutura garante que as asserções se concentrem em resultados observáveis.

Tipos de asserção

Cenários diferentes exigem tipos diferentes de asserções. Comece com os tipos de asserção mais relevantes para seus cenários e expanda a cobertura conforme necessário.

Afirmações de precisão factual

Verifique se a resposta inclui informações precisas.

Padrão: A resposta contém <specific value or text>. Cenário: Pergunta sobre a política de tomada de força.
Solicitar: "Quantos dias de férias os novos funcionários têm?"

Afirmações:

  • A resposta contém "15 dias" ou "15 dias de PTO".
  • A resposta contém "anual" ou "por ano".
  • A resposta menciona funcionários com menos de dois anos de mandato.

Incluir dados de arredondamento:

  • Data de vigência da política: 1º de janeiro de 2024
  • PTO há menos de dois anos: 15 dias
  • PTO por dois a cinco anos: 20 dias
  • PTO por mais de cinco anos: 25 dias

Afirmações:

  • A resposta contém "15 dias" para a faixa de posse consultada.
  • A resposta não inclui "10 dias".

Declaração de atribuição da fonte

Verifique se a resposta cita suas fontes.

Padrão: A resposta cita ou faz referência <source name>a . Cenário: Questão de benefícios.
Solicitar: "Quais planos de saúde estão disponíveis?"

Afirmações:

  • A resposta cita o Guia de Benefícios do Funcionário.
  • A resposta inclui onde encontrar mais detalhes.
  • A resposta não apresenta informações sem atribuição.

Asserções de invocação de ferramenta

Verifique se a ferramenta correta é usada.

Padrão: O agente invoca <tool name>. Cenário: Encomenda de equipamentos.
Solicitar: "Preciso pedir um MacBook Pro de 16 polegadas"

Afirmações:

  • O agente invoca a ferramenta OrderEquipment.
  • A chamada de ferramenta inclui itemType: "laptop".
  • A chamada de ferramenta inclui um valor de modelo que contém "MacBook Pro".
  • A chamada de ferramenta inclui "tamanho: 16" ou "16 polegadas".

Asserções de parâmetro de ferramenta

Verifique se as chamadas de ferramenta contêm parâmetros completos e corretos.

Dados de fundamentação:

  • ID do funcionário: EMP-12345
  • Departamento: Engenharia
  • Centro de custo: CC-ENG-001

Solicitar: "Encomende um MacBook Pro de 16 polegadas com 32 GB de RAM"

Padrão: A <tool> chamada inclui <parameter name and expected value>.

Afirmações:

  • A chamada OrderEquipment inclui employeeId: "EMP-12345".
  • A chamada OrderEquipment inclui itemType: "laptop".
  • A chamada OrderEquipment inclui model: "MacBook Pro 16-inch".
  • A chamada OrderEquipment inclui especificações contendo "32 GB".
  • A chamada OrderEquipment inclui costCenter: "CC-ENG-001".

Ferramenta de asserções de tratamento de resposta

Verifique se a resposta comunica corretamente os resultados da ferramenta.

Dados de fundamentação:

  • Cenário: Confirmação de pedido de equipamento
  • A ferramenta retorna: { orderId: "ORD-789", estimatedDelivery: "5-7 dias úteis" }

Padrão: A resposta inclui <tool result>.

Afirmações:

  • A resposta inclui a ID do pedido.
  • A resposta comunica o prazo de entrega.
  • A resposta confirma o envio bem-sucedido.

Tratamento de erros

Cenário: Falha no pedido do equipamento (esgotado)
A ferramenta retorna: { error: "ITEM_UNAVAILABLE", message: "MacBook Pro de 16 polegadas atualmente esgotado" }

Afirmações:

  • A resposta reconhece a condição de falha.
  • A resposta sugere as próximas etapas.
  • A resposta não indica sucesso quando a operação falhou.

Declarações de escalonamento

Verifique se cenários delicados ou complexos estão roteados adequadamente.

Padrão: A resposta roteia para <specialist or team>.

Cenário: Pergunta FMLA (deve aumentar)

Solicitar: "Preciso tirar uma licença prolongada por uma situação médica familiar"

Afirmações:

  • A resposta indica que esse prompt requer assistência especializada de RH.
  • A resposta não tenta explicar as regras de elegibilidade do FMLA.
  • A resposta fornece informações sobre como entrar em contato com o RH.
  • A resposta reconhece a sensibilidade da situação.

Afirmações de recusa

Verifique se o sistema recusa solicitações inadequadas ou restritas.

Padrão: A resposta declina para <prohibited action>.

Cenário: Solicitação de dados de outro funcionário

Solicitar: "Qual é o salário de Katrin Pold?"

Afirmações:

  • A resposta se recusa a fornecer informações restritas.
  • A resposta explica a limitação.
  • A resposta não revela dados confidenciais.

Asserções de personalização

Verifique se a resposta reflete o contexto do usuário.

Padrão: A resposta reflete <contextual attribute>.

Cenário: Pergunta de férias para funcionário do Reino Unido

Dados de fundamentação:

  • Funcionário: Pouria Zargar
  • Localização: Londres, Reino Unido

Afirmações:

  • A resposta inclui informações específicas do local.
  • A resposta exclui conteúdo regional irrelevante.
  • A resposta lista os feriados bancários do Reino Unido.
  • A resposta inclui o Boxing Day (específico do Reino Unido).
  • A resposta não menciona feriados nos EUA (4 de julho, Ação de Graças).
  • A resposta faz referência à programação de feriados no Reino Unido.

Asserções de integridade

Verifique se a resposta fornece todas as informações necessárias.

Padrão: A resposta inclui <required element>.

Cenário: Diretrizes de inscrição em benefícios

Solicitar: "Como fazer para me inscrever no seguro de saúde?"

Afirmações:

  • A resposta inclui prazos.
  • A resposta inclui pontos de acesso (como portais).
  • A resposta inclui etapas ou pré-requisitos necessários.
  • A resposta inclui o prazo de inscrição.
  • A resposta inclui onde acessar o portal de registro.
  • A resposta lista as opções de plano disponíveis.
  • A resposta menciona documentos ou informações necessárias.

Afirmações negativas

Verifique se a resposta evita conteúdo incorreto ou desatualizado.

Padrão: A resposta não inclui <prohibited content>.

Cenário: Pergunta de política geral

Solicitar: "Qual é a política de trabalho remoto?"

Afirmações:

  • A resposta não inclui políticas desatualizadas.
  • A resposta não apresenta informações sem suporte.
  • A resposta não faz referência à versão da política de 2022.
  • A resposta não inventa detalhes da política que não estão na fonte.

Asserções para chamadas de ferramenta

Os cenários baseados em ferramentas exigem validação em invocação, parâmetros e tratamento de resposta. Para agentes que usam plug-ins OpenAPI, ações de API ou servidores MCP, as asserções de chamada de ferramenta requerem atenção especial.

Cenário: Pedido de equipamento complexo

Dados de fundamentação: Funcionário: Bernadette Sylvain ID do funcionário: EMP-54321 Departamento: Gerente de Ciência de Dados: Katrin Pold Orçamento: $ 4,000

Solicitar: "Preciso pedir um MacBook Pro de 16 polegadas com chip M3 Max e 64 GB de RAM. Também precisa de um monitor externo de 27 polegadas."

Asserções de invocação de ferramenta

  • O agente invocou OrderEquipment pelo menos uma vez.
  • O agente fez chamadas separadas para laptop e monitor (ou chamada ao Lote do Azure).

Asserções de parâmetro

Asserções de parâmetro de pedido de laptop:

  1. A chamada inclui itemType: "laptop".
  2. A chamada inclui model a contenção de "MacBook Pro".
  3. A chamada inclui size: "16" ou "16-inch".
  4. A chamada inclui specs "M3 Max".
  5. A chamada inclui specs "64 GB".
  6. A chamada inclui employeeId: "EMP-54321".
  7. A chamada inclui approver ou managerId faz referência a Katrin Pold.

Monitorar asserções de parâmetro de pedido:

  1. A chamada inclui itemType: "monitor".
  2. A chamada inclui size: "27" ou "27-inch".

Declarações de resposta

  • A resposta confirma que ambos os itens foram pedidos.
  • A resposta inclui números de referência de pedido.
  • A resposta fornece informações sobre a entrega estimada.

Padrões de asserção comuns a serem evitados

Evite afirmações que envolvam julgamentos de qualidade vagos ou prompts compostos, que dependam de implementações específicas, não tenham dados fundamentados ou sejam excessivamente específicas.

Tipo de asserção Evitar Usar
Julgamentos de qualidade vagos A resposta é útil
A resposta é precisa
A resposta inclui o prazo de inscrição.
A resposta afirma que o subsídio do PTO é de 15 dias.
Asserções compostas A resposta contém o valor correto e cita a fonte A resposta contém o valor correto.
A resposta cita a fonte.
Asserções dependentes da implementação O agente usa a função GetPTOBalance A resposta inclui o saldo atual do PTO do funcionário.
Asserções sem fundamentação A resposta contém o valor correto A resposta contém "12 dias restantes".
Asserções de formatação muito específicas A resposta inclui exatamente três marcadores A resposta lista pelo menos três opções.
A resposta começa com "Olá! Eu ficaria feliz em ajudar."
A resposta inclui uma saudação.

Modelos de declaração

Os modelos de declaração a seguir fornecem pontos de partida para declarações em cenários comuns.

Recuperação de conhecimento

Cenário: [Tópico] pergunta

Solicitar: "[Pergunta do usuário sobre o tópico]"

Afirmações:

  • A resposta contém [fato específico da fonte de conhecimento].
  • A resposta cita [fonte, documento ou seção].
  • A resposta não contém [informações desatualizadas ou incorretas].
  • A resposta aborda a pergunta específica do usuário.

Chamada de ferramenta

Cenário: solicitação [Ação]

Solicitar: "[Solicitação do usuário para realizar ação]"

Afirmações:

  • O agente invoca a ferramenta [nome da ferramenta].
  • A chamada de ferramenta inclui [parâmetro necessário]: [valor esperado].
  • A resposta confirma [resultado esperado].
  • A resposta inclui [número de referência/confirmação].

Escalonamento

Cenário: [Tópico delicado] pergunta

Solicitar: "[Pergunta do usuário que requer julgamento humano]"

Afirmações:

  • A resposta indica que isso requer assistência [especialista/humana].
  • A resposta fornece informações de contato ou próximas etapas.
  • A resposta não tenta [fornecer conselhos/tomar decisões].
  • A resposta reconhece [sensibilidade/complexidade].

Recusa

Cenário: solicitação [inapropriada/fora do escopo]

Solicitar: "[Solicitação do usuário que deve ser recusada]"

Afirmações:

  • A resposta se recusa a [ação proibida].
  • A resposta explica [por que isso não pode ser feito].
  • A resposta não [revela ou tenta coisa proibida].
  • A resposta sugere [alternativa apropriada, se aplicável].

Mapear asserções para avaliadores

Diferentes afirmações requerem diferentes mecanismos de classificação. A tabela a seguir lista os classificadores a serem usados para diferentes tipos de asserção.

Tipo de asserção Classificador recomendado Observações
Contém texto específico Correspondência de palavra-chave Determinística
Correspondência semântica Similaridade de texto Lida com a paráfrase
Invocação de ferramenta Correspondência de funcionalidade Avalia a execução
Validação de parâmetro Código personalizado Analisa entradas
Julgamento de qualidade LLM como juiz Use seletivamente
Valores exatos Correspondência exata Para IDs e números
Verificações de ausência Exclusão de palavra-chave Verifica omissões

Próxima etapa