Revisão de código com IA em grande escala: a abordagem multiagente do LinkedIn
Na escala do LinkedIn, depender exclusivamente de revisores humanos ou simplesmente utilizar um sistema de revisão por IA pronto a usar no GitHub não é uma forma eficaz de gerir os PRs. Para resolver esta questão, os engenheiros do LinkedIn criaram uma plataforma de revisão de código com IA multiagente que compreende o contexto de programação da organização, trata a revisão de código como infraestrutura de produção e minimiza as «alucinações» e o feedback com baixo sinal.
O objetivo do LinkedIn com a sua plataforma de revisão de código é gerar revisões que os programadores considerem que vale a pena implementar, maximizando a relação sinal-ruído e tendo em conta os «padrões, convenções e conhecimento tribal da base de código que os modelos genéricos de IA ignoram consistentemente».
Gerar comentários de revisão por IA em escala é trivial. A parte difícil é tudo o que vem a seguir: torná-los factualmente fundamentados na comparação de alterações (diff), em vez de alucinações; com sinal forte, em vez de ruído; específicos às convenções desta base de código, em vez de melhores práticas genéricas; e que cheguem antes do revisor humano, não depois.
Mais especificamente, recorrer a um revisor de IA pronto a usar traz à tona três limitações estruturais: pontos cegos causados pela utilização de um único modelo, o que pode levar o revisor de IA a ignorar a mesma classe de erros e a sinalizar os mesmos problemas de baixo sinal; personalização insuficiente, o que dificulta a codificação simultânea de políticas a nível da organização, convenções específicas do repositório e orientações direcionadas para cenários de alto risco ou alto impacto; falta de controlo operacional, o que limita a capacidade de controlar, avaliar e monitorizar o revisor como parte da infraestrutura de engenharia.
Com base nesta análise, a plataforma do LinkedIn aborda cada uma destas limitações através de múltiplos revisores de IA independentes que utilizam modelos e abordagens de raciocínio distintos; personalização profunda e combinável que abrange políticas a nível de toda a organização, convenções ao nível do repositório e regras específicas do contexto; e uma arquitetura baseada em Kubernetes que suporta um pipeline orientado por eventos com filas duradouras e trabalhadores escalados horizontalmente, permitindo a monitorização da latência, das taxas de aceitação e de conclusão, bem como de falhas dos fornecedores.
A utilização de vários revisores de IA independentes permite a validação cruzada, aumentando a confiança nos resultados. Por exemplo, quando vários agentes identificam independentemente o mesmo problema, o LinkedIn trata essa convergência como uma forte evidência. Os resultados únicos, no entanto, não são automaticamente descartados, mas verificados separadamente. Por fim, as sugestões cosméticas, já corrigidas, irrelevantes ou inconsistentes com o repositório são filtradas antes da publicação.
Para medir a frequência com que os programadores implementam efetivamente as sugestões geradas pela IA, o LinkedIn criou um pipeline automatizado de avaliação da taxa de aceitação para comparar todas as sugestões com a base de código resultante da fusão. A avaliação abrangeu 5 230 comentários de revisão selecionados em 1 727 PRs e constatou que 90,1% podiam ser avaliados com elevada confiança com base no código resultante da fusão. No total, 63,9% das sugestões foram aceites, com variações significativas por categoria: 80% dos erros lógicos, 58,1% das correções de erros, 43,5% das alterações de refatoração, 40,6% das correções relacionadas com a segurança e 100% dos erros de concorrência foram aceites.
Outras empresas também abordaram o problema da revisão de código em grande escala, mas com abordagens diferentes. Por exemplo, a Cloudflare criou um sistema de orquestração em torno do agente de codificação de código aberto OpenCode, alcançando um equilíbrio diferente entre os seus requisitos e restrições. Da mesma forma, a Databricks lançou vários componentes, incluindo o Unity AI Gateway para gestão centralizada de IA e o Omnigent para ferramentas de desenvolvimento, abordando o que descreve como o «crescimento exponencial dos custos de codificação de IA».
Há muito mais a dizer sobre a plataforma de revisão multiagente do LinkedIn do que aquilo que pode ser abordado aqui. Para conhecer todos os detalhes técnicos e informações sobre a implementação, não deixe de ler o artigo original.