Checker que executa: por que não confiamos em IA sem prova
Colocamos dez tarefas de programação, do trivial ao difícil, para um dos nossos agentes de IA — e o avaliador deu a mesma nota para todas. Somar dois números e implementar Dijkstra com heap: 82,5. O agente não era o problema. A régua era.
O instrumento cego
O avaliador original fazia o que quase todo pipeline de avaliação de IA faz: conferia se a saída parecia certa — sintaxe válida, estrutura esperada, função definida. Ou seja: media "compila e tem o formato combinado", não "resolve o problema". Com essa régua, uma escada de dificuldade inteira vira um platô: mais dados não consertam instrumento cego, só acumulam o mesmo número.
O agravante clássico: a saída era truncada no armazenamento antes da verificação — o avaliador aprovava código que nem tinha terminado de ser lido.
A correção: executar, não opinar
Trocamos o verificador por um que executa a saída em sandbox contra casos de teste declarados na própria tarefa. Sem julgamento de estilo, sem "parece razoável": roda e passa, ou não conta. Com a régua nova, a mesma escada que dava 82,5 em tudo passou a separar — 85 / 65 / 25 conforme a dificuldade real. Pela primeira vez o número media o agente, e não o parser.
Resultado de IA só conta depois de provado. O resto é impressão com casas decimais.
Por que isso importa fora do laboratório
Todo sistema com LLM em produção tem um ponto onde alguém decide se a saída "está boa". Se essa decisão é um olhar humano por amostragem ou um verificador de formato, o sistema aprova erro com aparência de acerto — e a confiança no número vira risco. Os princípios que aplicamos em toda entrega:
1. Verificação executável onde houver como executar. Código roda em sandbox; extração de dados confere contra a fonte; cálculo refaz por caminho independente.
2. Fail-closed no que é crítico. Em domínios sensíveis (privacidade, conformidade), a saída que não passa no filtro não sai — o padrão é bloquear, nunca "deixa passar e loga".
3. Não deu para medir ⇒ inconclusivo. Nunca um número. Instrumento quebrado que reporta valor é pior que instrumento parado, porque contamina toda decisão a jusante.
Seu pipeline de IA aprova por formato ou por prova?
É a primeira pergunta que fazemos.