Phase 15 - Lesson 09

O Panorama dos Agentes de Programação Autônomos (2026)

O SWE-bench Verified passou de 4% para 80,9% em menos de três anos. O mesmo Claude Sonnet 4.5 obteve 43,2% no SWE-agent v1 e 59,8% no Cline autonomous — o scaffolding ao redor do modelo agora importa tanto quanto o próprio modelo. O OpenHands (antigo OpenDevin) é a plataforma licenciada pela MIT mais ativa e seu loop CodeAct executa ações em Python diretamente em uma sandbox, em vez de chamadas de ferramenta JSON. Os números principais escondem um problema metodológico: 161 das 500 tarefas do SWE-bench Verified exigem apenas uma alteração de 1 a 2 linhas, e o SWE-bench Pro (tarefas de 10+ linhas) fica em 23-59% para os mesmos modelos de fronteira.

Tipo: Learn Linguagens: Python (stdlib, comparação entre CodeAct e chamadas de ferramenta JSON) Pré-requisitos: Phase 14 · 07 (Uso de ferramentas), Phase 15 · 01 (Agentes de longo horizonte) Tempo: ~45 minutos

O Problema

"Qual agente de programação é o melhor" é a pergunta errada. A pergunta certa é: em uma distribuição de tarefas que corresponda ao meu trabalho, com o scaffolding que executarei em produção, qual confiabilidade de ponta a ponta eu obtenho?

Entre 2022 e 2026, a área aprendeu que o scaffolding — a camada de recuperação, o planejador, a sandbox, o loop de edição-verificação, o formato de feedback — é de sustentação de carga. O Claude Sonnet 4.5 no SWE-agent v1 obteve 43,2% no SWE-bench Verified; o mesmo modelo dentro do scaffold autônomo do Cline obteve 59,8%. Uma diferença absoluta de 16,6 pontos, com os mesmos pesos de modelo. O modelo base é um componente; o loop é o produto.

O problema associado é que a saturação dos benchmarks esconde regressões. O SWE-bench Verified está próximo da saturação, e a cauda de tarefas fáceis (161 das 500 tarefas exigindo ≤2 linhas) eleva as pontuações máximas. A qualidade no mundo real é melhor medida em distribuições como o SWE-bench Pro (alterações de 10+ linhas), onde os mesmos líderes ainda se situam entre 23-59%.

O Conceito

SWE-bench, em um parágrafo

O SWE-bench (Jimenez et al.) pega problemas reais do GitHub com correções de referência (ground-truth patches) e solicita que um agente crie uma correção que faça a suíte de testes passar. O SWE-bench Verified (OpenAI, 2024) é um subconjunto de 500 tarefas com curadoria humana, no qual as tarefas ambíguas e quebradas foram removidas. O SWE-bench Pro é o sucessor mais difícil — tarefas que exigem alterações de 10+ linhas, onde os agentes de fronteira atuais se situam entre 23-59%.

O que a curva de 2022 → 2026 realmente mostra

  • 2022: modelos de pesquisa em ~4% no SWE-bench bruto.
  • 2024: GPT-4 + scaffolding estilo Devin em ~14%; SWE-agent em ~12%.
  • 2025: Claude 3.5/3.7 Sonnet dentro do Aider e do SWE-agent avançam para a faixa de 40-55%.
  • 2026: Claude Sonnet 4.5 e concorrentes de fronteira em 70-80%+ no SWE-bench Verified. O painel de líderes da Epoch AI acompanha isso ao vivo.

A inclinação veio de três fontes combinadas: melhores modelos base, melhor scaffolding (CodeAct, reflexão, loops de verificação) e melhores benchmarks (Verified removendo ruídos).

CodeAct vs chamadas de ferramenta JSON

O OpenHands (All-Hands-AI, arXiv:2407.16741, antigo OpenDevin) fez uma aposta arquitetônica específica: em vez de o modelo emitir chamadas de ferramenta JSON que um host decodifica e executa, o modelo emite código Python e um kernel estilo Jupyter o executa em uma sandbox. O agente pode iterar sobre arquivos, encadear ferramentas e capturar suas próprias exceções em uma única ação.

O trade-off:

  • Chamadas de ferramenta JSON: cada ação é um turno; fácil de auditar; composição limitada; seguro por padrão porque cada chamada passa por um validador explícito.
  • CodeAct: uma ação pode ser um programa inteiro; composicional; requer uma sandbox reforçada (o OpenHands usa isolamento Docker); os modos de falha incluem qualquer coisa que o tempo de execução da sandbox permita.

Ambas as arquiteturas estão em produção. O CodeAct é dominante em plataformas abertas (OpenHands, smolagents). As chamadas de ferramenta JSON continuam dominantes em serviços gerenciados (Anthropic Managed Agents, OpenAI Assistants) onde o provedor controla o executor.

Scaffolds no panorama de 2026

