Phase 15 - Lesson 09
El panorama de los agentes de programación autónomos (2026)
El SWE-bench Verified pasó del 4% al 80.9% en menos de tres años. El mismo Claude Sonnet 4.5 obtuvo un 43.2% en SWE-agent v1 y un 59.8% en Cline autonomous; el scaffolding (andamiaje) alrededor del modelo ahora importa tanto como el modelo mismo. OpenHands (anteriormente OpenDevin) es la plataforma con licencia MIT más activa y su loop de CodeAct ejecuta acciones de Python directamente en un sandbox en lugar de llamadas de herramientas JSON. Los números principales ocultan un problema metodológico: 161 de las 500 tareas de SWE-bench Verified requieren solo un cambio de 1 a 2 líneas, y SWE-bench Pro (tareas de más de 10 líneas) se sitúa en un 23-59% para los mismos modelos de frontera.
Tipo: Learn Lenguajes: Python (stdlib, comparación entre CodeAct y llamadas de herramientas JSON) Prerrequisitos: Phase 14 · 07 (Uso de herramientas), Phase 15 · 01 (Agentes de largo horizonte) Tiempo: ~45 minutos
El problema
"¿Qué agente de programación es el mejor?" es la pregunta incorrecta. La pregunta correcta es: en una distribución de tareas que coincida con mi trabajo, con el andamiaje (scaffolding) que ejecutaré en producción, ¿qué confiabilidad de extremo a extremo obtengo?
Entre 2022 y 2026, el campo aprendió que el andamiaje —la capa de recuperación, el planificador, el sandbox, el loop de edición-verificación, el formato de retroalimentación— es de soporte de carga. Claude Sonnet 4.5 en SWE-agent v1 obtuvo un 43.2% en SWE-bench Verified; el mismo modelo dentro del andamiaje autónomo de Cline obtuvo un 59.8%. Una diferencia absoluta de 16.6 puntos, con los mismos pesos del modelo. El modelo base es un componente; el loop es el producto.
El problema asociado es que la saturación de los benchmarks oculta las regresiones. SWE-bench Verified está cerca de la saturación, y la cola de tareas fáciles (161 de 500 tareas que requieren ≤2 líneas) eleva las puntuaciones máximas. La calidad en el mundo real se mide mejor en distribuciones como SWE-bench Pro (cambios de más de 10 líneas), donde los mismos líderes aún se sitúan en el rango de 23-59%.
El concepto
SWE-bench, en un párrafo
SWE-bench (Jimenez et al.) toma problemas reales de GitHub con parches de referencia (ground-truth patches) y le pide a un agente que genere un parche que haga pasar la suite de pruebas. SWE-bench Verified (OpenAI, 2024) es un subconjunto de 500 tareas curado por humanos, del cual se eliminaron las tareas ambiguas y rotas. SWE-bench Pro es el sucesor más difícil: tareas que requieren más de 10 líneas de cambio, donde los agentes de frontera actuales se sitúan en el rango de 23-59%.
Lo que realmente muestra la curva de 2022 → 2026
- 2022: modelos de investigación en ~4% en el SWE-bench original.
- 2024: GPT-4 + andamiaje tipo Devin en ~14%; SWE-agent en ~12%.
- 2025: Claude 3.5/3.7 Sonnet dentro de Aider y SWE-agent avanzan al rango de 40-55%.
- 2026: Claude Sonnet 4.5 y competidores de frontera en 70-80%+ en SWE-bench Verified. La tabla de clasificación (leaderboard) de Epoch AI realiza un seguimiento de esto en vivo.
La pendiente provino de tres fuentes combinadas: mejores modelos base, mejor andamiaje (CodeAct, reflexión, loops de verificación) y mejores benchmarks (Verified al eliminar el ruido).
CodeAct frente a llamadas de herramientas JSON
OpenHands (All-Hands-AI, arXiv:2407.16741, anteriormente OpenDevin) hizo una apuesta arquitectónica específica: en lugar de que el modelo emita llamadas de herramientas JSON que un host decodifica y ejecuta, el modelo emite código Python y un kernel estilo Jupyter lo ejecuta en un sandbox. El agente puede iterar sobre archivos, encadenar herramientas y capturar sus propias excepciones dentro de una sola acción.
El trade-off:
- Llamadas de herramientas JSON: cada acción es un turno; fácil de auditar; composicionalidad limitada; seguro por defecto porque cada llamada pasa por un validador explícito.
- CodeAct: una acción puede ser un programa entero; composicional; requiere un sandbox endurecido (OpenHands usa aislamiento de Docker); los modos de fallo incluyen cualquier cosa que permita el entorno de ejecución del sandbox.
Ambas arquitecturas están en producción. CodeAct es dominante en plataformas abiertas (OpenHands, smolagents). Las llamadas de herramientas JSON siguen siendo dominantes en servicios administrados (Anthropic Managed Agents, OpenAI Assistants) donde el proveedor controla el ejecutor.
Scaffolds en el panorama de 2026
| Scaffold | Licencia | Modelo de ejecución | Propiedad notable |
|---|---|---|---|
| OpenHands (OpenDevin) | MIT | CodeAct en Docker | Plataforma abierta más activa; flujo de eventos reproducible |
| SWE-agent | MIT | Agent-Computer Interface (ACI) | Primer scaffold de SWE-bench de extremo a extremo |
| Aider | Apache-2 | edición vía diff en repositorio local | Scaffold mínimo, fuerte estabilidad frente a regresiones |
| Cline | Apache-2 | Agente de VS Code con política de herramientas | Scaffold abierto de mayor puntuación en Sonnet 4.5 |
| Devin (Cognition) | Propietario | VM administrada + planificador | Primera categoría de producto de "ingeniero de software de IA" |
| Claude Code | Propietario | Modos de permiso + rutinas | La Lección 10 cubre el loop del agente en detalle |
Por que domina el andamiaje
Una ejecución de programación es una trayectoria de largo horizonte (Lección 1). La confiabilidad se acumula a lo largo de los pasos. Tres lugares donde el andamiaje aporta puntos:
- Recuperación (Retrieval): encontrar los archivos correctos para leer es el cuello de botella silencioso. ACI de SWE-agent, el índice de archivos de OpenHands y el repo-map de Aider atacan este problema.
- Loop de verificación (Verifier loop): ejecutar pruebas, leer seguimientos de pila (stack traces) y volver a intentarlo representa una diferencia de más de 10 puntos en SWE-bench.
- Contención de fallos: un sandbox que deshace los cambios en caso de error evita daños acumulativos. El mismo modelo con y sin un loop de verificación parece dos productos diferentes.
Saturación de los benchmarks y la distribución real
Los autores de OpenHands y Epoch AI señalan que SWE-bench Verified tiene una cola fácil: 161 de 500 tareas necesitan solo de 1 a 2 líneas de cambio. Las puntuaciones altas están impulsadas en parte por esta cola. SWE-bench Pro restringe los cambios a más de 10 líneas y devuelve puntuaciones en el rango de 23-59% incluso para sistemas de frontera. Es casi seguro que su distribución de producción esté más cerca de Pro que de Verified.
Implicación para elegir un agente: ejecute un subconjunto similar a Pro de su propio backlog de errores. La puntuación que importa es la puntuación en tareas representativas de lo que usted entrega.
Úsalo
code/main.py compara dos scaffolds de agentes de juguete en una distribución fija de minitareas:
- Un scaffold de llamada de herramienta JSON que realiza una acción por turno.
- Un scaffold CodeAct que puede emitir un pequeño fragmento de Python por acción.
Ambos usan un "modelo" simulado (reglas deterministas) para que la comparación aísle el scaffold de la calidad del modelo. La salida muestra que el scaffold CodeAct resuelve más tareas en menos turnos a costa de un mayor radio de impacto por acción.
Envíalo
outputs/skill-scaffold-audit.md le ayuda a auditar un scaffold de agente de programación propuesto antes de su adopción: calidad de recuperación, presencia de verificador, aislamiento del sandbox y ajuste del benchmark a la distribución.
Ejercicios
Ejecute
code/main.py. ¿Cuántos turnos toma cada scaffold en el mismo conjunto de tareas? ¿Cuál es el radio de impacto por acción de cada uno?Lea el artículo de OpenHands (arXiv:2407.16741). El artículo sostiene que CodeAct supera a las llamadas de herramientas JSON en tareas complejas. Identifique un modo de fallo que reconozca el artículo y escriba una oración sobre cuándo dominaría ese modo en producción.
Elija una tarea de su backlog de errores que requiera más de 10 líneas de cambio en dos archivos. Estime la probabilidad de éxito de extremo a extremo para un modelo de frontera bajo (a) llamadas de herramientas JSON y (b) CodeAct. Justifique la diferencia.
SWE-bench Verified tiene 161 tareas de un solo archivo y de 1 a 2 líneas. Construya una puntuación que las excluya. ¿Cómo se altera la tabla de clasificación?
Lea "Introducing SWE-bench Verified" (OpenAI). Explique la metodología específica utilizada para eliminar tareas ambiguas y mencione una categoría que la curación pasaría por alto.
Términos clave
| Término | Lo que la gente dice | Lo que realmente significa |
|---|---|---|
| SWE-bench | "Benchmark de programación" | Problemas reales de GitHub con parches de referencia (ground-truth) y suites de pruebas |
| SWE-bench Verified | "Subconjunto limpio" | 500 tareas curadas por humanos, con la cola fácil presente |
| SWE-bench Pro | "Subconjunto más difícil" | Cambios de más de 10 líneas; la frontera se sitúa en 23-59% |
| CodeAct | "Código como acción" | El agente emite Python; un kernel estilo Jupyter lo ejecuta en un sandbox |
| JSON tool call | "Llamadas de funciones" | Cada acción es una carga útil (payload) JSON estructurada validada antes de la ejecución |
| Scaffold | "Framework de agente" | Recuperación + planificador + ejecutor + loop de verificación al rededor del modelo base |
| ACI (Agent-Computer Interface) | "Formato de SWE-agent" | Conjunto de comandos diseñado para la ergonomía de LLM, no para consolas de comandos (shells) humanas |
| Verifier loop | "Probar y reintentar" | Ejecutar pruebas, leer la salida, revisar el parche; el mayor aumento de confiabilidad que no proviene del modelo |
Lecturas adicionales
- Jimenez et al. — SWE-bench — el benchmark y la metodología originales.
- OpenAI — Introducing SWE-bench Verified — cómo se construyó el subconjunto curado.
- Wang et al. — OpenHands: An Open Platform for AI Software Developers — arquitectura CodeAct y diseño de flujo de eventos.
- Epoch AI — SWE-bench leaderboard — tabla de clasificación con seguimiento en vivo.
- Anthropic — Measuring agent autonomy — marco de confiabilidad de los agentes de programación de largo horizonte.