1. El momento: cuando te das cuenta de que TÚ eres el motor
Piensa en cómo trabajas hoy con la IA. Le escribes una instrucción. Esperas. Lees lo que hizo. Le dices "ahora corrige esto". Esperas otra vez. Revisas. "Ahora añade aquello". Una y otra vez. Funciona — pero hay un problema silencioso: el motor de todo eres tú. Tu atención es el combustible. En el segundo en que te levantas por un café, el proyecto se congela.
El momento de loop engineering llega cuando piensas: "¿y si no tuviera que estar aquí dándole cuerda a cada paso? ¿Y si le diera una meta y se las arreglara solo hasta cumplirla?". Eso es exactamente lo que es. Lo dijeron muy bien en un artículo de Firecrawl sobre el tema: con loop engineering, la IA deja de ser un colaborador al otro lado del chat; pasa a ser una función que un programa llama en un bucle.
2. El dolor: el trabajo manual no escala (y te quema)
El dolor de no dar este salto es real y honesto — no es un apocalipsis, es desgaste. Estos son los síntomas:
- Tareas largas (auditar todo el proyecto, investigar 8 competidores, migrar 40 archivos) te toman horas porque las haces en fila, una por una.
- Si dejas el ordenador, el progreso se para en seco. La IA no sigue sin ti.
- Repites el mismo tipo de instrucción cada día y sientes que eres un operador de máquina, no un director.
- No puedes hacer dos cosas grandes a la vez porque solo tienes un par de manos y un chat abierto.
3. El corazón: el ciclo Actúa → Observa → Razona → Repite
Todo bucle, por simple o complejo que sea, gira sobre los mismos cuatro pasos. Memorízalos, porque son la esencia de todo:
- Actúa — la IA hace algo (escribe código, busca en la web, corrige un test).
- Observa — lee el resultado de lo que hizo (¿pasó el test? ¿qué devolvió la búsqueda?).
- Razona — compara ese resultado contra la meta (¿ya está? ¿falta algo? ¿hay un error?).
- Repite — decide solo si vuelve a empezar o si ha terminado.
La diferencia con chatear normal es el cuarto paso: la IA decide si seguir, tú no. El bucle corre solo hasta que se cumple la meta o hasta que toca un límite que tú pusiste (ahora vemos esos límites, son sagrados).
4. Los 3 frenos sagrados (sin ellos no es un loop, es una factura abierta)
Esta es la parte que NADIE te cuenta y la más importante. Un bucle que corre solo puede gastar créditos solo. La mayor parte del arte de loop engineering no es hacer que la IA itere — es evitar que itere para siempre y te vacíe la cuenta. Hay tres frenos que SIEMPRE deben existir:
- Tope de iteraciones — un número máximo de vueltas. "Inténtalo 10 veces como mucho, luego para."
- Chequeo de cambios (diff-check) — si después de N vueltas la IA ya no cambia nada, para. Está girando en vano.
- Tope de gasto — un límite de tokens o de dinero. Cuando se alcanza, el bucle termina, haya cumplido o no.
5. El hábito: pensar en bucles, no en mensajes sueltos
Loop engineering no es algo que haces una vez. Es un cambio de mentalidad constante. Cada vez que vayas a hacer una tarea con IA, antes de escribir el primer prompt, pregúntate: "¿esto es un mensaje suelto, o es un bucle?". La mayoría de las tareas grandes son bucles disfrazados de muchos mensajes.
- Cuando una tarea tiene un criterio claro de "terminado" (todos los tests pasan, 10 bugs encontrados, el documento cubre todos los puntos).
- Cuando estás repitiendo el mismo ciclo a mano (corre → falla → corrige → corre otra vez).
- Cuando la tarea es demasiado grande para una sola pasada (auditar todo, migrar todo, investigar muchas fuentes).
- Cuando quieres que algo pase mientras no estás (revisar un deploy, vigilar una web, un chequeo diario).
6. Cómo montar tu primer loop (con comandos que existen de verdad)
Aquí lo bonito: no tienes que programar nada raro. Si usas un agente de código moderno como Claude Code, ya trae las piezas montadas. Estos comandos son reales y están en su documentación oficial:
/goal <condición>— el corazón del loop hacia una meta. Fijas una condición y, tras cada turno, un modelo rápido comprueba si ya se cumple; si no, Claude arranca otra vuelta solo, en vez de devolverte el control. Es el "trabaja hasta que esté verde". Necesita una condición verificable (ej. "todos los tests pasan", "git status limpio")./loop [intervalo] [prompt]— repetir en el tiempo, NO iterar hacia una meta. Ejecuta un prompt cada cierto intervalo (/loop 5m revisa el deploy) o, sin intervalo, Claude elige el ritmo solo. Útil para vigilar algo, no para "lograr X". No lo confundas con/goal./schedule— crea rutinas en la nube: tareas programadas (cada hora, cada día) que corren aunque tengas el portátil cerrado, o que reaccionan a eventos de GitHub./batch— parte un trabajo grande en 5 a 30 unidades en paralelo, cada una en su propio subagente y su propio worktree aislado; cada una hace su parte, corre los tests y abre su propio pull request. (Es la versión industrial del loop para migraciones y cambios masivos.)
/goal. Para "vigila el deploy cada 5 min" quieres /loop. Confundirlos es el error de principiante número uno.Y las piezas de apoyo que hacen que un loop sea fiable también existen: worktrees (claude --worktree) para que varios agentes trabajen sin pisarse, skills (carpetas con un SKILL.md) para que la IA no redescubra tu contexto cada vez, hooks para enganchar acciones en momentos clave, y conectores MCP para que el bucle alcance herramientas externas (Slack, GitHub, tu base de datos).
7. Cómo se usa de verdad: diseñar primero, luego invocar el comando
Aquí está el detalle que casi todos los tutoriales se saltan, y es CLAVE: el bucle no arranca solo porque le describas la tarea. Pegar un texto largo que diga "monta un loop que arregle mis tests" hace que la IA te diseñe el plan — pero NO lo ejecuta. Para que la IA empiece a iterar de verdad, tú tienes que escribir el comando explícitamente (en Claude Code, /goal o /loop). Son dos pasos: primero diseñas, luego invocas.
/goal … o /loop …). Eso es bueno: te obliga a aprobar el diseño y los frenos ANTES de soltar la máquina. Diseño y ejecución están separados a propósito.Paso 1 — Diseña el bucle. Pégale esto a tu agente, llenando los [corchetes]. Te devolverá el plan, los frenos y —importante— el comando exacto que debes teclear después:
Quiero montar un loop autónomo (loop engineering) para esta tarea: [DESCRIBE LA TAREA, ej: "encontrar y arreglar todos los tests que fallan" o "investigar a fondo a mis 5 competidores y sintetizar un informe"]. Mi herramienta es: [Claude Code / Cursor / otra]. Antes de diseñar, mira mi proyecto y dime cuál es el comando o la señal exacta que sirve de "verdad" para esta tarea (ej. el comando de tests real, o cómo se mide "terminado"). Si no lo encuentras, pregúntame. Diséñalo conmigo siguiendo el ciclo Actúa → Observa → Razona → Repite. Necesito que me propongas, en lenguaje claro: 1. LA META: la condición exacta y VERIFICABLE de "terminado" (cómo sabremos que el loop debe parar porque ya cumplió de verdad). 2. SI CONVIENE loop ABIERTO (libertad) o CERRADO (pasos marcados) para esta tarea, y por qué. 3. EL CICLO: qué hace la IA en cada vuelta (actúa), cómo comprueba el resultado (observa), y cómo decide si seguir (razona). 4. LA SEPARACIÓN: un agente que HACE y otro distinto que VERIFICA el resultado (incluida la regla anti-trampa de abajo). 5. LOS 4 FRENOS, obligatorios: - Tope de iteraciones (número máximo de vueltas). - Chequeo de estancamiento (parar si ya no avanza tras N vueltas). - Tope de gasto (límite de tokens o de tiempo). - REGLA ANTI-TRAMPA: prohibido borrar, omitir (skip) o debilitar lo que se verifica para fingir éxito. Hay que arreglar la CAUSA RAÍZ (el código real), no poner un parche que silencie el síntoma. Si una vuelta deja MÁS roto de lo que arregla, revertir esa vuelta. 6. EL COMANDO EXACTO QUE DEBO TECLEAR YO para ejecutarlo (no lo ejecutes tú solo). En Claude Code: si la tarea es "itera hasta cumplir una condición" usa `/goal <condición>`; si es "repite cada cierto tiempo" usa `/loop <intervalo> <prompt>`. Dame la línea ya escrita, lista para copiar, con la condición de parada y los frenos incluidos. Verifica que el comando exista de verdad; no me lo inventes. 7. QUÉ PUEDO SUPERVISAR mientras corre, en una línea por vuelta legible aunque yo no programe, para no caer en deuda de comprensión. Primero muéstrame SOLO el diseño completo, los 4 frenos y el comando exacto a teclear. NO ejecutes el bucle: yo lo dispararé tecleando el comando cuando apruebe el diseño.
Paso 2 — Dispara el bucle con el comando. Cuando el diseño y los frenos te convenzan, AHORA sí tecleas el comando que la IA te dio. Para "trabaja hasta cumplir una condición" (lo más común), en Claude Code es /goal. Por ejemplo, para arreglar tests sería algo así:
/goal todos los tests pasan (corre la suite completa), sin borrar ni omitir ningún test, máximo 15 vueltas
A partir de ahí, la IA corre, observa el resultado, razona y vuelve a intentar sola después de cada turno, hasta que un modelo rápido confirme que la condición se cumple (o hasta tocar un freno). Si lo que quieres es repetir algo cada cierto tiempo (vigilar un deploy, por ejemplo) en vez de iterar hacia una meta, ahí el comando es /loop:
/loop 5m revisa si el despliegue terminó y avísame qué pasó
8. Los caminos más fáciles · qué hace la IA y qué decides tú
Para que no se complique, esto es lo que puede hacer tu agente de código solo por el chat, y lo que sigue siendo decisión tuya:
- Diseñar el loop completo: la meta, el ciclo, los frenos — y darte el comando exacto a teclear.
- Una vez que TÚ disparas el comando (
/goalo/loop), correr las vueltas solo: actúa, observa, razona y reintenta hasta cumplir la condición o tocar un freno. - Lanzar agentes en paralelo con
/batchpara tareas grandes (auditar, investigar, migrar). - Verificar su propio trabajo en un turno separado (el patrón del verificador).
- Crear la skill (
SKILL.md) que codifica el contexto para que el loop sea repetible.
- La META y cuándo se considera "terminado" — esto define la calidad del resultado.
- Teclear el comando que dispara el bucle (
/goal …o/loop …): no arranca solo, lo enciendes tú tras ver el plan. - Los 4 frenos: cuántas vueltas, cuándo parar por estancamiento, cuánto gastar, y la regla anti-trampa.
- Revisar los cambios que produjo (para no acumular deuda de comprensión).
- El criterio de calidad / la rúbrica — porque un loop multiplica el buen criterio que le metes, y también el malo.
Resumen · tu checklist de loop engineering
- Tengo una meta con una condición de "terminado" clara.
- Diseñé el ciclo Actúa → Observa → Razona → Repite.
- Decidí si es loop abierto o cerrado (en producción, casi siempre cerrado).
- Tengo los 3 frenos: tope de iteraciones + chequeo de cambios + tope de gasto.
- Definí quién hace y quién verifica (turnos separados).
- Voy a revisar los cambios para no acumular deuda de comprensión.
- Metí mi mejor criterio en la rúbrica — porque el loop lo va a multiplicar.