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:
- 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.
- 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.
- 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:
- Um scaffold de chamada de ferramenta JSON que realiza uma ação por turno.
- 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
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?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.
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.
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?
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
- Jimenez et al. — SWE-bench — o benchmark e a metodologia originais.
- OpenAI — Introducing SWE-bench Verified — como o subconjunto curado foi construído.
- Wang et al. — OpenHands: An Open Platform for AI Software Developers — arquitetura CodeAct e design do fluxo de eventos.
- Epoch AI — SWE-bench leaderboard — pontuações acompanhadas ao vivo.
- Anthropic — Measuring agent autonomy — estrutura de confiabilidade de agentes de programação de longo horizonte.