← Últimos artigos
🤖 AI

Where Do AI Coding Agents Fail? An Empirical Study of Failed Agentic Pull Requests in GitHub

Este artigo apresenta um estudo empírico de larga escala de 33.000 pull requests gerados por IA no GitHub, combinando análise quantitativa e taxonomia qualitativa para revelar que, embora tarefas de documentação e CI tenham mais sucesso, as falhas agentes são impulsionadas por fatores como grandes mudanças de código, falhas de CI e desalinhamento com as expectativas dos revisores humanos.

Autores originais: Ramtin Ehsani, Sakshi Pathak, Shriya Rawal, Abdullah Al Mujahid, Mia Mohammad Imran, Preetha Chatterjee

Publicado 2026-01-22
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Ramtin Ehsani, Sakshi Pathak, Shriya Rawal, Abdullah Al Mujahid, Mia Mohammad Imran, Preetha Chatterjee

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 um canteiro de obras movimentado, onde arquitetos e engenheiros humanos estão construindo software. Recentemente, uma nova equipe de robôs de IA (chamados de "agentes de codificação") chegou. Esses robôs não apenas sussurram sugestões para os humanos; eles agora estão construindo quartos inteiros, pintando paredes e até enviando seus próprios projetos (chamados de "Pull Requests" ou PRs) para serem adicionados ao edifício.

O artigo que você forneceu é como uma investigação forense para entender por que alguns quartos construídos por robôs são aprovados e adicionados ao edifício, enquanto outros são rejeitados e demolidos. Os pesquisadores analisaram mais de 33.000 projetos enviados por cinco diferentes equipes de robôs no GitHub para descobrir onde os robôs estão errando.

Aqui está o detalhamento de suas descobertas, usando analogias simples:

1. As "Vitórias Fáceis" vs. As "Vendas Difíceis"

Os pesquisadores descobriram que os robôs são ótimos em realizar tarefas simples e rotineiras, mas têm dificuldade com tarefas complexas e de alto risco.

  • O Superpoder dos Robôs: Eles são como jardineiros especialistas quando se trata de documentação, ajuste do cronograma do edifício (CI/Build) e atualização das regras. Essas tarefas são aprovadas cerca de 80-90% das vezes. É como se os robôs fossem perfeitamente capazes de varrer o chão ou repintar a cerca.
  • A Fraqueza dos Robôs: Eles são péssimos em consertar motores quebrados (correção de bugs) ou fazer o edifício funcionar mais rápido (performance). Essas tarefas são as que mais sofrem rejeição. É como se os robôs tentassem consertar um cano vazando, mas acabassem inundando o porão.

2. O Problema do "Grande Demais para Lidar"

Quando um robô envia um projeto que é rejeitado, geralmente é porque ele tentou fazer coisas demais de uma só vez.

  • A Analogia: Imagine que você pede a um robô para "consertar a cozinha". Se ele voltar com um plano para reconstruir a casa inteira, mover a fundação e redesenhar o telhado, o arquiteto humano dirá: "De jeito nenhum, isso é demais".
  • A Descoberta: Os projetos rejeitados envolviam mais linhas de código e tocavam em mais arquivos do que os aceitos. Os robôs tendem a ser "entusiasmados demais" e fazem mudanças massivas que sobrecarregam os revisores humanos.

3. O Alarme do "Teste Quebrado"

Antes de um arquiteto humano olhar um projeto, o sistema de segurança automatizado do edifício realiza uma verificação.

  • A Descoberta: Projetos rejeitados frequentemente falharam nessas verificações de segurança automatizadas (CI builds). É como se o robô tivesse enviado um plano que não passou na inspeção de segurança contra incêndio. Se o código do robô quebra os testes, os humanos geralmente nem se dão ao trabalho de olhar para ele de perto.

4. Por que os Humanos Dizem "Não"? (Os 4 Motivos)

Os pesquisadores investigaram mais profundamente 600 projetos rejeitados para descobrir por que os humanos disseram não. Eles encontraram quatro motivos principais, classificados do mais comum para o menos comum:

  • Motivo nº 1: A "Cidade Fantasma" (38%)

    • O que aconteceu: O robô enviou um projeto, e nenhum humano sequer olhou para ele. Os humanos estavam ocupados demais, ou o robô foi ignorado, e a solicitação ficou lá parada até ser fechada automaticamente.
    • Analogia: O robô deixou um bilhete na mesa do arquiteto, mas o arquiteto estava de férias, e o bilhete acabou sendo jogado no lixo.
  • Motivo nº 2: A "Reserva Duplicada" (31%)

    • O que aconteceu: O robô tentou consertar um problema que outra pessoa já havia consertado em um projeto diferente.
    • Analogia: O robô enviou um plano para construir uma nova ponte, sem perceber que outra equipe já tinha começado a construir exatamente aquela ponte ontem.
  • Motivo nº 3: O "Projeto Quebrado" (22%)

    • O que aconteceu: O código em si estava quebrado, falhou nos testes ou não resolveu o problema de fato.
    • Analogia: O robô construiu uma porta, mas a porta não abre, ou é feita de um vidro que se estilhaça ao toque.
  • Motivo nº 4: As "Instruções Erradas" (2%)

    • O que aconteceu: O robô ignorou o que o humano pediu ou violou regras legais (como direitos autorais).
    • Analogia: O humano pediu ao robô para "pintar a parede de azul", mas o robô a pintou de vermelho e usou uma tinta que o seguro do edifício não permite.

A Grande Conclusão

O artigo conclui que, embora esses robôs de IA estejam ficando melhores em escrever código, eles ainda são ruins em ler o ambiente.

Eles não sabem quando parar (fazem mudanças grandes demais), não sabem o que já foi feito (duplicam o trabalho) e têm dificuldade em seguir instruções humanas complexas. Para que esses robôs tenham sucesso no futuro, eles precisam aprender a ser menores, mais focados e melhores em verificar se seu trabalho é realmente necessário antes de pedirem permissão aos humanos para construir.

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 →