← Últimos artigos
🤖 AI

MathlibPR: Pull Request Merge-Readiness Benchmark for Formal Mathematical Libraries

O artigo apresenta o MathlibPR, um benchmark derivado de históricos reais de pull requests do Lean/Mathlib4, para avaliar a capacidade de LLMs e agentes de distinguir contribuições prontas para mesclagem das não mescladas, revelando suas atuais dificuldades e destacando o potencial do benchmark para o desenvolvimento de assistentes de revisão e modelos de recompensa.

Autores originais: Zixuan Xie, Xinyu Liu, Shangtong Zhang

Publicado 2026-05-11
📖 4 min de leitura☕ Leitura rápida

Autores originais: Zixuan Xie, Xinyu Liu, Shangtong Zhang

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine uma biblioteca viva e massiva de matemática chamada Mathlib. Não é apenas um livro; é um gigantesco canteiro de obras compartilhado onde matemáticos e cientistas da computação constroem uma fundação perfeita e livre de erros para toda a matemática. Para manter essa biblioteca segura e útil, cada novo trecho de código (um "Pull Request" ou PR) deve passar em dois testes:

  1. O teste "Funciona?": O código realmente executa sem travar? (O computador verifica isso).
  2. O teste "É um bom cidadão?": O código se encaixa com o restante da biblioteca? Está escrito no estilo correto? É claro o suficiente para que outros o utilizem? (Humanos verificam isso).

Durante muito tempo, a Inteligência Artificial (IA) tem sido excelente em passar no primeiro teste. Ela consegue escrever código que executa perfeitamente. Mas o segundo teste — a revisão humana — tornou-se um gargalo. Há muitas submissões e não há revisores humanos suficientes para verificar se o código está realmente pronto para ser mesclado na biblioteca.

Este artigo faz uma pergunta simples: A IA pode aprender a ser o revisor? Uma IA consegue examinar um trecho de código que já funciona e decidir se está "pronto para mesclagem" ou se precisa de mais trabalho?

Para descobrir, os autores criaram um novo teste chamado MATHLIBPR.

O Experimento: Um "Teste Cego de Degustação" para Código

Pense no MATHLIBPR como um teste cego de degustação para uma nova receita.

  • O Cenário: Os pesquisadores coletaram o histórico real da biblioteca Mathlib. Reuniram milhares de submissões de código que já haviam passado no teste "Funciona?" (compilaram com sucesso).
  • O Desafio: Eles forneceram esses trechos de código a vários modelos de IA (como DeepSeek, Qwen e outros) e perguntaram: "Isso está pronto para ser publicado na biblioteca ou deve ser enviado de volta para revisões?"
  • A Pegadinha: A IA não conhecia o resultado final. Não podia perguntar aos revisores humanos: "Vocês gostaram disso?". Ela tinha que julgar apenas com base no próprio código, assim como um revisor humano faria.

Eles testaram a IA em três rodadas, fornecendo-lhe cada vez mais pistas:

  1. Rodada 1: Apenas as alterações de código e algumas diretrizes de estilo.
  2. Rodada 2: O código mais uma lista de erros automatizados de "linting" (como um verificador ortográfico para código).
  3. Rodada 3: O código, os erros, mais a descrição do autor sobre o que ele estava tentando fazer.

Os Resultados: A IA Ficou Presa

Os resultados foram surpreendentes e um pouco decepcionantes para a comunidade de IA.

  • A IA não conseguia distinguir a diferença. Mesmo com todas as pistas extras, os modelos de IA lutaram para distinguir entre código que eventualmente foi aceito e código que foi rejeitado ou enviado de volta para correções.
  • O Viés do "Sim": A maioria das IAs era excessivamente otimista. Elas tendiam a dizer: "Sim, isso é ótimo!" mesmo quando o código estava realmente bagunçado ou não se adequava ao estilo da biblioteca. Raramente diziam: "Não, isso precisa de trabalho."
  • A Opção "Não Sei": Alguns modelos, ao enfrentar uma decisão difícil, simplesmente diziam: "Não tenho certeza". Embora honesto, isso não ajuda a biblioteca a avançar.
  • Mais Contexto Não Ajudou Muito: Fornecer mais informações à IA (como a intenção do autor ou relatórios de erros automatizados) não melhorou significativamente sua capacidade de tomar a decisão correta.

Uma descoberta interessante foi que, mesmo quando a IA analisava o mesmo projeto em dois momentos diferentes (uma vez quando estava bagunçado e outra quando estava corrigido e aceito), frequentemente não conseguia dizer qual versão era a "melhor". Era como um aluno fazendo uma prova sobre um tema que estudou, mas falhando em notar a diferença entre um rascunho inicial e o ensaio final.

Por Que Isso Importa

O artigo conclui que, embora a IA seja excelente em escrever código que funciona, atualmente ela é muito ruim em revisar código para verificar se ele pertence a uma biblioteca de alta qualidade.

Os autores não estão dizendo que a IA deve substituir revisores humanos. Em vez disso, eles veem essa avaliação (MATHLIBPR) como um ponto de partida. É uma ferramenta para ajudar a treinar futuros sistemas de IA para se tornarem melhores "revisores assistentes". O objetivo é construir uma IA que possa ajudar os humanos, identificando problemas óbvios de estilo ou documentação ausente, atuando como uma primeira linha de defesa para que os revisores humanos possam focar nas partes mais difíceis e criativas do trabalho.

Em resumo: A IA é uma ótima construtora, mas, atualmente, é uma péssima inspetora. Este artigo fornece o primeiro teste real para medir exatamente quão ruim ela é, para que possamos ensiná-la a fazer melhor.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →