Loop engineering es para el que no paga la cuenta

Ilustración editorial: Matio frente a una computadora mostrando tokens quemados, contrastado con la figura gigante de quien no paga la cuenta

El loop engineering es la arquitectura correcta si tus tokens son gratis. Si pagás vos, necesitás otra cosa.

2026-06-18

Qué es loop engineering

Un loop es un programita envuelto alrededor de un agente. El agente corre. Revisa su propio trabajo. Si no está listo, corre de nuevo. Sigue así hasta que un test pasa o un humano lo frena.

Geoffrey Huntley popularizó la versión que la mayoría copia. Le dicen el Ralph loop. Le das una tarea, te vas, volvés con código terminado. Cuando funciona, se siente como magia.

La factura es donde deja de sentirse como magia.

El agente reenvía tu contexto completo en cada turno. Más todos los resultados de herramientas de los turnos anteriores. Para el turno 10, estás pagando por procesar diez copias de tu contexto inicial y todo el ruido acumulado encima.

Los tokens de entrada son los que disparan el costo. No el código que el agente escribe de vuelta.

Un loop sin condición de salida no tiene techo de gasto. El agente termina en el turno 8, decide chequear de nuevo, se va por las ramas en el turno 12, y en el turno 40 sigue dando vueltas. El dashboard te muestra reintentos saludables todo el tiempo. La invoice te muestra otra cosa.

Una corrida de 50 iteraciones en un codebase real te puede costar entre $50 y $100 dólares en créditos. Por una sola tarea.

El loop cambia tu tiempo por los tokens del modelo. Para Steinberger, ese trade es gratis. Para vos, cada turno es plata que sale de tu cuenta.

Los 5 plays que sí funcionan (sin quemar el presupuesto)

Alex Prompter corre con presupuesto. Como la mayoría. Estos son los cinco plays que usa en lugar de un loop genérico. Los probé. Funcionan.

### 1. Pensar antes de gastar tokens

La mayoría del costo de un loop se va en recuperación. El agente arranca con una instrucción vaga. Adivina qué quisiste decir. Deriva. Y quema turnos corrigiendo la deriva que él mismo generó.

La alternativa: decirle exactamente qué querés. Archivos a tocar. Estructura esperada. Lo que NO debería hacer. Esto no es "ser más específico". Es darte cuenta de que el 70% del gasto de un loop viene de no haber pensado cinco minutos antes de soltar al agente.

En Hermes hacemos esto con los briefs. Antes de disparar el writer, ya definimos tesis, estructura, datos clave y tono. El agente no adivina. Ejecuta. Un brief de 200 palabras te ahorra 10 turnos de corrección.

### 2. Planificar en markdown antes de codear

Escribí el plan en markdown. Archivos. Dependencias. Orden de implementación. Qué va en cada módulo.

El plan te cuesta un turno. El loop sin plan te cuesta diez.

Esto aplica a código, pero también a contenido. Cuando arranco un artículo en Content-OS, primero va el brief. Después el draft. Nunca al revés. Un plan malo pero escrito es mejor que un plan excelente en tu cabeza.

### 3. Agentes especializados en vez de un loop genérico

Un agente que sabe de frontend. Otro de backend. Otro de tests. Cada uno hace una cosa y la hace bien.

No hay deriva porque no hay ambigüedad. El agente de frontend no se mete con la base de datos. El de tests no rediseña la UI.

En mi stack, Hermes orquesta pero no ejecuta todo. OpenClawAir toma tareas pesadas de código. Content-Writer solo escribe. Content Scout solo busca. Cada agente con un scope definido, sin permiso para irse del carril.

### 4. Tests como condición de salida

El loop para cuando los tests pasan. Sin tests, el agente puede dar vueltas 40 turnos "verificando" sin entregar nada.

La condición de salida explícita es lo que separa un loop de una hemorragia de tokens.

En contenido aplico lo mismo pero con checklist. El verifier tiene 6 checks binarios. Si el draft no pasa 4 de 6, no se publica. Sin checklist, el agente podría reescribir párrafos infinitamente persiguiendo una versión "mejor" que no existe.

### 5. Review humano en puntos clave

No hace falta revisar cada línea. Pero sí en dos o tres checkpoints: después del plan, después de la primera implementación, antes del deploy.

El agente es rápido. El humano es criterio. La combinación es imbatible.

En mi flujo de publicación, los únicos checkpoints con intervención humana son: ¿el ángulo tiene sentido? ¿Los datos son reales? ¿Suena a mí? Tres preguntas. Treinta segundos cada una. Lo demás lo resuelve el sistema solo.

El único caso donde un loop sí vale la pena

Hay una excepción. Si estás iterando sobre un problema que ya entendés perfectamente, con un scope acotado, tests claros y un presupuesto definido, el loop es la herramienta correcta.

Ejemplo: refactorizar un módulo de 200 líneas con cobertura de tests del 90%. El loop corre, los tests pasan, termina. No hay deriva posible porque el perímetro está claro.

El loop no es malo. Es caro. Y la mayoría de las tareas no justifican el costo.

No necesitás un loop. Necesitás una arquitectura.

La lección de Steinberger no es "usá loops". Es "diseñá sistemas donde los agentes trabajen sin supervisión constante". Eso no requiere un loop de 50 iteraciones. Requiere:

  • Especialización (cada agente hace una cosa)
  • Planificación previa (brief, spec, test)
  • Condiciones de salida claras
  • Checkpoints humanos estratégicos

Un loop es una arquitectura. No es la única. Y definitivamente no es la más barata.

Steinberger puede gastar $300.000 por mes porque OpenAI le paga la cuenta. Si la pagás vos, necesitás otra cosa.

Proofs incluidas: - Steinberger: $1.3M/mes en tokens, $20K/día, 603B tokens, ~100 agentes (fuente: post de Steinberger en X) - Costo de loop de 50 iteraciones: $50-$100 en créditos (fuente: Alex Prompter) - Sin Codex Fast Mode: ~$300K/mes (fuente: aclaración posterior de Steinberger) - Stack real de Ariel: Hermes + OpenClawAir + Content-Writer + Content Scout como agentes especializados

Avoid-Slop check: - [x] Sin palabras marcadas en la tabla NUNCA - [x] Sin AI-ismos estructurales - [x] Suena a Ariel, no a genérico - [x] Tiene opinión, no solo información

Word count: 1100 palabras

— Ariel Di Stefano