Escrever asserções

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

O que faz uma boa afirmação

Cada asserção deve ser atómica, binária, focada nos resultados 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 passagem ou falha; sem crédito parcial Não "principalmente correto"
Focado nos resultados Verifica o que aconteceu, não a qualidade subjetiva Não "responde com ajuda"
Verificáveis Produz resultados consistentes entre 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 em domínios não conseguirem alcançar de forma independente o mesmo resultado de passagem ou falha, reveja a asserção.

Passa no teste Falha no teste
A resposta inclui passos para concluir a inscrição. Responde com ajuda
A resposta indica que o subsídio de PTO é de 15 dias. Fornece informações precisas
A resposta encaminha para os RH para perguntas sobre FMLA. Processa o pedido adequadamente
A resposta lista pelo menos três opções do plano de estado de funcionamento. Mostra resultados relevantes

Fórmula de asserção

Utilize uma estrutura consistente para melhorar a fiabilidade de avaliação e clareza. Inicie cada asserção com "A resposta...":

  • A resposta contém...
  • A resposta cita...
  • A resposta indica...
  • A resposta não...
  • A resposta encaminha para...

Esta estrutura garante que as afirmações se focam em resultados observáveis.

Tipos de asserção

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

Afirmações de precisão factuais

Verifique se a resposta inclui informações precisas.

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

Asserçõ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 efetiva da política: 1 de janeiro de 2024
  • PTO para menos de dois anos: 15 dias
  • PTO para dois a cinco anos: 20 dias
  • PTO para mais de cinco anos: 25 dias

Asserções:

  • A resposta contém "15 dias" para o parêntese de antiguidade consultado.
  • A resposta não inclui "10 dias".

Asserções de atribuição de origem

Verifique se a resposta cita as respetivas origens.

Padrão: A resposta cita ou referencia <source name>. Cenário: Pergunta de benefícios.
Linha de comandos: "Que planos de saúde estão disponíveis?"

Asserções:

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

Asserções de invocação de ferramentas

Verifique se é utilizada a ferramenta correta.

Padrão: O agente invoca <tool name>. Cenário: Encomenda de equipamento.
Linha de comandos: "Preciso de encomendar um MacBook Pro de 16 polegadas"

Asserçõ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âmetros da ferramenta

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

Dados de base:

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

Linha de comandos: "Encomendar um MacBook Pro de 16 polegadas com 32 GB de RAM"

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

Asserçõ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 que contêm "32 GB".
  • A chamada OrderEquipment inclui costCenter: "CC-ENG-001".

Asserções de processamento de respostas de ferramentas

Verifique se a resposta comunica corretamente os resultados da ferramenta.

Dados de base:

  • Cenário: Confirmação da encomenda do equipamento
  • A ferramenta devolve: { orderId: "ORD-789", estimatedDelivery: "5-7 dias úteis" }

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

Asserções:

  • A resposta inclui o ID da encomenda.
  • A resposta comunica o período de tempo de entrega.
  • A resposta confirma a submissão com êxito.

Processamento de erros

Cenário: Falha na encomenda do equipamento (fora do stock)
A ferramenta devolve: { erro: "ITEM_UNAVAILABLE", mensagem: "MacBook Pro 16 polegadas atualmente sem stock" }

Asserções:

  • A resposta reconhece a condição de falha.
  • A resposta sugere os passos seguintes.
  • A resposta não indica êxito quando a operação falhou.

Asserções de escalamento

Verifique se os cenários confidenciais ou complexos são encaminhados adequadamente.

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

Cenário: Pergunta de FMLA (deve escalar)

Linha de comandos: "Preciso de uma licença prolongada para uma situação médica familiar"

Asserções:

  • A resposta indica que este pedido requer assistência de especialistas em RH.
  • A resposta não tenta explicar as regras de elegibilidade do FMLA.
  • A resposta fornece informações sobre como aceder aos RH.
  • A resposta reconhece a sensibilidade da situação.

Asserções de recusa

Verifique se o sistema recusa pedidos inadequados ou restritos.

Padrão: A resposta recusa-se a <prohibited action>.

Cenário: Pedido de dados de outro funcionário

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

Asserções:

  • A resposta recusa-se 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 utilizador.

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

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

Dados de base:

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

