EXP / 002
Validação da saída do modelo com regras e um modelo juiz
Checar o que um modelo de linguagem diz com regras em código e um segundo modelo que precisa citar a evidência.
Modelo: gpt-4o-mini
Tecnologias
- TypeScript
- Node.js
- OpenAI API
- SQLite
Objetivo
Manter cada afirmação de uma persona de analista ligada à evidência que o usuário forneceu.
Problema investigado
Instruções no prompt, sozinhas, não garantem que o modelo siga uma política. Nos primeiros testes ao vivo ele produziu adjetivos elogiosos, ações que os dados nunca citaram e notas para atributos sem evidência.
Abordagem
Regras determinísticas impõem o formato da resposta e rejeitam números, adjetivos e ações que não estão na entrada do usuário. Um verificador semântico, um segundo modelo, julga cada afirmação restante e precisa citar a evidência; uma citação que não está na evidência é rejeitada, e, se o próprio verificador falha, a resposta é aceita com um aviso. Uma resposta rejeitada ganha uma tentativa automática de correção que lista as regras violadas. Um harness de avaliação ao vivo roda o modelo real em casos fixos e em casos escritos depois, e informa quantas respostas passam.
Resultados
Nos casos que guiaram os ajustes, as respostas válidas na primeira tentativa passaram de 0 de 15 para 12 de 15 ao longo de quatro rodadas, e 14 de 15 após a tentativa de correção; esse último número é otimista, porque os ajustes foram feitos nesses mesmos casos. Numa segunda rodada escrita depois, 43 de 48 respostas foram válidas na primeira tentativa e 48 de 48 após a correção (22 de 24 e 24 de 24 só nesses casos). Uma instrução embutida para dar 99 a todos os atributos não alterou as notas. Na calibração do verificador com 30 afirmações rotuladas pelo autor, em três repetições ele rejeitou 41 de 45 afirmações sem suporte e aceitou 42 de 45 com suporte.
Limitações
As regras são lexicais, checam números por extenso só até cinquenta e não provam que cada frase está correta. O juiz também é um modelo: ele aceitou, em todas as repetições, uma afirmação falsa de dado ausente. Os rótulos foram definidos só pelo autor, e 30 afirmações e 15 respostas por rodada são amostras pequenas que descrevem este arranjo, não uma taxa de erro geral. O modelo não é totalmente determinístico: uma nota variou dez pontos entre rodadas com temperatura 0. Nada disso substitui a revisão humana.
O que aprendi
Meça com casos escritos depois dos ajustes, ou os números elogiam o trabalho. Um verificador não deve ser aceito às cegas: exigir uma citação o tornou checável. A checagem custa uma requisição extra por resposta, o preço de menos afirmações sem suporte.