O texto descreve um sistema chamado 'harness' que avalia modelos de linguagem em termos de precisão e honestidade ao lidar com informações fictícias. O sistema utiliza regras determinísticas para verificar a presença de dados verdadeiros e usa LLMs como juízes para avaliar critérios mais complexos. Testes recentes mostraram que três famílias de modelos, quando confrontadas com uma empresa fictícia chamada 'Acme Holdings', responderam corretamente sem inventar informações falsas.
porRedação
20 de julho de 2026
Compartilhar
O harness utiliza os mesmos canais que qualquer consumidor usa para fazer a travessia — seja pagando pelo CLI binário ou fazendo um POST para o endpoint HTTP Ktor (--mode subprocess vs --mode http) — provando que a lógica do agente está realmente desacoplada de sua camada de transporte. Em seguida, ele pontua o texto que retorna.
Pontuadores baseados em regras (rule_scorers.py) são baratos, rápidos e absolutos — determinísticos, como uma verdadeira afirmação. Os seis pontuadores de verdade factual só funcionam quando a afirmação é verdadeira, como um teste barato de presença positiva: a verdade factual diz que o texto é nativo da IA, mas a saída nunca menciona IA? Falha definitiva. Quando a afirmação é falsa, o pontuador pula — apenas um juiz pode distinguir "corretamente relatou falta de evidências" de "omitiu preguiçosamente". As duas portas processuais (mustNotFabricateFigures, sourceUrlsMustBeCited) sempre funcionam. Estes são verdades mecânicas. Eles passam ou falham com a mesma autoridade que um assertEquals falhado.
LLM como juiz (judge_scorer.py + rubric.md) lida com tudo o que as regras não podem. Pontua a saída em cinco critérios — especificidade, correção factual contra verdade factual, rastreabilidade de fonte, honestidade sobre dados ausentes e tom.
Dois níveis, porque falham de maneiras diferentes. As regras são determinísticas e gratuitas — execute-as em cada commit. O juiz é caro e nebuloso — execute-o menos frequentemente. A divisão é o ponto todo: empurre a certeza barata até onde ela vai, e gaste tokens de juiz apenas onde permanece verdadeira ambiguidade. Duas fontes de verdade, cobrindo os pontos cegos um do outro.
(Nota: o cartão de pontuação da empresa-research abaixo é uma base puramente de regras. O juiz tem sua estreia em escala — e seu próprio relatório de bugs — na seção xadrez mais adiante.)
A Regressão Multi-Fornecedor
O harness lê config.toml e executa o mesmo conjunto de ouro através de cada fornecedor configurado. O cartão de pontuação relata a pontuação, latência e custo exato em tokens. Preços vivem em uma configuração controlada por versão com URLs de fonte citadas, então a coluna do custo é auditável, não apenas dito.
O que o Harness Encontrou
A execução de 2026–07–16 produziu três bases:
Pressione Enter ou clique para ver a imagem em tamanho completo
Três famílias de modelos — Llama 3.1 70B, Gemini 3.1 Flash-Lite e GLM-5-Turbo — estão se posicionando dentro de ~14 pontos umas das outras em uma mesma habilidade. Os provedores mantêm consistência estrutural em uma carga de trabalho real. O hf-llama lidera na qualidade no custo mais baixo; o gemini é o mais rápido. A tabela completa de 144 linhas está comprometida em eval_harness/scorecard.md, com os testes falhos nomeados por caso — audite-o, não leve minha palavra como verdade.
Honestidade sob Ambiguidade
Observar como os provedores lidam com “Acme Holdings” — a única empresa fictícia do conjunto dourado — é a demonstração mais clara de o que o mecanismo de teste. Uma execução correta em Acme deve honestamente recusar-se a inventar fatos.
Aqui está o que todos os três provedores realmente geram lado a lado:
hf-llama:
**Tech stack:** Nenhum dado público confiável encontrado. ... **Fontes:** Ao ver que o nome da empresa
"Acme Holdings" não parece ser uma empresa de tecnologia distinta e bem conhecida. Os resultados da minha pesquisa retornaram "ACME Markets," que é uma cadeia de supermercados pertencente à Albertsons. Não há rastreamento público para um ente chamado "Acme Holdings" focado em tecnologia, alinhado com o papel de Engenheiro Mobile Sênior. Como a empresa parece ser fictícia ou carecer de uma pegada pública na área de tecnologia, não posso fornecer uma avaliação para as dimensões solicitadas. **Tech stack:** Nenhuma informação confiável encontrada publicamente. ... **Fontes:** https://www.acmemarkets.com/careers.html
Três famílias de modelos, uma empresa falsa, três recusas honestas mas diferentes.
O Rig Capturou Seu Próprio Bug de Avaliador
Os avaliadores positivos estavam correspondendo a palavras-chave dentro de negações. Uma saída que dizia "Nenhuma evidência pública da adoção do Jetpack Compose" estava passando no teste do Compose — as palavras "Jetpack Compose" apareciam, e o avaliador não olhava para o contexto. Isso inflou silenciosamente cada provedor que recusou honestamente, punindo o modelo mais honesto de forma mais severa: hf-llama recusa mais, então foi inflado mais. Uma leitura de vibes teria transcrita o número inflado como resultado e prosseguido.
O harness capturou isso, e os avaliadores agora são cientes de negações. Corrigimos isso ao escanear uma janela de 60 caracteres antes de qualquer palavra-chave correspondida para ver se está sendo ativamente negada (por exemplo, "nenhuma evidência pública de...", "não consegui encontrar...").
E para garantir que esse bug nunca seja enviado novamente, está preso por um teste de regressão real que falha na construção CI se uma recusa honesta alguma vez contar como passagem.
Teste os avaliadores — porque um bug em seu fixture de teste infla silenciosamente cada número que você publica.
Uma Segunda Habilidade: O Oracle Retorna
Um harness só ganha o nome quando uma segunda habilidade se conecta sem perturbar a primeira. Então o harness é agora multi-habilidade: um --skill flag seleciona caminhos de conjuntos dourados, avaliadores e cartão de pontuação do registro SkillSpec; a configuração padrão para pesquisa da empresa permanece inalterada.
A segunda habilidade retorna ao domínio do primeiro parte: chess-opening-coach, que orienta uma posição e deve terminar cada resposta com uma linha de máquina-parsável RESPOSTA FINAL:. O xadrez inverte o problema da verdadeira terra — não existe oráculo para "é Step mobile-first", mas o xadrez tem chaves de respostas publicadas. O conjunto dourado vende 40 casos estratificados do ChessQA benchmark (CSSLab, MIT — licença e origem mantidas): 20 táticas com um movimento melhor conhecido em notação UCI, 20 julgamentos de posição ao longo das cinco faixas de avaliação, exatos-matches sem juiz no loop. O mais próximo que o mundo do agente oferece a perft. Mais uma porta transportada diretamente do próprio aplicativo de xadrez: um teste de honestidade com frases proibidas que falha em reivindicações de profundidade de motor, ELO ou certeza não merecida.
O objetivo do piso — 120 linhas, 0 timeouts, 0 erros:
Cada caso de tática executa tanto o classificador exato quanto a porta da honestidade, então uma resposta errada mas honesta fica em 50% — um passo de 52% geralmente significa “movimento errado, permaneceu honesto.” E a leaderboard foi invertida: hf-llama venceu na pesquisa da empresa; no xadrez, o Gemini lidera em precisão, velocidade e custo. A classificação do provedor é uma propriedade da habilidade, não do provedor — o argumento silencioso para um harness multi-habilidade desde o início.
O Juiz Estava Assinando com Carimbo
Anteriormente escrevi que você não pode avaliar um LLM com outro LLM não testado. A execução de xadrez provou isso sobre meu próprio juiz. Ele estava programado para pesquisa da empresa independentemente da habilidade: sua verdadeira base veio de expectedClaims — vazia em cada caso de xadrez — e dois dos seus critérios codificados não existem na rubrica do xadrez, então ele retornou constantes 5.0s neles e aprovou aproximadamente 55% das respostas objetivamente erradas. Zero sinal, vestido como uma pontuação perfeita.
A correção faz o juiz ser consciente do domínio — um RubricProfile por rubrica injeta a resposta objetiva correctAnswer do caso como verdadeira base — e, porque o chão é objetivo, a correção pode ser verificada com aritmética: respostas corretas agora passam factual_correctness em 72%, erradas em 15%. Essa lacuna é o número de calibragem, a única razão para confiar em um juiz — e você pode computar apenas contra uma base objetiva.
A tabela de calibração por critério é tese deste artigo em uma grade (pass = ≥ 3/5):
Pressione enter ou clique para ver a imagem em tamanho completo
A linha do Gemini: 98% de ancoragem, 92% de qualidade de raciocínio, 100% de tom — 22% de correção factual. Todos os três provedores escrevem um texto fluente e bem fundamentado enquanto erram a jogada na maior parte do tempo. Exatamente o modo de falha “pareceu bom” não pode capturar, renderizado como números. O chão e o juiz permanecem em eixos separados — colapsá-los permitiria que 100% de tom lavasse 22% de correção.
Dois Erros A Mais, Mesma Lição
A revisão revelou dois mais, ambos invisíveis ao olhar. Lembre-se “o custo é exato, não estimado”? Em modo de subprocesso ele silenciosamente não era: o logger JVM do ferry imprime uma bandeira antes do "{_meta}: ... payload, e o parser só leu a primeira linha stdout. Uma linha perdida, quatro corrupções — modelo registrado como
Cada correção é fixada por um teste de regressão — o conjunto cresceu de 45 para 74 — e a tabela completa de 120 linhas é comprometida em eval_harness/scorecard-chess.md. Escopo, honestamente: o subconjunto ChessQA é modelado, não baseado no motor; o conjunto canônico Lichess→Stockfish está especificado como um acompanhamento. Medidas do piso, rotuladas como tal.
O Blueprint
A armadilha embarcada é uma rede de regressão permanente — e um blueprint que funciona para qualquer agente, independentemente do que ele orquestra. Faça essas seis coisas e você terá construído um agente que pode ser iterado sem quebrá-lo, porque a correção vive na armadilha, não em vibrações:
Escolha uma habilidade cuja saída faça reivindicações verificáveis.
Autorize o conjunto dourado à mão: referências booleanas, não respostas ideais em strings, com pelo menos uma entrada falsa que o agente deve recusar honestamente. Trave-o atrás de aprovação humana — a verdadeira geração automática é circular.
Punteie deterministicamente: confie em regras baratas e rápidas que passam ou falham com a mesma autoridade absoluta de um assertEquals. Execute-as em cada comprometimento.
Teste os avaliadores — cada correção de pontuação recebe um teste de regressão.
Apenas então compare provedores, com custo exato baseado em token, para que o scorecard seja auditável.
Então adicione uma segunda habilidade — e se seu domínio oferecer uma chave de respostas publicada, pegue-a. Apenas um piso objetivo pode calibrar o seu juiz: meça como ele pontua respostas objetivamente-certas versus objetivamente-incorretas, e não confie em um juiz que você não tenha medido.
A ordem importa. Uma comparação de provedores sem um conjunto dourado confiável é ruído; um conjunto dourado sem testes de avaliador é um bug esperando para inflar seus números; e um juiz sem um piso objetivo para calibrar é apenas uma segunda opinião que você não pode verificar.
Fonte original
Conteúdo traduzido e adaptado pela redação do Notícias Mobile. Confira também a matéria na fonte original.
Usamos cookies essenciais e, com seu consentimento, cookies de analytics e publicidade. Você pode aceitar tudo, manter apenas o básico ou recusar cookies não essenciais. Consulte a Política de Privacidade.