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.