No puedo creer que Anthropic arruinó el Ralph Wiggum

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Ralph Wiggum está arrasando por completo. Hicimos un video al respecto el año pasado y desde
00:00:04entonces es de lo único que se habla en Twitter. Matt Pocock ha hecho un montón de videos
00:00:09sobre el tema, Ryan Carson escribió un artículo muy popular y Razmike ha ido más allá con
00:00:13su script de bash "Ralphie". Pero, ¿lo está haciendo todo el mundo mal? El creador ya ha dicho
00:00:19que algunas implementaciones son incorrectas.
00:00:21¿Cuál es entonces la forma correcta de hacerlo? ¿Y por qué Ralph es actualmente la mejor forma de crear software
00:00:26con IA? Dale a suscribirte y vamos a verlo.
00:00:30El "bucle Ralph" fue creado por Jeff Huntley y se escribió sobre él allá por junio del año pasado.
00:00:35Básicamente es un bucle de bash que le da a un agente de IA exactamente el mismo prompt una y otra
00:00:40vez. Pero es una genialidad a muchos niveles porque permite al agente de IA trabajar en su modo
00:00:46más inteligente, que es aquel donde tiene el menor contexto posible. Fíjense en esto.
00:00:51Imaginemos que esta es la ventana de contexto total de un agente. Del 0 al 30% aproximadamente es
00:00:57lo que llamaremos la "zona inteligente", que es donde el agente rinde mejor. Del
00:01:0130 al 60%, todavía rinde muy bien. Y a partir del 60%, es decir, 60, 70, 80, 90, es
00:01:08cuando empieza a degradarse. Lo llamaremos la "zona tonta". Ahora bien, estos números no son
00:01:12fijos y pueden variar según el modelo. La zona inteligente para un modelo concreto podría ser
00:01:16del 40 o 50%, pero normalmente, por encima del 80% de la ventana de contexto, es cuando empieza la torpeza.
00:01:21En el caso de Claude Sonnet u Opus, los tokens habituales para una ventana de contexto son 200.000. Así que
00:01:28podemos decir que los primeros 60k son la zona inteligente. Los siguientes 60k siguen estando bien, pero no tanto como los primeros.
00:01:33Y en los últimos 80k tokens, parece que no rinde tan bien. Esta es mi experiencia
00:01:38personal con este modelo; ustedes podrían haber tenido otras experiencias. El motivo
00:01:43es que el modelo en sí es lo que llamamos autorregresivo, es decir, tiene que mirar los
00:01:47tokens anteriores para predecir el siguiente. Si tienes muchísimos tokens, tiene
00:01:52que revisar muchos para encontrar las partes importantes que son relevantes para la siguiente tarea.
00:01:56Centrémonos en ese primer 30%. Incluso antes de escribir tu primer prompt,
00:02:01hay cosas que se añaden a la ventana de contexto automáticamente. Primero está el prompt del sistema
00:02:06y luego las herramientas del sistema. En un modelo típico de Claude, esto ocupa el 8,3% y el 1,4% del contexto.
00:02:12Casi el 10% de ese 30%. Además, si tienes "skills", se añaden. Y también
00:02:16si tienes herramientas MCP personalizadas o un archivo agent.md; eso también se suma.
00:02:21Y por supuesto, cuanto más grandes sean estas cosas (por ejemplo, el archivo MD), más
00:02:25tokens ocuparán. Todo esto ocurre antes incluso de haber añadido tu propio prompt. Así que,
00:02:30en general, es mejor mantener esta sección lo más pequeña posible. Menos herramientas,
00:02:35menos habilidades y menos contenido en tu agent.md para que el modelo trabaje en su contexto
00:02:40más óptimo. Para que se hagan una idea de cuánto son 60.000 tokens, el guion completo de
00:02:44"Star Wars: Una nueva esperanza" son unos 54.000 tokens en GPT-5. Aproximadamente esa cantidad.
00:02:51Quizás se pregunten: ¿qué pasa con la compactación? ¿Puede ayudar en este proceso? Hablaremos de
00:02:56eso más adelante. Pero ahora veamos exactamente cómo Ralph puede ayudar con esto.
00:03:00La ventaja de Ralph es que te enfocas en un solo objetivo por ventana de contexto. Así,
00:03:05podemos dedicar toda la ventana de 200k a un solo objetivo o tarea. Lo hacemos
00:03:10escribiendo un prompt que primero inspeccione el archivo plan.md. Este contiene
00:03:15las tareas pendientes: por ejemplo, crear el front-end, crear el back-end, la base de datos,
00:03:19etc. Es un ejemplo muy general; lógicamente, con Ralph serías mucho más detallado
00:03:23y granular, pero nos quedaremos con este ejemplo por ahora. Este prompt
00:03:28le dirá a los agentes que elijan la tarea más importante y realicen los cambios. Tras
00:03:33hacerlos, deben ejecutar, e incluso subir y confirmar los cambios, además de hacer un test.
00:03:38Una vez hecho esto y si los tests pasan, marcan la tarea como completada en el
00:03:42archivo plan.md y repiten el proceso. El agente seguirá buscando la tarea más importante
00:03:46hasta que haya terminado todas. Bueno, en realidad retiro lo dicho, porque
00:03:52podrías dejar que el bucle Ralph siga una y otra vez, aunque haya terminado todas
00:03:57las tareas. La ventaja es que podría encontrar cosas que arreglar o funciones que
00:04:02añadir que no estaban en el plan.md. Pero si se descontrola, la ventaja
00:04:08de Ralph es que puedes detener el proceso cuando quieras, ajustar el archivo prompt.md
00:04:12y ejecutarlo todo de nuevo. Ralph lo hace sencillísimo porque todo el proceso
00:04:16se ejecuta en un único bucle while de bash. Aquí simplemente hace un "cat" del archivo
00:04:22prompt.md (se lo imprime al agente) y ejecuta a Claude en modo "YOLO". Por supuesto, el
00:04:26parámetro no es YOLO, sino "dangerously skip permissions", pero por espacio lo he abreviado.
00:04:31Lo que hace especial a Ralph es que está fuera del control del modelo. El modelo
00:04:36no puede decidir cuándo parar a Ralph; simplemente continuará. Así te aseguras de que
00:04:41cuando se ejecuta una nueva tarea o se activa un nuevo prompt, el contexto esté
00:04:46exactamente como cuando abriste el agente por primera vez. Está fresco. No tiene compactación
00:04:50ni nada añadido. Así, cada nueva tarea recibe el máximo de contexto y utiliza el
00:04:55modelo en su estado de ventana de contexto más inteligente u óptimo. Básicamente, la compactación
00:05:01es cuando el agente mira todos los tokens escritos en la ventana de contexto
00:05:05y selecciona las partes más importantes para el siguiente prompt. Elegirá lo que
00:05:11él cree que es más relevante, pero no sabe qué lo es realmente. Por eso, la compactación
00:05:16podría omitir información crítica y hacer que tu proyecto no funcione como debería.
00:05:21Visto ya el bucle Ralph canónico según su creador, entendemos mejor por qué
00:05:27otras implementaciones difieren. Veamos la de Anthropic, que utiliza un comando
00:05:33de barra diagonal para ejecutar Ralph dentro del código de Claude, con un máximo de iteraciones y una promesa de finalización.
00:05:38El problema de este plugin específico de Ralph Wiggum es que compacta la información
00:05:43al pasar a la siguiente tarea. Al terminar una tarea y volver a lanzar el prompt,
00:05:48en lugar de resetear por completo la ventana de contexto, compacta lo anterior,
00:05:54lo cual podría causar la pérdida de información vital. También está el pequeño inconveniente
00:05:59de tener un máximo de iteraciones y una promesa de finalización, porque a veces es mejor
00:06:04dejar que Ralph siga a su aire. Puede encontrar cosas muy interesantes para arreglar en las que ni
00:06:08habías pensado. Y si lo vigilas (actuando como el humano al mando), verás patrones buenos o malos
00:06:14de un modelo concreto que podrías ajustar y mejorar en tu prompt original.
00:06:19Si miramos el enfoque de Ryan Carson para el bucle Ralph, vemos que no es
00:06:24del todo canónico porque en cada bucle existe la posibilidad de ajustar o añadir
00:06:29contenido al archivo agents.md. Según el prompt del sistema o cualquier prompt de usuario que
00:06:33hayas añadido, en mi experiencia los modelos suelen ser muy prolijos por defecto. Si en cada
00:06:39iteración vas añadiendo texto al archivo agents.md, que se carga al contexto al
00:06:44inicio de cada prompt de usuario, acabas metiendo más y más tokens en la ventana de contexto,
00:06:48llevando al modelo a un punto donde podría empezar a dar resultados deficientes.
00:06:53Aun así, que la gente cree sus propios scripts a partir del básico de Ralph en bash
00:06:57demuestra lo simple y fácil de entender que es. Y aunque haya una forma canónica de usar
00:07:03Ralph, me parece bien que desarrolladores y empresas lo adapten a sus necesidades específicas.
00:07:08Por ejemplo, me encanta que en el script Ralphie de Raz Mike haya una forma
00:07:13de ejecutar Ralphs en paralelo y que puedas usar la herramienta de navegador del agente para hacer tests.
00:07:18También me gusta que en la versión de Ralph de Matt Pocock se añadan las tareas
00:07:23pendientes como "issues" de GitHub; el bucle Ralph elige la más importante, trabaja en ella
00:07:28y la marca como resuelta al terminar antes de pasar a la siguiente, lo cual me parece brillante.
00:07:32Creo que la potencia y simplicidad de Ralph harán que se quede con nosotros mucho tiempo.
00:07:37Y seguramente veremos muchas más iteraciones y mejoras. Me gusta mucho el camino que
00:07:42está tomando Jeffrey con su proyecto Loom and Weaver, donde busca crear software de forma autónoma y correcta.
00:07:47Pero con todos estos Ralphs creando software autónomamente, necesitas una forma de buscar errores
00:07:52y asegurarte de que se arreglen. Aquí es donde entra Better Stack, porque no solo puede ingerir logs
00:07:56y filtrar errores, sino que también gestiona el rastreo de errores en el front-end.
00:08:01Con este servidor MCP, puedes pedirle a un agente que busque errores específicos en el front-end
00:08:06o el back-end en lugar de leer todo el log, lo cual a su vez reduce la ventana de contexto.
00:08:16Así que echen un vistazo a Better Stack y díganme qué les parece en los comentarios.
00:08:17So go and check out Better Flux, and let me know what you think in the comments.

