SWE-Adept: An LLM-Based Agentic Framework for Deep Codebase Analysis and Structured Issue Resolution

O artigo apresenta o SWE-Adept, um framework baseado em agentes de LLM que supera os desafios da engenharia de software em nível de repositório ao combinar uma busca em profundidade dirigida por agentes para localização precisa de código com um processo de resolução estruturado e controlado por versão, alcançando taxas de resolução de problemas superiores às abordagens anteriores.

Kang He, Kaushik Roy

Publicado 2026-03-03
📖 4 min de leitura☕ Leitura rápida

Each language version is independently generated for its own context, not a direct translation.

Imagine que você tem um livro de receitas gigante, com milhares de páginas, e alguém te diz: "Tem um erro nesta receita de bolo, mas não sabemos onde exatamente está o problema, e precisamos consertá-lo sem estragar o resto do livro".

Fazer isso manualmente é difícil. Fazer uma Inteligência Artificial (IA) fazer isso sozinha é ainda mais difícil, porque a IA pode se perder nas milhares de páginas ou tentar consertar coisas erradas e criar mais bagunça.

O artigo "SWE-Adept" apresenta uma nova maneira de usar IAs para resolver esses problemas de programação. Eles criaram um sistema com dois "funcionários" inteligentes (agentes) que trabalham juntos, cada um com uma função específica, como se fosse uma equipe de detetives e mecânicos.

Aqui está a explicação simples, usando analogias do dia a dia:

1. O Problema: A Biblioteca Infinita

Os códigos de programas modernos são como bibliotecas gigantescas. Quando um bug (erro) aparece, a IA precisa:

  1. Encontrar o livro e a página exata onde o erro está (Localização).
  2. Consertar o texto sem apagar o resto do livro e garantindo que a história faça sentido (Resolução).

IAs comuns costumam se perder tentando ler tudo de uma vez ou fazem consertos aleatórios que pioram a situação.

2. A Solução: A Dupla Dinâmica (SWE-Adept)

O SWE-Adept divide o trabalho em dois agentes especializados:

🕵️‍♂️ Agente 1: O Detetive (Localização)

Este agente não lê o livro inteiro. Ele usa uma técnica inteligente chamada "Busca em Profundidade Dirigida".

  • A Analogia: Imagine que você precisa achar uma palavra específica em um dicionário gigante. Em vez de ler página por página, você vai direto à letra "A", depois ao "B", e assim por diante, ignorando as seções que não têm nada a ver com o que você procura.
  • Como funciona: O Detetive olha para o erro descrito, identifica palavras-chave (como nomes de funções ou arquivos) e navega apenas pelas conexões relevantes. Ele usa uma "lista de verificação" para não se perder.
  • O Truque: Ele faz uma filtragem em duas etapas. Primeiro, ele olha apenas o "sumário" ou o esqueleto do código (muito leve) para escolher os melhores candidatos. Só depois, quando já está quase certo, ele lê o texto completo. Isso economiza a "memória" da IA e evita confusão.

🔧 Agente 2: O Mecânico (Resolução)

Depois que o Detetive aponta onde está o problema, o Mecânico entra em ação.

  • O Problema Antigo: IAs antigas tentavam consertar o código de uma vez só, ou faziam várias tentativas bagunçadas, sem saber o que funcionou ou o que falhou. Era como tentar consertar um carro sem anotar quais peças você tirou; se algo der errado, você não sabe como voltar ao estado original.
  • A Solução do Mecânico: O SWE-Adept usa um sistema de "Checkpoints" (Pontos de Salvação), como em um jogo de vídeo game.
    • Planejamento: Antes de mexer em algo, o Mecânico cria um plano (uma lista de tarefas).
    • Salvamento: A cada pequena mudança que ele faz, ele salva o estado do código em um "ponto de salvamento" (usando uma ferramenta chamada Git, que é como um controle de versão).
    • Ramificação (Branching): Se o Mecânico acha que há duas formas de resolver o problema, ele cria duas "realidades paralelas" (ramos). Ele testa uma. Se der errado, ele volta ao último ponto de salvamento e tenta o outro ramo. Nada é perdido.
    • Memória Compartilhada: Tudo o que ele faz é registrado em uma "memória de trabalho" organizada. Ele sabe exatamente qual passo funcionou e qual falhou.

3. O Resultado: Menos Erros, Mais Sucesso

Os autores testaram esse sistema em problemas reais de programação (usando bancos de dados chamados SWE-Bench).

  • O que aconteceu: O SWE-Adept foi muito melhor do que os sistemas anteriores. Ele encontrou os erros com mais precisão e conseguiu consertá-los sem criar novos problemas.
  • A Melhoria: Eles conseguiram aumentar a taxa de sucesso em até 4,7%. Parece pouco, mas em programação, onde um erro pode quebrar um sistema inteiro, isso é uma vitória enorme.

Resumo Final

O SWE-Adept é como ter uma equipe onde:

  1. Um Detetive usa um mapa inteligente para achar o problema rapidamente, sem ler tudo à toa.
  2. Um Mecânico conserta o problema com um plano, salvando cada passo para poder voltar atrás se errar, garantindo que o conserto final seja perfeito.

Isso torna a Inteligência Artificial muito mais confiável para trabalhar com códigos complexos do mundo real, agindo como um engenheiro de software sênior, e não apenas como um iniciante que tenta a sorte.

Receba artigos como este na sua caixa de entrada

Digests diários ou semanais personalizados de acordo com seus interesses. Gists ou resumos técnicos, no seu idioma.

Experimentar Digest →