Gauntlet Kit: un bucle que sigue construyendo hasta ganar
Protocolo de agente para cualquier agente de código: barra de calidad concreta, crítico independiente, A/B ciego contra una referencia real y una puerta que…
On this page
Gauntlet Kit: un bucle que sigue construyendo hasta ganar
TL;DR
- Convierte "construye X" en un bucle: construye, recibe veredicto de un crítico independiente contra una barra de calidad real, reconstruye, hasta ganar.
- Cuatro ideas hacen el trabajo: barra concreta que puedes abrir o medir, constructor ≠ crítico, A/B ciego con etiqueta quitada y orden aleatorio, y sin límite de rondas.
- El artículo da un prompt; esto da un protocolo ejecutable donde el estado del bucle vive en disco, sobrevive a la compactación, y la puerta falla sin veredicto y artefacto de evidencia.
- Cero dependencias, Node 18+; Playwright solo si quieres capturas automáticas.
Qué es y para quién
gauntlet-kit empaqueta el Gauntlet Loop para cualquier agente de código — Claude Code, Codex, Cursor, Copilot, Gemini CLI o cualquier cosa que lea AGENTS.md. El método viene de Matt Shumer, que construyó un FPS de 55.000 líneas con aspecto AAA desde un único prompt haciendo que los agentes compararan su trabajo con capturas reales de Call of Duty y siguieran hasta ganar; Ben Tossell escribió el método.
Es para quien tiene un agente que produce algo que funciona y parece terminado en una ronda, y no tiene forma de saber si de verdad quedó bien. El README resume la interfaz en dos líneas: apunta tu harness al repositorio y di qué quieres construido.
Las cuatro ideas
- Una barra concreta. No "hazlo genial" — un artefacto que puedes abrir, ejecutar o medir. Los adjetivos dejan que el agente declare victoria en la primera ronda.
- El constructor no es el crítico. El constructor recuerda por qué hizo cada elección y la va a defender; el veredicto llega de un contexto nuevo que nunca vio el razonamiento.
- A/B ciego. Quita las etiquetas y aleatoriza el orden, o el crítico puntúa "lo nuestro" con generosidad y el bucle acaba antes.
- Sin límite de rondas. La barra decide cuándo terminaste, no un calendario.
Qué añade este repositorio
| Solo el prompt | gauntlet-kit | |
|---|---|---|
| Elección de la barra | la escribes cada vez | propuesta automática desde una biblioteca por dominio en bars/ |
| Estado del bucle | en el contexto del agente | en disco, sobrevive a compactación y reanudación |
| A/B ciego | "haz una comparación ciega" | par aleatorizado en disco, mapa oculto para el juez |
| "Terminado" | la palabra del agente | la puerta falla sin veredicto y artefacto de evidencia |
| Empates | criterio del juez | contados como derrota, por diseño |
| Progreso | preguntar al agente | página HTML viva autocontenida |
| Harness | copiar y pegar por herramienta | entradas para Claude Code, Codex, Cursor, Copilot, Gemini |
Cómo corre
Fase 0 fijar la barra → concreta, inspeccionable, externa, por encima de tu nivel
Fase 1 descomponer → 4–12 piezas juzgables de forma independiente
Fase 2 el gauntlet → por pieza: constructor → captura → A/B ciego → crítico nuevo → brecha → repetir
Fase 3 suavizar → hacer que el trabajo de varios agentes parezca un producto
Fase 4 parar → ganó, rendimientos decrecientes o presupuesto. Nunca "ya se ve bien"
Correrlo son tres comandos y una forma de mirar:
node scripts/gauntlet.mjs status # cada pieza, ronda, brecha actual
node scripts/gauntlet.mjs progress # escribe progress/live.html
node scripts/gauntlet.mjs gate # sale con 1 si alguna pieza no tiene evidencia
El protocolo completo está en gauntlet/LOOP.md y las restricciones duras en gauntlet/RULES.md. Los dos están escritos para que el agente los ejecute, no para que tú los leas, aunque son cortos. El libro mayor — piezas, rondas, veredictos, evidencia — vive en gauntlet/state/, y agents/ guarda las tarjetas de prompt de descomponedor, constructor, crítico, juez ciego y suavizador.
El consejo del README sobre mirar es una línea: mira de lejos, porque interrumpir a un constructor a mitad de ronda cuesta la ronda.
Límites honestos
El README lista cinco, y son la parte útil:
- Una barra mala produce un resultado malo con confianza. La barra es la única cosa que merece tu atención.
- Es caro. Muchos agentes, muchas rondas, tokens reales: cómputo a cambio de calidad.
- Hay cosas que no admiten barra. Si la salida no se puede inspeccionar, comparar o medir, el método no tiene dónde agarrarse.
- El crítico también puede equivocarse. Está calibrado para ser duro y para preferir la referencia, lo que cuesta rondas extra — a propósito, porque el fallo opuesto termina el bucle antes.
doneno eswon. Una pieza que se estanca en rendimientos decrecientes se reporta como estancada, con su brecha residual.
Cuándo usarlo, cuándo no
Úsalo cuando la parte difícil es el gusto y no la corrección — una landing, el feel de un juego, la ergonomía de un CLI — y tienes una referencia real con la que comparar. La barra puede ser la página de un competidor, una captura, una spec o una medida, pero tiene que ser algo que un crítico pueda mirar.
No lo uses cuando la salida no se puede inspeccionar ni medir, y no te saltes la Fase 0: una barra vaga es el modo de fallo que produce un resultado malo con confianza. Y lee el status antes de creer en una victoria — done no es won.
Sources
- gauntlet-kit — repositorio — las cuatro ideas, fases del protocolo, layout y límites honestos citados arriba.
- README.md — comandos, layout, crédito y licencia (MIT).
Página del proyecto: Gauntlet Kit
Es un empaquetado independiente, no afiliado al método.
FAQ
¿Necesita clave de API o un servicio? No. El README dice cero dependencias y Node 18+; Playwright solo hace falta para capturas automáticas.
¿Qué hace parar el bucle? La barra, no un límite de rondas — el README lista victoria, rendimientos decrecientes o presupuesto, y nunca "ya se ve bien".
¿Por qué un empate cuenta como derrota? Por diseño, para que un crítico generoso no cierre el bucle antes en una comparación que en realidad estaba igualada.
¿Dónde vive el estado del bucle? En disco, en gauntlet/state/, así sobrevive a compactación y reanudación, y la puerta falla cuando una pieza no tiene veredicto y evidencia.