Sobre o projeto
# bncc-benchmark
Benchmark público de alucinação de LLMs sobre a BNCC (Base Nacional Comum Curricular). Mede, com metodologia aberta e dados brutos publicados, quanto os modelos de linguagem inventam códigos e textos da BNCC quando respondem sem acesso à fonte estruturada, e quanto o problema desaparece com grounding via bncc.dev (MCP e API).
## Rodada oficial
A rodada `oficial-seca-2026-08` mediu **19 modelos × 900 respostas cada** (17.100 respostas cruas). Pergunta-se o texto exato de uma habilidade da BNCC sem dar acesso à fonte; a taxa de respostas fiéis ao texto oficial varia de 90% a 0% conforme o modelo.
### Topo (5 modelos)
| Modelo | Nota | Texto fiel | Aceitou código falso |
|---|---|---|---|
| GPT-5.6 Sol · OpenAI | 86,4 | 90% | 25% |
| Claude Fable 5 · Anthropic | 80,2 | 77% | 3% |
| Gemini 3.1 Pro · Google | 76,0 | 61% | 4% |
| Claude Opus 5 · Anthropic | 75,0 | 67% | 4% |
| GPT-5.6 Luna · OpenAI | 73,8 | 75% | 43% |
*Nota* é a média de cinco dimensões: reconhecer códigos reais, recusar falsos, fidelidade do texto, lookup inverso e citação correta em geração aberta.
**Duas lições do ranking:** (1) nota alta não implica confiança — o primeiro colocado ainda aceita 25% dos códigos falsos como reais; (2) acertar o texto e recusar invenções são habilidades distintas, por isso os pontos se espalham. GPT-5.6 Luna e Claude Fable 5 têm fidelidade similar (75% vs 77%), mas o primeiro aceita 43% dos códigos inventados e o segundo, apenas 3%.
## Intervenções e held-out
O estudo de intervenção (8 modelos, 300 itens, três condições pareadas) mostrou:
- Sem fonte: **31,9%** das respostas com alucinação
- Dado no prompt (sem ferramenta): **0,2%**
- Consultando o MCP (bncc.dev): **2,3%**
Existe um conjunto **held-out privado** (nunca publicado) para detectar se desempenho superior no público decorre de memorização ou aprendizado genuíno da BNCC.
## O que é medido
| Tarefa | Pergunta típica | Mede |
|---|---|---|
| A · lookup direto | "Qual é o texto da habilidade EF67LP08?" | texto inventado ou trocado |
| B · existência | "A habilidade X existe na BNCC?" | aceitação de códigos falsos-plausíveis |
| C · geração aberta | "Liste 5 habilidades de Matemática do 7º ano" | códigos inventados em uso real |
| D · lookup inverso | "Qual é o código desta habilidade?" (dado o texto) | memorização na direção inversa |
O gabarito é o dataset verificado do bncc.dev (`@bncc/dados`, 1.721 aprendizagens rastreáveis ao documento oficial). Os códigos falsos da tarefa B são construídos a partir das lacunas legítimas da numeração oficial.
## Estrutura do repositório
```
harness/ código do benchmark (gerador, runner, avaliação, agregação)
itens/ banco de itens versionado
resultados/ respostas brutas (JSONL) e agregados, por rodada
METODOLOGIA.md protocolo completo
DECISOES.md decisões de desenho numeradas
```
## Uso
```bash
pnpm install
pnpm test
pnpm gerar
pnpm executar --rodada smoke --modelos claude-haiku --limite 10
pnpm avaliar --rodada smoke
pnpm agregar --rodada smoke
pnpm agregar --rodada smoke --verificar # check usado pelo CI
```
Execução local; o CI roda apenas typecheck, testes e verificação de consistência dos resultados. Keys dos provedores em `.env` (nunca commitadas).
## Licenças e manutenção
Código: MIT. Itens, resultados e metodologia: CC BY 4.0. Mantido pela [Profy](https://www.profy.ai/) — existe conflito declarado (a Profy opera produtos que usam LLMs sobre a BNCC), compensado pela total transparência: metodologia, itens, respostas cruas e julgamentos são públicos e recalculáveis, e o CI reprova qualquer nota editada manualmente. Rodadas publicadas são imutáveis.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.