Can LLMs Produce Better Object-Oriented Designs than Human-Involved Development?
Este estudo compara a qualidade do design orientado a objetos em projetos Java pré-LLM, pós-LLM e puramente LLM, constatando que, embora o código gerado por LLM apresente menor complexidade e menos odores de código, ele frequentemente sofre de simplificação excessiva e fraca separação de responsabilidades, sublinhando a necessidade contínua de orientação humana na decomposição do design.
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 que você é um arquiteto mestre encarregado de construir uma casa complexa. Você tem três equipes diferentes para escolher para realizar a construção efetiva:
- A Velha Guarda (PréIA): Construtores experientes que nunca usaram um assistente de computador. Eles desenham seus próprios projetos e constroem tudo à mão.
- A Tripulação Híbrida (PósIA): Construtores experientes que agora têm um poderoso assistente de computador. Eles ainda desenham os projetos e tomam as grandes decisões, mas deixam o computador ajudá-los a assentar tijolos e cortar madeira.
- A Equipe de Robôs (IA Pura): Uma equipe de robôs avançados que recebe uma descrição verbal simples da casa e constrói tudo do zero, de ponta a ponta, sem um humano tocar em uma ferramenta.
Este artigo faz uma pergunta simples: Qual equipe constrói a melhor casa? Especificamente, a "Equipe de Robôs" cria um projeto que é tão bom, ou até melhor, do que o das equipes humanas?
O Experimento
Os pesquisadores montaram um "desafio de construção" usando um jogo de tabuleiro clássico chamado Kalah. Eles pediram a três grupos que desenvolvessem um programa em Java para jogar este jogo:
- Grupo 1 (PréIA): Estudantes de 2021 (antes de as ferramentas de codificação com IA se tornarem comuns).
- Grupo 2 (PósIA): Estudantes de 2024 (após as ferramentas de IA se tornarem populares).
- Grupo 3 (IA Pura): A mesma tarefa atribuída a três modelos de IA de ponta diferentes, que geraram o código inteiramente por conta própria.
Eles não verificaram apenas se o jogo funcionava; eles analisaram a qualidade do projeto. Pense nisso como verificar se a casa tem um layout lógico, se os cômodos têm o tamanho certo e se o encanamento não está emaranhado.
O Que Eles Encontraram
1. A Equipe de Robôs Construiu Casas "Menores", Mas Elas Eram Simplistas Demais
As equipes de IA Pura (Robôs) construíram códigos que pareciam muito limpos na superfície.
- A Boa Notícia: Seus códigos tinham menos "cheiros" (más práticas como código desorganizado) e pareciam menos complexos no geral. Era como uma casa com muito poucas paredes e um layout de piso muito aberto.
- A Má Notícia: Essa simplicidade era, na verdade, um problema. Os robôs simplificaram demais o projeto. Em vez de construir cômodos separados para o "Jogador", o "Tabuleiro" e os "Buracos" (os buracos no jogo), os robôs frequentemente esmagavam tudo em um ou dois cômodos gigantes.
- A Metáfora: Imagine uma casa onde a cozinha, o quarto e o banheiro são apenas um grande cômodo sem portas. É muito simples e fácil de limpar (baixa complexidade), mas é terrível para se viver porque você não pode separar suas atividades (má "separação de responsabilidades"). Os robôs perderam as importantes "abstrações" (os conceitos distintos) que tornam um sistema compreensível.
2. A Tripulação Híbrida (PósIA) Começou a Agir Como Robôs
Os estudantes de 2024 (que usaram assistentes de IA) não construíram tão "robóticos" quanto a equipe de IA Pura, mas estavam mais próximos dos robôs do que os estudantes de 2021.
- Seus projetos também estavam ficando um pouco simplistas demais, perdendo alguns dos "cômodos" distintos (conceitos) que os estudantes de 2021 incluíam.
- No entanto, ao contrário dos robôs, o código da Tripulação Híbrida na verdade tinha mais hábitos desorganizados (cheiros de código) do que os estudantes da velha escola. Parece que, quando humanos tentam corrigir ou editar código gerado por robôs, eles às vezes introduzem nova desordem localmente, mesmo que a estrutura geral pareça simples.
3. O "Prompt" Importa, Mas Não é uma Varinha Mágica
Os pesquisadores tentaram dar aos robôs instruções mais específicas, como "Certifique-se de ter uma classe separada para o Jogador e uma separada para o Tabuleiro".
- Resultado: Quando as instruções eram mais específicas, os robôs faziam um trabalho melhor em criar "cômodos" (conceitos) separados.
- Limitação: Mesmo com as melhores instruções, os robôs ainda não chegavam perto da qualidade das casas projetadas por humanos. Eles ainda tendiam a simplificar demais.
A Grande Conclusão
Robôs são ótimos em assentar tijolos, mas humanos ainda são necessários para desenhar os projetos.
O artigo conclui que, embora a IA possa escrever código que funciona e parece limpo, ela luta com a visão geral do Design Orientado a Objetos. Ela tende a agrupar tudo para tornar as coisas "simples", o que na verdade torna o software mais difícil de manter posteriormente porque as partes distintas do sistema são perdidas.
- IA Pura (Robôs): Ótimos em evitar pequenos erros, mas ruins em entender a grande estrutura.
- PósIA (Humanos com IA): Começando a perder parte da profundidade estrutural e, às vezes, tornando o código mais desorganizado no processo.
- A Lição: Se você usar IA para escrever software, deve atuar como o arquiteto. Você precisa dizer à IA exatamente como dividir o problema em partes distintas (decomposição) e qual a responsabilidade de cada parte. Se você apenas disser "crie um jogo", a IA construirá uma versão desorganizada e simplificada demais que parece limpa, mas é difícil de corrigir posteriormente.
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.