Autor de mentor de IA revisou seus 61 testes e descobriu que a bancada de testes mentia
Há um mês, o desenvolvedor de uma plataforma de ensino integrou a ela um mentor de IA, que enxerga as aulas, o progresso e a última tentativa do aluno. Para escolher o modelo e ajustar o prompt com base em números, ele montou uma bancada de 61 testes automáticos. Uma semana depois, descobriu que a bancada errava: aprovava respostas interrompidas no meio, deixava passar uma solução pronta com a variável renomeada e reprovava uma recusa correta. Depois, o modelo passou a se comportar de forma impecável na bancada, mas não em produção, diante do mesmo tipo de pergunta. A conclusão do autor: ele deixou de confiar não só nos testes, mas também no próprio modelo. - 61 testes e três tipos de resultado falso - Bancada e produção divergem no mesmo tipo de pergunta - É preciso avaliar tanto o modelo quanto o próprio avaliador
Processado por IA de Habr AI; editado por Hamidun News
Há um mês, o desenvolvedor de uma plataforma de ensino integrou a ela um mentor de IA e montou para ele uma bancada de 61 testes automáticos, para decidir com base em números, e não no feeling. Uma semana depois, descobriu que quem errava era a própria bancada: ela aprovava respostas interrompidas, deixava passar soluções prontas com outros nomes de variáveis e reprovava recusas corretas. Mais uma semana, e o modelo se comportava de forma impecável na bancada, mas não em produção, diante do mesmo tipo de pergunta. O autor contou essa história no Habr.
O que foi testado e por quê
O mentor da plataforma não é um chatbot genérico. Ele enxerga as aulas, o progresso do aluno e a última tentativa dele em cada exercício. Daí vem o critério de qualidade: o que conta num tutor não é saber a resposta, mas onde ele para. Ele aponta a linha com o erro ou reescreve a tarefa no lugar do aluno? Diz "não sei, vamos verificar" ou inventa uma resposta com toda a confiança?
A bancada devia medir justamente esse comportamento. Ela servia para escolher o modelo e ajustar o prompt, sem precisar adivinhar qual versão era melhor. Enquanto dá para confiar nos números, o esquema funciona. Os problemas começaram quando os próprios testes foram testados.
Onde a bancada mentia
O autor aponta três erros, e cada um puxa para um lado. Os detalhes de implementação não foram divulgados no anúncio, então o que segue é a nossa leitura.
- Resposta interrompida era aprovada. Ao que tudo indica, a verificação procurava os elementos esperados no texto, mas não exigia que a resposta estivesse completa. O modelo cortado pelo limite de tokens recebia aprovação.
- Solução pronta com outro nome de variável passava. A proibição de entregar a solução provavelmente se baseava em comparação de texto. Basta renomear a variável para a correspondência sumir, e o aluno recebe o código completo.
- Recusa correta era reprovada. A verificação esperava uma forma específica de recusa e não reconhecia a resposta correta quando ela vinha com outra formulação.
O primeiro e o segundo erro geram falsas aprovações; o terceiro gera falsas reprovações. Por isso, a taxa geral de aprovação diz quase nada: os erros se compensam em parte, e o número final parece plausível.
Bancada limpa, produção não
O pior veio depois. Com as verificações corrigidas, o modelo se comportava de forma impecável na bancada, mas em produção, diante do mesmo tipo de pergunta, não. É o clássico descompasso entre um conjunto sintético e o tráfego real. Alunos de verdade escrevem de forma mais bagunçada, enviam código inacabado, pressionam o mentor e formulam os pedidos de modo diferente do autor dos testes. Um conjunto de 61 casos não cobre essa variedade.
A conclusão do autor é dura: ele deixou de confiar no modelo por completo. Pelo título, dá para concluir que os testes também não merecem confiança. Na prática, isso significa mudar a arquitetura da confiança: o comportamento do mentor precisa ser limitado e verificado no nível do sistema, sem contar com a ideia de que um bom prompt e uma bancada toda verde garantam o resultado.
O que levar para o seu projeto
- Verifique o avaliador. Rode a bancada com respostas sabidamente ruins: cortadas, com solução pronta, com variáveis renomeadas. Se a bancada as deixa passar, não dá para confiar nos números.
- Compare pelo sentido. Para código, isso significa normalizar identificadores, analisar a estrutura ou executar a solução, e não buscar uma substring.
- Conte separadamente as falsas aprovações e as falsas reprovações. Uma taxa única de aprovação esconde erros dos dois sinais.
- Traga a produção de volta para o conjunto. Cada falha real deve virar um novo teste.
- Não dependa do modelo em pontos críticos. A proibição de entregar a solução completa é mais confiável como verificação na saída do que como pedido no prompt.
A história serve a quem constrói agentes e assistentes baseados em LLM com métricas de qualidade. O avaliador é um componente de software como o próprio modelo, e erra com a mesma frequência. O autor publica a análise completa, com exemplos, no artigo original; aqui, resumimos apenas o que foi divulgado no anúncio.
Perguntas frequentes sobre a notícia
O que foi testado e por quê?
O mentor da plataforma não é um chatbot genérico. Ele enxerga as aulas, o progresso do aluno e a última tentativa dele em cada exercício. Daí vem o critério de qualidade: o que conta num tutor não é saber a resposta, mas onde ele para. Ele aponta a linha com o erro ou reescreve a tarefa no lugar do aluno? Diz "não sei, vamos verificar" ou inventa uma resposta com toda a confiança? A bancada devia medir justamente esse comportamento. Ela servia para escolher o modelo e ajustar o prompt, sem precisar adivinhar qual versão era melhor. Enquanto dá para confiar nos números, o es
Onde a bancada mentia?
O autor aponta três erros, e cada um puxa para um lado. Os detalhes de implementação não foram divulgados no anúncio, então o que segue é a nossa leitura. Resposta interrompida era aprovada. Ao que tudo indica, a verificação procurava os elementos esperados no texto, mas não exigia que a resposta estivesse completa. O modelo cortado pelo limite de tokens recebia aprovação. Solução pronta com outro nome de variável passava. A proibição de entregar a solução provavelmente se baseava em comparação de texto. Basta renomear a variável para a correspondência sumir, e o aluno rece
O que se sabe sobre Bancada limpa, produção não?
O pior veio depois. Com as verificações corrigidas, o modelo se comportava de forma impecável na bancada, mas em produção, diante do mesmo tipo de pergunta, não. É o clássico descompasso entre um conjunto sintético e o tráfego real. Alunos de verdade escrevem de forma mais bagunçada, enviam código inacabado, pressionam o mentor e formulam os pedidos de modo diferente do autor dos testes. Um conjunto de 61 casos não cobre essa variedade. A conclusão do autor é dura: ele deixou de confiar no modelo por completo. Pelo título, dá para concluir que os testes também não merecem c
Build & Ship Production AI Apps with Vibe Coding
Join Zhemal Khamidun's hands-on Vibe Coding Intensive at hamidun.com/vibecoding — master Claude Code, Cursor, and autonomous agentic workflows.
O essencial da IA — uma vez por semana
Sete histórias que realmente importaram, escolhidas a dedo. Sem ruído nem releases.
Pronto! Verifique seu e-mail para a confirmação.