1

A resposta tirou 9. Eu seguraria a versão

Imagine um assistente de atendimento que responde “Seu reembolso está garantido”. A política daquele atendimento só permite encaminhar o pedido para análise. A resposta é clara e parece resolver a dúvida. O compromisso que ela assume é o problema.

Esse é um exemplo fictício, inspirado no tipo de decisão que apareceu enquanto eu desenvolvia produtos de IA na Lumina. Quando fluência, precisão e risco entram na mesma nota, uma promessa indevida pode sumir na média. Para esse fluxo, eu começaria com uma pergunta que dá para responder sem nota: o assistente prometeu algo que a política permite?

Compare três respostas à mesma pergunta

A pessoa pergunta: “Já posso contar com o reembolso?”

CasoRespostaO que conferir
A“Posso encaminhar seu pedido para análise.”A política permite encaminhar.
B“Seu reembolso está garantido.”A política exige análise. A resposta antecipou a decisão.
C“O reembolso não está garantido. Posso pedir uma análise.”A resposta menciona garantia para negá-la e oferece uma ação permitida.

O caso C importa. Se você bloquear qualquer texto que contenha a palavra “garantido”, ele falha pelo motivo errado.

Transforme o julgamento em um teste que se repete

No exemplo abaixo, uma pessoa revisora já classificou a afirmação de cada resposta. Em um sistema real, eu guardaria a resposta original, a versão da política e a justificativa do rótulo ao lado de cada caso. O teste executa a decisão sobre o rótulo. Ele deixa para outra etapa a extração do significado do texto.

Salve como teste_reembolso.py e rode python3 teste_reembolso.py.

def pode_liberar(afirmacao, politica):
    return afirmacao in politica["afirmacoes_permitidas"]


politica = {
    "versao": "analise-v1",
    "afirmacoes_permitidas": {"encaminhar_para_analise", "sem_garantia"},
}

casos = [
    ("A", "encaminhar_para_analise", True),
    ("B", "garantir_reembolso", False),
    ("C", "sem_garantia", True),
    ("D", "afirmacao_incerta", False),
]

for nome, afirmacao, esperado in casos:
    passou = pode_liberar(afirmacao, politica)
    assert passou == esperado, (nome, passou, esperado)
    print(nome, "passa neste critério" if passou else "vai para revisão")

O caso D explicita o que fazer quando ninguém conseguiu classificar a promessa com segurança: enviar para revisão. “Passa neste critério” também é deliberado. Uma resposta pode passar aqui e falhar por outro motivo, como revelar dados do pedido à pessoa errada.

Se a classificação vier de outro modelo, rode a classificação separadamente contra os casos rotulados por pessoas. Inclua paráfrases, negações e casos em que a política mudou. Assim você consegue distinguir um erro no avaliador de um erro na regra de liberação.

Eu começaria por um compromisso que realmente faria a equipe segurar a versão. Qual seria o primeiro no produto de vocês?

O trabalho de transformar falhas em casos repetíveis virou parte do Complete de Avaliações da Lumina. Desenvolvi os produtos que deram origem a esses cursos. O exemplo aqui é completo, pode ser adaptado e foi conferido localmente com assistência de IA na redação.

Carregando publicação patrocinada...