Key Takeaway

El bucle Ralph revoluciona el desarrollo de software con IA al priorizar ventanas de contexto frescas y granulares para mantener al modelo en su máxima capacidad intelectual y operativa.

Highlights

El "bucle Ralph" es una técnica de automatización que utiliza un script de bash para ejecutar prompts de IA de forma cíclica y autónoma.

La eficacia de los modelos de IA se divide en zonas de contexto

Timeline

Introducción al fenómeno Ralph Wiggum

El narrador introduce el concepto de Ralph Wiggum, una tendencia que ha ganado tracción masiva en redes sociales y entre desarrolladores de IA. Se menciona que figuras como Matt Pocock y Ryan Carson han contribuido al ecosistema con artículos y scripts específicos. Sin embargo, surge la duda de si las implementaciones actuales están siguiendo la lógica original del creador. Esta sección establece la importancia de entender la forma correcta de utilizar esta técnica para optimizar la creación de software. El video promete desglosar por qué Ralph es actualmente la mejor metodología para trabajar con agentes inteligentes.

La arquitectura del Bucle Ralph y la Ventana de Contexto

Se explica que el bucle Ralph fue ideado por Jeff Huntley como un sistema de bash que repite el mismo prompt a un agente de IA. El orador define la "zona inteligente" como el primer 30% de la ventana de contexto de un modelo, donde la precisión es máxima antes de degradarse hacia la "zona tonta". Se detalla cómo elementos como el prompt del sistema y las herramientas MCP ya consumen una parte significativa de estos tokens iniciales. La clave reside en mantener este espacio lo más despejado posible, evitando archivos de configuración excesivamente grandes. Se utiliza la analogía del guion de "Star Wars" para ilustrar la escala de 60,000 tokens en modelos como GPT-5.

