CodeTeam: An LLM-Powered Multi-Agent Framework for Repository-Level Code Generation
O CodeTeam é um framework de múltiplos agentes impulsionado por LLM que aborda os desafios da geração de repositórios a partir de linguagem natural ao separar o planejamento, a tomada de decisão e a implementação em estágios coordenados, alcançando um desempenho de estado da arte tanto em qualidade de design quanto em correção funcional em testes de benchmark.
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
O Grande Problema: Construir uma Cidade Inteira a partir de um Esboço
Imagine que você pede a um arquiteto (uma IA) muito inteligente, mas um pouco disperso, para construir uma cidade inteira a partir de uma única frase: "Preciso de um lugar onde as pessoas possam comprar sapatos."
Se você apenas pedir à IA para "escrever o código", ela pode construir uma bela loja de sapatos, mas esquece de construir as estradas, a usina elétrica ou o sistema de esgoto. Ou, ela pode construir a loja de sapatos com uma porta que leva a uma parede de tijolos porque não conversou com a IA "construtora de estradas".
Este é o desafio do NL2Repo (Linguagem Natural para Repositório). Não se trata apenas de escrever uma única função (como um único cômodo); trata-se de gerar um projeto de software inteiro (uma cidade inteira) com muitos arquivos que devem conversar entre si perfeitamente. Os modelos de IA atuais costem se perder nos detalhes, esquecendo o quadro geral ou criando bagunças "entre arquivos", onde o Arquivo A espera algo que o Arquivo B não construiu.
A Solução: CodeTeam (A Equipe de Construção)
Os autores propõem o CodeTeam, um sistema que não depende de um único gênio da IA solitário. Em vez disso, ele atua como uma equipe de construção bem organizada com funções especializadas. Eles dividem o trabalho em três fases distintas: Planejamento, Tomada de Decisão e Construção.
Veja como a equipe trabalha, passo a passo:
1. Os Arquitetos (Os Sonhadores)
Em vez de uma única pessoa desenhando as plantas, o sistema contrata quatro agentes Arquitetos diferentes.
- O que eles fazem: Cada um esboça um design diferente para o software. Um pode dizer: "Vamos usar um design modular!". Outro diz: "Não, vamos manter algo simples e plano!".
- A Arma Secreta: Às vezes, esses arquitetos podem dar uma espiada em uma biblioteca de projetos bem-sucedidos do passado (Geração Aumentada por Recuperação - RAG) para ver como outras pessoas resolveram problemas semelhantes. Isso ajuda a evitar reinventar a roda.
- O Objetivo: Criar uma variedade de "Esboços de Design de Software" (SDS). Pense nisso como plantas detalhadas que listam cada cômodo, cada cano e quem é responsável por construir o quê.
2. O CTO (O Tomador de Decisões Chefe)
Assim que os quatro arquitetos apresentam suas plantas, um agente Diretor de Tecnologia (CTO) entra em cena.
- O que ele faz: O CTO revisa todos os esboços, escolhe o melhor e o transforma em um Contrato Verificável por Máquina.
- O Contrato: Isso não é apenas um desenho; é um documento jurídico estrito para o computador. Ele diz: "O Arquivo A deve ter esta função específica. O Arqute B deve depender do Arquivo A. O Desenvolvedor 1 é responsável pela cozinha; o Desenvolvedor 2 é responsável pelo quarto."
- Por que isso importa: Este contrato impede que os construtores se desviem do caminho e construam uma garagem onde deveria ser a cozinha. Ele estabelece as regras antes que o primeiro tijolo seja assentado.
3. Os Desenvolvedores (Os Construtores)
Agora, a codificação real começa. O sistema contrata um número específico de agentes Desenvolvedores com base no contrato do CTO.
- Especialização: Ao contrário de uma IA genérica que tenta fazer tudo, esses desenvolvedores são atribuídos a arquivos específicos. O Desenvolvedor 1 apenas constrói a página de login. O Desenvolvedor 2 apenas constrói o banco de dados.
- A Coordenação Git (O Mestre de Obras): Enquanto constroem, eles usam uma versão leve de Git (uma ferramenta que desenvolvedores usam para rastrear mudanças). Quando o Desenvolvedor 1 altera a página de login, ele deixa uma "mensagem de commit" (uma nota) dizendo: "Alterei o botão de senha." O Desenvolvedor 2 lê essa nota e atualiza seu próprio código para corresponder.
- Consciência de Dependência: O sistema sabe que você não pode pintar as paredes antes de construir a estrutura. Ele agenda o trabalho para que os arquivos sejam construídos na ordem correta.
4. O Agente de QA (O Inspetor)
Enquanto a equipe constrói, um agente de Garantia de Qualidade (QA) atua como um inspetor de obras.
- O que ele faz: Ele executa testes para ver se o edifício para de pé. Se uma porta não abre ou um cano vaza, o agente de QA não diz apenas "Erro". Ele descobre quem quebrou algo e envia um ticket de reparo de volta para aquele desenvolvedor específico.
- O Ciclo: O desenvolvedor corrige o problema, o inspetor verifica novamente, e eles repetem o processo até que a construção esteja perfeita.
O Que Eles Descobriram? (Os Resultados)
Os pesquisadores testaram o CodeTeam contra outros métodos (como uma única IA tentando fazer tudo, ou outras equipes multi-agentes) usando dois "exames" principais:
O Exame da Planta (SketchEval): Eles verificaram se o código gerado parecia estruturalmente correto em comparação com exemplos do mundo real.
- Resultado: O CodeTeam venceu. Ele construiu estruturas que pareciam muito mais com softwares reais. Os passos dos "Arquitetos" e do "CTO" ajudaram a acertar o layout, enquanto os passos de "QA" corrigiram as pequenas rachaduras.
- Insight Chave: A "Alocação Dinâmica de Desenvolvedores" (contratar o número certo de construtores para o trabalho específico) foi o maior fator de sucesso. Se você contratar poucos ou muitos, ou atribuir as pessoas erradas aos cômodos errados, a construção falha.
O Teste ao Vivo (NL2Repo-Bench): Eles realmente tentaram rodar o software gerado para ver se funcionava.
- Resultado: O CodeTeam teve a maior taxa de sucesso. Ele não apenas parecia bom no papel; ele realmente funcionava.
- Insight Chave: Ao corrigir erros estruturais precocemente (como arquivos ausentes ou conexões quebradas), o produto final tinha muito mais probabilidade de passar nos testes "ao vivo".
A Conclusão
O artigo argumenta que construir software do zero não é apenas uma tarefa de "escrita"; é uma tarefa de gestão.
- Jeito Antigo: Pedir a uma IA para escrever um livro inteiro. Ela frequentemente esquece pontos da trama ou escre o personagens que não combinam entre si.
- Jeito CodeTeam: Contratar uma equipe. Ter uma pessoa para planejar o enredo, uma pessoa para editar os capítulos e uma pessoa para verificar erros de digitação.
Ao separar o planejamento (Arquitetos/CTO) da execução (Desenvolvedores) e adicionar a verificação (QA), o CodeTeam cria softwares que são não apenas mais inteligentes, mas também mais confiáveis. Ele prova que, para tarefas complexas, uma equipe coordenada de agentes de IA é muito melhor do que uma única IA superinteligente trabalhando sozinha.
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.