A GitHub lançou o padrão aberto ReviewBench para avaliar agentes de revisão de código, em uma tentativa de enfrentar um problema fundamental nas ferramentas de revisão baseadas em inteligência artificial: a dificuldade de comparar os erros que elas detectam, os que deixam passar e o volume de ruído que produzem. O padrão está disponível para pesquisadores e equipes que desenvolvem sistemas de revisão de código, e também permite inserir um sistema personalizado e compará-lo com outros sistemas.
Um padrão baseado em pull requests reais
A GitHub projetou o conjunto ReviewBench com base na análise da distribuição de mais de 103,9 milhões de pull requests na plataforma. O conjunto inclui 219 pull requests de 187 repositórios públicos licenciados como open source, abrangendo 19 linguagens de programação, com a distribuição das linguagens e os tamanhos dos repositórios alinhados ao padrão geral da GitHub. Ainda assim, o tamanho das alterações foi reponderado em favor de pull requests de médio e grande porte que fossem passíveis de revisão, em vez de uma concentração excessiva em alterações pequenas em um único arquivo.
O que a GitHub chama de “conjunto de verdade” não depende de uma única fonte. Os resultados potenciais foram coletados de revisores humanos, alterações posteriores feitas pelos autores das pull requests, ferramentas de análise estática e vários modelos de linguagem avançados. Depois da remoção dos resultados semanticamente sobrepostos, eles foram avaliados segundo um critério unificado que determina que o resultado correto deve ser correto, relevante e não trivial. A GitHub usa o modelo Claude Sonnet 5 como avaliador linguístico, publicando o rubric e as configurações de avaliação com o objetivo de aumentar a auditabilidade e a reprodutibilidade.
Métricas que não penalizam a descoberta de novos erros
O ReviewBench distingue entre duas famílias de métricas. As métricas grounded precision, grounded recall e grounded F1 medem a capacidade do sistema de detectar problemas já existentes no conjunto de verdade, proporcionando uma comparação direta entre os sistemas. Já as métricas augmented precision, augmented recall e augmented F1 também examinam resultados que não correspondem a nenhum problema conhecido e atribuem crédito ao sistema se o avaliador comprovar que se trata de um problema correto.
Essa distinção é importante porque um conjunto fixo de erros não pode necessariamente ser completo; um novo agente pode descobrir um problema que os criadores do padrão não identificaram. A GitHub usa o grounded recall como principal indicador para comparar os sistemas, enquanto as métricas ampliadas oferecem um diagnóstico adicional de cada sistema.
Avaliação ajustável e auditável
Os resultados podem ser divididos por gravidade e categoria do problema, como correção, segurança, confiabilidade, manutenibilidade e testes. O padrão Fβ também permite alterar o peso entre recall e precisão, de modo que o usuário possa priorizar uma cobertura mais ampla ou um número menor de comentários mais precisos. Antes do lançamento, engenheiros seniores que não participaram da construção dos dados rotularam novamente todos os resultados, e a taxa de concordância com os julgamentos do ReviewBench chegou a 96,6%. A GitHub afirma que fixa as versões dos dados, do avaliador e da ferramenta de correspondência usada em cada processo de avaliação.
O que isso comprova na prática?
A GitHub usou o ReviewBench para avaliar versões sucessivas do Copilot Code Review e afirmou que a tendência de melhoria ou piora nos testes offline coincidiu com os experimentos de produção. Em um experimento com um sistema de revisão que combina várias execuções de modelos diferentes, o padrão previu um aumento da precisão, do recall e do número de comentários, além de uma redução no custo da revisão. O teste A/B em produção seguiu a mesma direção: a taxa de comentários que levaram a uma alteração no código aumentou 8,0%, o recall aumentou 13,6% e o volume de comentários aumentou 61%, enquanto o custo por revisão caiu 8,0% em comparação com o controle. O padrão também previu um aumento de 227% nos comentários críticos, contra 262% em produção.
A leitura editorial da certi.news: o valor mais importante do ReviewBench não está no lançamento de uma nova ferramenta, mas na tentativa de transformar a avaliação de agentes de revisão de código em um processo comparável e auditável, reconhecendo que “mais comentários” não significa necessariamente uma revisão melhor. A própria fonte, porém, admite que os experimentos de produção continuam sendo a métrica final do impacto sobre o usuário, e que a dependência de parte da avaliação em um avaliador linguístico deixa em aberto a questão dos limites da consistência do julgamento automatizado.
A GitHub disponibiliza uma versão de pesquisa inicial do padrão, com os dados, a metodologia, as configurações do avaliador e uma ferramenta de execução autônoma. É possível testar os agentes em um conjunto de 25 pull requests e, em seguida, executar a avaliação completa em 219 pull requests ao longo de três rodadas antes de solicitar a publicação do resultado no placar.