Si has abierto twitter últimamente, habrás visto que no se para de hablar del Ralph Loop (antes se llamaba Ralph Wiggum, pero por problemas de copyright se le ha cambiado el nombre) para programar.
El Ralph Loop es una técnica que mantiene a tu agente de IA trabajando en una tarea (o un listado de ellas) hasta que está 100% terminada.
Básicamente, consiste en lanzar nuestro agente de IA con este formato:
while :; do claude < PROMPT.md; done
Si analizamos el scriptillo, veremos que estamos:
- En un bucle infinito
- Leyendo siempre lo que hay en un PROMPT.md
Aquí la gracia es lo que hay dentro de ese prompt. El contenido simplificado sería:
# Listado de tareas a realizar
<tareas>@tareas.json</tareas>
# Progreso realizado
<progreso>@progreso.txt</progreso>
# Pasos a seguir
1. De la lista de tareas, selecciona la más prioritaria (no tiene por qué ser la primera que haya). IMPORTANTE: Trabaja sólo en esa tarea.
2. Verifica que la tarea funciona. Lanza los tests y si aplica, abre un navegador para ver que no hay ningún error.
3. Actualiza el fichero de tareas marcando la tarea como hecha.
4. Añade el progreso realizado en el txt de progreso. Este es un buen sitio para dejar notas para la siguiente persona que vaya a hacer la siguiente tarea.
5. Haz un commit con todos los cambios.
# Finalización
Si ves que no quedan tareas por realizar en el json de tareas, escribe: <promesa>COMPLETADO</promesa>
Aquí lo que vemos es que vamos a tener 2 ficheros muy importantes:
tareas.json: Un fichero que contendrá un listado de tareas a realizar. Esto podría perfectamente ser un conector a JIRA, Linear, Notion, GitHub Issues...progreso.txt: Un fichero donde el agente irá dejando notas de las tareas que va haciendo que vea relevante. Es interesante para que el siguiente agente sepa qué tarea realizar.
El bucle de realizar tareas se parará una vez ya no queden tareas (tenemos que modificar el scriptillo para que si ve el texto de <promesa>COMPLETADO</promesa> pare la ejecución). También podemos modificarlo para que por parámetro le podamos decir cuántas tareas completar.
Lo bueno de usar este bucle es que:
- Cada iteración del bucle empieza con el contexto limpio. Por lo tanto, no va a haber deterioro del contexto por cada tarea realizada.
- El agente es 100% autónomo.
Y obviamente, este script se puede mejorar para que:
- Obtenga las tareas de nuestro sistema de tareas.
- Cree una rama por cada una de ellas y una pull request. De esta forma hay human in the loop para validar que todo está correcto.
- Nos notifique cada vez que complete una tarea o se quede sin ellas.
- Añadir otro agente que se encargue de revisar el código generado.
- Y muchas cosas más que se nos ocurran.
Eso sí, para que esto funcione hay que tener unos cimientos muy sólidos:
- Una base de tests rápidos que verifique que todo funciona.
- Una buena arquitectura para que añadir nuevas funcionalidades no empeore la calidad del código.
- Que el linter/chequeo de tipos/compilador sea veloz.
Esta técnica se publicó en julio del 2025, pero se ha hecho viral justo ahora porque desde Anthropic han lanzado un plugin para que se pueda hacer de forma fácil con Claude Code.
A día de hoy, el plugin no sigue 100% el espíritu de la técnica, ya que no limpia el contexto y funciona de forma algo oscura usando hooks.
Lo que sí que tiene ese plugin son cosas interesantes que hemos aplicado: tener el json de tareas y un txt para escribir el progreso.
Nuestra recomendación es hacer el script a mano e ir iterándolo a medida que nos haga falta.
Si quieres aprender más de estas técnicas y estar al día, cada viernes en el Café con Codely a las 9h CET las contamos. En directo en nuestro YouTube y Twitch.