Funcionamiento práctico y gestión de tareas con plan.md

La ventaja principal de Ralph es su enfoque en un único objetivo por cada ventana de contexto, permitiendo una dedicación total del modelo a una tarea específica. El proceso se apoya en un archivo llamado plan.md que contiene una lista granular de tareas pendientes, desde el front-end hasta las pruebas unitarias. El agente selecciona la tarea más importante, ejecuta los cambios, realiza un commit y marca el progreso de forma autónoma. El autor destaca que el bucle puede continuar infinitamente, encontrando errores que no estaban previstos inicialmente en el plan original. La ejecución se basa en un comando de bash sencillo que utiliza un modo de omisión de permisos para agilizar el flujo de trabajo.

Comparativa de implementaciones y el problema de la compactación

En este segmento se analiza la implementación oficial de Anthropic y por qué el autor considera que "arruinaron" el concepto original. El problema fundamental radica en la compactación de información, donde el modelo intenta resumir el contexto previo en lugar de empezar de cero. Esta técnica puede causar la pérdida de detalles vitales que el modelo considera irrelevantes pero que son necesarios para el código. El autor defiende que un contexto "fresco" es siempre superior a uno compactado para mantener la inteligencia del agente. También se critica el uso de límites de iteración estrictos, ya que la libertad del bucle Ralph original permite descubrimientos accidentales valiosos.

Variaciones de la comunidad y herramientas complementarias

Se revisan las adaptaciones de otros desarrolladores, como el enfoque de Ryan Carson que ajusta el archivo de agentes en cada ciclo, aunque esto conlleva riesgos de inflar el contexto. El autor elogia la creatividad de la comunidad, mencionando el script Ralphie para ejecuciones en paralelo y el uso de GitHub Issues por parte de Matt Pocock. Se presenta el proyecto Loom and Weaver de Jeffrey como el futuro de la creación de software autónomo y correcto. Finalmente, se recomienda el uso de Better Stack para la gestión de logs y errores mediante servidores MCP. Esta integración permite que el agente consulte errores específicos sin inundar su ventana de contexto con datos innecesarios.

Community Posts

View all posts