Scaffold Licença Modelo de execução Propriedade notável
OpenHands (OpenDevin) MIT CodeAct no Docker Plataforma aberta mais ativa; fluxo de eventos reproduzível
SWE-agent MIT Agent-Computer Interface (ACI) Primeiro scaffold SWE-bench de ponta a ponta
Aider Apache-2 edição via diff no repositório local Scaffold mínimo, forte estabilidade contra regressão
Cline Apache-2 Agente VS Code com política de ferramentas Scaffold aberto de maior pontuação com Sonnet 4.5
Devin (Cognition) Proprietário VM gerenciada + planejador Primeira categoria de produto de "engenheiro de software de IA"
Claude Code Proprietário Modos de permissão + rotinas A Lição 10 cobre o loop do agente em detalhes

Por que o scaffolding domina

Uma execução de programação é uma trajetória de longo horizonte (Lição 1). A confiabilidade se acumula ao longo das etapas. Três locais onde o scaffolding garante pontos:

  1. Recuperação (Retrieval): encontrar os arquivos certos para ler é o gargalo silencioso. O ACI do SWE-agent, o file-index do OpenHands e o repo-map do Aider atacam esse problema.
  2. Loop de verificação (Verifier loop): executar testes, ler rastreamentos de pilha (stack traces) e tentar novamente representa um ganho de 10+ pontos no SWE-bench.
  3. Contenção de falhas: uma sandbox que desfaz alterações em caso de erro evita danos cumulativos. O mesmo modelo com e sem um loop de verificação parece dois produtos diferentes.

Saturação de benchmarks e a distribuição real

Os autores do OpenHands e da Epoch AI apontam que o SWE-bench Verified tem uma cauda fácil: 161 das 500 tarefas precisam apenas de 1 a 2 linhas de alteração. As pontuações altas são parcialmente impulsionadas por essa cauda. O SWE-bench Pro restringe as alterações a 10+ linhas e apresenta pontuações na faixa de 23-59% mesmo para sistemas de fronteira. Sua distribuição de produção está quase certamente mais próxima do Pro do que do Verified.

Implicação para a escolha de um agente: execute um subconjunto semelhante ao Pro do seu próprio backlog de bugs. A pontuação que importa é aquela obtida em tarefas representativas do que você realmente entrega.

Use-o

O arquivo code/main.py compara duas estruturas de scaffold de agentes de brinquedo em uma distribuição fixa de mini-tarefas:

  1. Um scaffold de chamada de ferramenta JSON que realiza uma ação por turno.
  2. Um scaffold CodeAct que pode emitir um pequeno trecho de código Python por ação.

Ambos usam um "modelo" fictício (regras determinísticas) para que a comparação isole o scaffold da qualidade do modelo. A saída mostra que o scaffold CodeAct resolve mais tarefas em menos turnos, ao custo de um raio de impacto maior por ação.

Envie-o

O arquivo outputs/skill-scaffold-audit.md ajuda você a auditar uma proposta de scaffold de agente de programação antes da adoção: qualidade da recuperação, presença de verificador, isolamento de sandbox e adequação do benchmark à distribuição real.

Exercícios

  1. Execute code/main.py. Quantos turnos cada scaffold leva no mesmo conjunto de tarefas? Qual é o raio de impacto de cada ação em cada um deles?

  2. Leia o artigo do OpenHands (arXiv:2407.16741). O artigo argumenta que o CodeAct supera as chamadas de ferramenta JSON em tarefas complexas. Identifique um modo de falha reconhecido no artigo e escreva uma frase sobre quando esse modo dominaria em produção.

  3. Escolha uma tarefa do seu backlog de bugs que exigiria 10+ linhas de alteração em dois arquivos diferentes. Estime a probabilidade de sucesso de ponta a ponta para um modelo de fronteira sob (a) chamadas de ferramenta JSON e (b) CodeAct. Justifique a diferença.

  4. O SWE-bench Verified possui 161 tarefas de arquivo único com 1 a 2 linhas. Construa uma pontuação que as exclua. Como o painel de líderes se altera?

  5. Leia "Introducing SWE-bench Verified" (OpenAI). Explique a metodologia específica usada para remover tarefas ambíguas e cite uma categoria que a curadoria deixaria passar.

Termos-Chave

Termo O que as pessoas dizem O que realmente significa
SWE-bench "Benchmark de programação" Problemas reais do GitHub com correções de referência (ground-truth) e suítes de testes
SWE-bench Verified "Subconjunto limpo" 500 tarefas com curadoria humana, com a cauda mais fácil presente
SWE-bench Pro "Subconjunto mais difícil" Alterações de 10+ linhas; a fronteira fica entre 23-59%
CodeAct "Código como ação" O agente emite Python; um kernel estilo Jupyter executa em sandbox
JSON tool call "Chamada de função" Cada ação é um payload JSON estruturado validado antes da execução
Scaffold "Framework de agente" Loop de recuperação + planejador + executor + verificador ao redor do modelo base
ACI (Agent-Computer Interface) "Formato do SWE-agent" Conjunto de comandos projetado para ergonomia de LLMs, não para shells humanos
Verifier loop "Testar e tentar novamente" Executa testes, lê a saída, revisa a correção; maior ganho de confiabilidade não relacionado ao modelo

Leituras Adicionais

0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).