Asserções:

  • A resposta inclui informações específicas da localização.
  • A resposta exclui conteúdo regional irrelevante.
  • A resposta lista os feriados bancários do Reino Unido.
  • A resposta inclui o Dia do Boxe (específico do Reino Unido).
  • A resposta não menção feriados dos EUA (4 de julho, Dia de Acção de Graças).
  • A resposta faz referência à agenda de férias do Reino Unido.

Asserções de preenzação

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

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

Cenário: Orientações para a inscrição de benefícios

Linha de comandos: "Como fazer inscrever-se no seguro de saúde?"

Asserções:

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

Asserçõ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

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

Asserções:

  • A resposta não inclui políticas desatualizadas.
  • A resposta não introduz informações não suportadas.
  • A resposta não referencia a versão da política de 2022.
  • A resposta não compõe os detalhes da política que não estão na origem.

Asserções para chamadas de ferramentas

Os cenários baseados em ferramentas requerem validação entre invocação, parâmetros e processamento de respostas. Para agentes que utilizam plug-ins OpenAPI, ações de API ou servidores MCP, as asserções de chamadas de ferramentas requerem especial atenção.

Cenário: Encomenda de equipamento complexo

Dados de base: Funcionário:Ouse Sylvain Employee ID: EMP-54321 Department: Data Science Manager: Katrin Pold Budget: $4.000

Linha de comandos: "Preciso de encomendar 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 ferramentas

  • O agente invocou OrderEquipment pelo menos uma vez.
  • O agente fez chamadas separadas para o portátil e monitor (ou Lote do Azure chamada).

Asserções de parâmetros

Asserções de parâmetros de encomenda do portátil:

  1. A chamada inclui itemType: "laptop".
  2. A chamada inclui model "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 referencia katrin Pold.

Monitorizar asserções de parâmetros de ordem:

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

Asserções de resposta

  • A resposta confirma que ambos os itens foram encomendados.
  • A resposta inclui números de referência de ordem.
  • A resposta fornece informações de entrega estimadas.

Padrões de asserção comuns a evitar

Evite asserções que envolvam julgamentos de qualidade vagos ou pedidos compostos, que dependem de implementações específicas, não têm dados de base ou são excessivamente específicos.

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

Modelos de asserção

Os seguintes modelos de asserção fornecem pontos de partida para asserções para cenários comuns.

Obtenção de conhecimento

Cenário: [Tópico] pergunta

Linha de comandos: "[Pergunta do utilizador sobre o tópico]"

Asserções:

  • A resposta contém [facto específico da origem de conhecimento].
  • A resposta cita [documento de origem ou secção].
  • A resposta não contém [informações desatualizadas ou incorretas].
  • A resposta aborda a pergunta específica do utilizador.

Chamada de ferramenta

Cenário: [Pedido de ação]

Linha de comandos: "[Pedido do utilizador para executar a ação]"

Asserções:

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

Escalonamento

Cenário: [Tópico confidencial] pergunta

Linha de comandos: "[Pergunta do utilizador que exige julgamento humano]"

Asserções:

  • A resposta indica que requer assistência [especializada/humana].
  • A resposta fornece informações de contacto ou passos seguintes.
  • A resposta não tenta [dar conselhos/tomar decisões].
  • A resposta reconhece [sensibilidade/complexidade].

Recusa

Cenário: [Pedido inadequado/fora do âmbito]

Linha de comandos: "[Pedido de utilizador que deve ser recusado]"

Asserções:

  • A resposta recusa-se a [ação proibida].
  • A resposta explica [porque é que isto não pode ser feito].
  • A resposta não [revelar ou tentar coisa proibida].
  • A resposta sugere [alternativa adequada, se aplicável].

Mapear asserções para classificadores

As asserções diferentes requerem diferentes mecanismos de classificação. A tabela seguinte lista os classificadores a utilizar para diferentes tipos de asserção.

Tipo de asserção Classificador recomendado Observações
Contém texto específico Correspondência de palavras-chave Determinista
Correspondência semântica Semelhança de texto Processa a parafraseamento
Invocação de ferramentas Correspondência de capacidade Avalia a execução
Validação de parâmetros Código personalizado Analisar entradas
Julgamento de qualidade LLM como juiz Utilizar seletivamente
Valores exatos Correspondência exata Para IDs e números
Verificações de ausência Exclusão de palavras-chave Verifica as omissões

Próxima etapa