PTENES
Saltar al contenido
MÓDULO 3.1

🎯 La secuencia de 7 pasos

Basta de teoría. Estos son los siete hitos que transforman «quiero un loop» en un loop que realmente funciona: desde el tipo de tarea que eliges hasta el momento en que envías el prompt en vivo. Sigue el orden y tu primer loop quedará listo.

7
Temas
~55
Minutos
Práctica
Nivel
Manos a la obra
Tipo
Progreso: 0% 0 de 7
Un camino luminoso con siete hitos numerados, desde elegir la tarea hasta la primera ejecución en vivo

Qué ver: siete hitos en fila. Cada sección de abajo es un hito. No necesitas adivinar nada: solo seguir el camino, de izquierda a derecha, y al final tendrás un loop en marcha.

1

🎯 Elige una tarea con una respuesta correcta

El primer paso decide el éxito de todos los demás: elige una tarea cuyo que "listo" se pueda comprobar con algo más que tu opinión. Las pruebas pasan, el formato coincide, el script se ejecuta sin errores. Si solo tú puedes decir si quedó bien, el loop no tiene forma de saber que terminó.

✓ Respuesta correcta (buen primer bucle)

  • ✓«Haz que pase la prueba que está fallando».
  • ✓«Convierte este CSV a JSON con el formato X».
  • ✓«Haz que el script se ejecute sin arrojar errores».

✗ Respuesta de opinión (evítala por ahora)

  • ✗«Haz que el sitio se vea más bonito».
  • ✗«Mejorar la arquitectura».
  • ✗«Escribe un texto atractivo».

🧭 El consejo de Anthropic, leído con cuidado

Anthropic recomienda el loop para tareas abiertas, donde no puedes prever los pasos con anticipación. Es cierto, pero en tu primero loop, reduce el alcance a algo que tenga un checker integrado. Libertad durante la ejecución, rigor en la verificación: el agente descubre el camino y una prueba decide si llegó.

2

📝 Escribe el objetivo en una frase

Ahora concreta la tarea en una frase que describe el estado final. Ejemplo: "Todas las pruebas en /tests pasan al ejecutar npm test." Esa frase se convierte en el estado final — la señal exacta que le dice al loop «puedes detenerte».

✓ Frase con estado final

  • ✓"Todas las pruebas en /tests pasan al ejecutar npm test."
  • ✓«El endpoint /health responde 200 con curl».
  • ✓«El build compila sin warnings».

✗ Frase sin fin

  • ✗«Limpia esto».
  • ✗«Mejora el código».
  • ✗«Resuelve los problemas».

💡 Prueba de la frase

Lee tu frase y pregúntate: "¿Una computadora podría decidir por sí sola si esto ya está hecho?" Si la respuesta es no, tu frase todavía es una opinión disfrazada. Reescríbela hasta que se convierta en algo que un comando pueda verificar.

3

🔧 Decide las herramientas y qué NO tocar

Define lo que el agente puede y, más importante, lo que él no puede reproducir. En la primera ejecución: permite editar /src e /tests y ejecutar las pruebas; nada de merge, deploy o delete. El worker abre un PR; tú haces el merge.

🧱 Los guardrails son el trabajo de verdad

Hay una frase que vale la pena guardar: "los guardrails son el trabajo de verdad, no los agentes." Cualquiera puede poner un agente en un loop en cinco minutos. Lo que separa un loop seguro de un desastre es el tiempo que dedicas a decidir qué no puede hacerlo. El worker abre un PR, una persona hace merge: ese es el patrón seguro para empezar.

✓ Permitido en la 1.ª ejecución

  • ✓Editar /src y /tests
  • ✓Ejecutar la suite de pruebas
  • ✓Abrir un PR con los cambios

✗ Prohibido en la 1.ª ejecución

  • ✗Fusionar por su cuenta
  • ✗Hacer deploy / publicar
  • ✗Borrar archivos o pruebas
4

💾 Dale un lugar al estado

Un loop que dura más de una vuelta necesita memoria externa. Pídele al agente que escriba el progreso en PROGRESS.md y hacer un commit en cada cambio relevante. Así, si pierde el hilo, retoma exactamente desde donde se quedó, en vez de empezar desde cero.

🔁 El harness de Anthropic, en 5 pasos

La investigación de Anthropic sobre agentes de larga duración describe un ritmo sencillo que se repite en cada vuelta:

1

Leer el estado — abre el PROGRESS.md y recuerda dónde se quedó.

2

Progreso incremental — hace UN cambio que permite avanzar.

3

Self-verify — revisa su propio trabajo (ejecuta las pruebas).

4

Commit — registra el cambio con una nota en el PROGRESS.md.

5

Dejar limpio — cierra el entorno para que la siguiente iteración pueda retomarlo.

5

🔄 Conecta el ciclo de 4 pasos

Ahora el corazón: el ciclo que se repite en cada vuelta. Reunir contexto → hacer UN cambio → verificar (ejecutar pruebas) → repetir. Un cambio por vuelta no es pereza: es deliberado. "Trabajar en una funcionalidad a la vez" se describió como algo fundamental para que el loop converja.

reunir contextoleer el estado 1 cambiouna sola feature verificar ejecutar las pruebas listo ✓ ¿pasó? detente ¿falló? vuelve a reunir contexto

Lee el diagrama: en cada vuelta, el agente vuelve a leer el estado, hace un único cambio y ejecuta las pruebas. Si pasan, se detiene. Si no, vuelve al inicio: una función a la vez, hasta converger.

💡 Por qué UNA modificación por vuelta

Cuando le pides al agente que arregle todo de una vez, se enreda: cambia diez cosas, dos pruebas fallan por motivos distintos y no sabe qué cambio causó qué. Un cambio por vuelta deja una señal clara: cada prueba que pasa o falla apunta a exactamente una modificación.

6

🛑 Define una parada obligatoria antes de ejecutar

Antes de presionar play, escribe el freno. Basta una frase: «Detente cuando pasen todas las pruebas o después de 10 intentos, lo que ocurra primero». Esto es el hard stop, y nunca es opcional.

⚠️ Qué sucede sin hard stop

Sin un freno, te esperan dos desastres: "comportamiento emergente extraño" — el loop entra en estados extraños, intentando soluciones cada vez más descabelladas — y la cuenta de tokens, que sigue aumentando mientras da vueltas en falso. Un límite estricto cierra ambas puertas a la vez.

🧩 La regla de oro

Un loop tiene dos condiciones de parada: la buena (se cumplió el objetivo: las pruebas pasan) y la de seguridad (el límite: máximo de intentos). La primera la esperas; la segunda la impones. Nunca confíes en que el modelo se detendrá por sí solo.

7

👀 Ejecuta, observa, ajusta el prompt

El paso final: mira el primer run en vivo. Y cuando algo salga mal, corrige las instrucciones — no la salida. Editar el resultado a mano es tapar el agujero; editar el prompt es arreglar la fábrica.

🏺 "Clay on the pottery wheel"

Hay una metáfora excelente para esto: el loop es barro en la rueda del alfarero. Cuando falla, no reparas el jarrón roto: ajustas la presión de las manos (el prompt, el guardrail, el criterio) y vuelves a poner la arcilla en el torno. Cada fallo señala un área del prompt que debes ajustar.

Tu primer loop, completo. Junta los 7 pasos en un solo prompt. Pégalo en Claude Code y observa:

# SEU PRIMEIRO LOOP — cole no Claude Code

# 1. Objetivo (a frase / done-state)
Objetivo: fazer todo teste em /tests passar ao rodar `npm test`.

# 2. Ferramentas e limites (permissões + guardrail)
Você pode editar </src> e </tests> e rodar os testes.
NÃO dê merge, deploy ou delete. Não apague testes para fazê-los passar.
Quando terminar, abra um PR com as mudanças — eu dou o merge.

# 3. Estado (PROGRESS.md + commit)
A cada mudança que melhora algo, escreva 1 linha em PROGRESS.md
e dê um commit com uma nota curta.

# 4. O ciclo de 4 passos (uma mudança por volta)
Repita: (1) leia o estado e rode `npm test`, (2) faça UMA correção
no arquivo mais responsável pela 1ª falha, (3) rode `npm test` de novo
para verificar, (4) se ainda falhar, volte ao passo 1.

# 5. Hard stop (max_turns em palavras)
Pare quando todos os testes passarem, ou após 10 tentativas —
o que vier primeiro.

Cómo verificar: abre un proyecto pequeño con 1 o 2 pruebas fallidas, pega el prompt y no te apartes. Debes ver al agente ejecutar npm test, leer los fallos, hacer una corrección, volver a ejecutar y anotarlo en PROGRESS.md, repitiendo hasta que pase o llegue a 10 intentos. Si intenta algo fuera de /src y /tests, falló tu guardrail: refuerza la instrucción y vuelve a ejecutarlo.

Tu loop entrega una prueba que pasa, pero la corrección quedó fea. ¿Qué haces?

🧾 Resumen del módulo

✓
Tarea con respuesta correcta — "listo" verificable por algo más que tu opinión.
✓
Objetivo en una frase — se convierte en el estado final que le indica al loop cuándo detenerse.
✓
Herramientas y límites — edita /src y /tests; sin merge/deploy; el worker abre un PR.
✓
Un lugar para el estado — PROGRESS.md + commit en cada vuelta, para retomar.
✓
El ciclo de 4 pasos — recopilar → 1 cambio → verificar → repetir.
✓
El hard stop — máx. de intentos (max_turns); nunca es opcional.
✓
Ejecuta, observa, ajusta — corrige las instrucciones, no el resultado; barro en la rueda.

Siguiente:

3.2 — Loops para copiar y ejecutar