Ingeniería de bucles: bucles, rutinas y flujos de trabajo de Claude Code
# La guía de referencia para quienes practican la ingeniería de bucles: bucles de Claude Code, objetivos, bucles Ralph, rutinas y flujos de trabajo dinámicos, junto con la doctrina de verificación que determina si convergen.
TL;DR: Loop engineering es la disciplina de hacer que los agentes repitan ciclos de trabajo hasta que se cumpla una condición de detención, en lugar de darles instrucciones turno por turno. Boris Cherny, de Anthropic y creador de Claude Code, describe su propio flujo de trabajo sin rodeos: «Ya no le doy instrucciones a Claude. Tengo loops en ejecución. Son ellos los que le dan instrucciones a Claude y determinan qué hacer. Mi trabajo es escribir loops».1 Claude Code ahora incluye una gama completa de mecanismos para ejecutar loops:
/goal(repite hasta que un modelo independiente confirma que se cumple una condición o la juzga imposible),/loop(ejecuciones locales recurrentes), el plugin oficial Ralph (itera hasta cumplir una promesa), tareas programadas en la nube (antes routines; cron en la nube) y dynamic workflows (Claude escribe un grafo de orquestación de JavaScript y ejecuta hasta 1.000 subagents sobre él). El elemento esencial no es ninguna de esas funciones, sino la verificación. Un loop converge únicamente cuando algo externo al generador —una prueba, un modelo evaluador, una comparación de píxeles o una comprobación automatizada— determina que el trabajo está «terminado». Si lo haces bien, los loops potencian sus resultados; si lo haces mal, terminas pagando por un paseo aleatorio extremadamente costoso. Esta guía abarca todos los mecanismos para ejecutar loops con referencias de versión, el patrón Ralph y sus modos de fallo, cuándo los loops deben convertirse en grafos, la jerarquía de verificación, la disciplina de costos y seguridad, y cómo operar una flota permanente. Actualizada para Claude Code v2.1.312 (octubre de 2026).
¿Qué es loop engineering?
Hace dos años, los ingenieros escribían el código fuente a mano. Después, los agentes comenzaron a escribirlo a partir de prompts humanos. El cambio que está ocurriendo ahora se sitúa un nivel más arriba: los agentes envían prompts a otros agentes y el humano escribe el sistema que decide qué prompts se envían. Cherny dimensiona el cambio sin rodeos: «Así como el paso del código fuente a los agentes fue enorme, los loops son igual de importantes y representan un cambio de la misma magnitud».2
Su definición es gratamente cotidiana: «Un loop es, en esencia, una tarea cron que se ejecuta de forma local para Claude. Una routine es lo mismo, pero se ejecuta en la nube».3 Esta práctica de apariencia exótica —«cientos, a veces miles de agentes ejecutándose durante 5, 10 o 20 horas» durante la noche,4 Claude Code «escrito al 100 % por Claude Code durante más de seis meses»4— se reduce a un pequeño conjunto de elementos básicos: un prompt que vuelve a ejecutarse según un horario o una condición, un estado que persiste entre iteraciones y una comprobación que finaliza la ejecución.
Anthropic dio nombre a la disciplina en junio de 2026: los loops son «agentes que repiten ciclos de trabajo hasta que se cumple una condición de parada», y «la calidad del resultado de un loop depende del sistema que lo rodea».5 Esta guía trata precisamente sobre ese sistema.
Una nota sobre la procedencia, porque el debate evolucionó rápidamente a mediados de 2026: el término «graph engineering» —que suele atribuirse a Cherny en publicaciones virales— fue acuñado por la comunidad (la publicación de Peter Steinberger del 18 de julio, «are we still talking loops or did we shift to graphs yet?», amplificada por Hamel Husain), no por Anthropic ni por Cherny.6 La cita ampliamente compartida «85% of our engineers… the way you do it is graph engineering» solo circula en publicaciones de terceros; durante la preparación de esta guía no pudimos encontrarla en ningún registro primario de sus charlas (la conversación de YC Startup School, Odd Lots de Bloomberg y el informe de TechCrunch sobre Meta @Scale), así que debe considerarse una atribución no verificada. Su práctica real sí tiene forma de grafo (orquestadores que generan subagents implementadores, verificadores y correctores, anidados hasta una profundidad de 5), pero el vocabulario verificado es loops, routines y workflows, que es el que utiliza esta guía.
Ruta ideal de cinco minutos
Tres comandos te llevan de los prompts a los loops:
# 1. A goal loop: Claude keeps working until a SEPARATE model confirms the condition
/goal all tests pass and coverage is above 80%
# 2. A recurring local loop: re-runs on a schedule while your session is open
/loop 30m check CI on my open PRs and fix any failures
# 3. A cloud scheduled task (formerly a routine): runs on Anthropic's infrastructure whether your laptop is open or not
/schedule every morning at 7am: triage new issues, reproduce what you can, draft fixes as PRs
La diferencia entre estos comandos y un prompt es estructural, no cosmética: cada uno tiene una regla de reejecución (una condición, un reloj o una tarea cron) y necesita una regla de parada. El resto de esta guía explica cómo hacer que esas dos reglas sean confiables.
El loop central y la única regla
Todos los sistemas de agentes ejecutan el mismo ciclo interno, que la documentación de Agent SDK de Anthropic consagra como recopilar contexto → actuar → verificar el trabajo → repetir.7 El propio proceso de Claude Code es un loop: evalúa el prompt, llama a herramientas, lee los resultados y repite hasta que una respuesta no contiene llamadas a herramientas.8
Loop engineering envuelve ese ciclo interno con loops externos y hereda su única regla innegociable, formulada en todas las fuentes rigurosas del sector:
El agente que realiza el trabajo nunca lo evalúa.
- La documentación de
/goalde Anthropic: «la finalización la decide un modelo nuevo, no el que realiza el trabajo».9 - El ensayo de Anthropic sobre el diseño de harness: «Separar al agente que realiza el trabajo del que lo evalúa demuestra ser una herramienta eficaz para abordar este problema».10
- Cherny, sobre lo que los profesionales suelen pasar por alto: «La verificación es probablemente lo más importante que las personas no hacen bien».3 En su ejemplo práctico, al dar instrucciones para reescribir una aplicación de Electron en Swift en dos semanas: «ejecuta la aplicación de Electron en la máquina virtual Mac, toma una captura de pantalla y examínala píxel por píxel. Compárala con la versión de Swift. No te detengas hasta terminar».3
La razón es mecánica, no moral: un modelo al que se le pregunta «¿terminaste?» presenta un sesgo positivo de autoevaluación, y una transcripción expresada con seguridad puede convencer a una condición de salida evaluada por un modelo de declarar prematuramente que el trabajo está «terminado».11 La verificación externa —un conjunto de pruebas, un compilador, una comparación de píxeles o un modelo nuevo que no tenga interés en la respuesta— es la única señal que resiste este efecto.
La escalera de autonomía
Las superficies de loop de Claude Code forman una escalera que va desde «volver a presionar Enter» hasta «ejecutarse sin ti». Cada peldaño intercambia mayor autonomía por una carga de verificación más alta:
| Peldaño | Superficie | Regla de reejecución | Regla de parada | Disponible desde |
|---|---|---|---|---|
| 0 | Un turno normal | Presionas Enter | La respuesta termina | — |
| 1 | /goal |
La condición aún no se cumple | Un modelo evaluador independiente determina que se cumple la condición, o la juzga imposible | v2.1.139 |
| 2 | Stop hooks / plugin Ralph | El hook vuelve a insertar el prompt al salir | Cadena --completion-promise o límite --max-iterations |
plugin (oficial) |
| 3 | /loop + herramientas cron |
Reloj (intervalo fijo o ritmo autogestionado) | Lo cancelas o el loop se detiene por sí solo | v2.1.71 |
| 4 | Ralph headless (claude -p en un loop de shell) |
El while del shell |
Comprobación externa en el script | patrón de la comunidad |
| 5 | Tareas programadas en la nube (antes routines) | Cron, una ejecución única en una fecha y hora fijas, llamada a API o evento de GitHub | La ejecución termina; lees la transcripción | versión preliminar de investigación, aprox. abril de 2026 |
(La organización en peldaños sigue la taxonomía de pardel.dev de julio de 2026, el mapa independiente más claro de este ámbito.11)
Una opción local se sitúa entre los peldaños 3 y 5: las tareas programadas de Desktop se ejecutan en tu máquina sin una sesión abierta, con intervalos mínimos de 1 minuto cuando las configura Claude (1 hora en los formularios), y la documentación las recomienda «cuando necesitas acceso a archivos y herramientas locales».12
La disciplina de la escalera: comienza en el peldaño más bajo que resuelva tu problema y sube solo cuando se haya demostrado la verificación de ese peldaño. Un /goal cuya condición no pueda formularse de manera comprobable no está listo para convertirse en una tarea programada en la nube.
Las superficies de loop en detalle
(Esta guía aborda las superficies de loop propiamente dichas. La guía de Claude Code es la referencia completa de CLI —configuración, permisos, hooks, MCP— y la guía de arquitectura de agentes explica cómo se combinan los componentes del harness; los loops son lo que ejecutas encima de ambos.)
/goal: el loop evaluador-optimizador
/goal <condition> mantiene a Claude trabajando hasta que se cumple la condición: «Después de cada turno, un modelo comprueba si se cumple la condición. Si el modelo juzga que aún no se cumple, Claude inicia otro turno en lugar de devolverte el control».9 Internamente, «/goal es un envoltorio de un Stop hook basado en prompts y limitado a la sesión», por lo que no está disponible allí donde los hooks estén desactivados (disableAllHooks, o allowManagedHooksOnly en la configuración administrada). El evaluador es el modelo pequeño y rápido que tengas configurado, y devuelve uno de tres veredictos, cada uno con una breve razón:9
| Veredicto | Qué sucede |
|---|---|
| Aún no se cumple | Claude sigue trabajando y toma la razón como orientación para el siguiente turno |
| Se cumple | Claude Code borra el goal y registra en la transcripción una entrada de goal logrado |
| Imposible | El evaluador juzgó que la condición nunca podrá cumplirse; Claude Code borra el goal y registra una entrada de goal fallido con la razón |
También funciona en modo headless: claude -p "/goal ..." ejecuta el loop hasta completarlo.
Notas de elaboración: haz que la condición sea observable («las pruebas pasan», «el endpoint devuelve 200», «cero errores de TypeScript») en lugar de aspiracional («el código está limpio»). Un verificador impreciso no ofrece ninguna dirección al loop; además, una transcripción expresada con seguridad puede convencer a una condición evaluada por un modelo para que dé su aprobación, por lo que conviene combinar /goal con una comprobación automatizada siempre que exista alguna.11 La documentación expone el límite sin rodeos: el evaluador «no ejecuta comandos ni lee archivos por su cuenta, así que redacta la condición como algo que la propia salida de Claude pueda demostrar».9 Incluye también la regla de parada dentro de la condición: una cláusula como or stop after 20 turns se evalúa igual que el resto, y una condición puede tener hasta 4.000 caracteres. Si Claude sigue respondiendo al evaluador sin usar herramientas durante varios turnos seguidos, Claude Code detiene el loop y te devuelve el control con el goal todavía activo.9
El manejo de fallos, reforzado por primera vez en la v2.1.234,34 ahora cubre todas las formas en que puede fallar un turno:
| Fallo | Qué hace el goal |
|---|---|
| Un error que tienes que corregir tú: un fallo de autenticación cuando Claude Code administra sus propias credenciales, un saldo de créditos agotado, un desbordamiento del contexto que la compactación automática no pudo resolver o un modelo que no está disponible | Se borra, con una advertencia que empieza por Goal cleared after an unrecoverable error |
| Un fallo que suele resolverse solo, como un servidor sobrecargado o una conexión interrumpida (interactivo, v2.1.269+) | Reintenta automáticamente; tras tres reintentos, se pausa |
| Un fallo que un reintento solo repetiría: un límite de tasa de la API, un límite de uso de claude.ai o un hook que terminó el turno (interactivo, v2.1.269+) | Se pausa, y se reanuda cuando se restablece el límite de uso si la sesión está configurada para continuar automáticamente |
Cuando un host como la aplicación de escritorio o una sesión en la nube administra las credenciales, un fallo de autenticación deja el goal activo, porque el propio host restablece el acceso. Y cuando el trabajo en segundo plano mantiene un goal en espera, Claude consulta su estado a los 30 minutos, de nuevo 1 hora después y luego cada 2 horas, con un máximo de tres consultas sin actividad entre tus prompts (CLAUDE_CODE_GOAL_CHECKIN_MINUTES define el primer intervalo; 0 desactiva las consultas y los reintentos automáticos).9
/loop: ejecuciones locales recurrentes
/loop [interval] <prompt> vuelve a ejecutar un prompt según un horario: fijo (/loop 5m check the deploy), con ritmo autogestionado (Claude elige la siguiente demora, de entre un minuto y una hora, en función de lo observado) o simplemente /loop para realizar una pasada de mantenimiento integrada. Por debajo utiliza CronCreate/CronList/CronDelete (cron de 5 campos, 50 tareas por sesión y caducidad de 7 días) y la herramienta Monitor, que transmite la salida de un script en segundo plano en lugar de consultarlo repetidamente.12 El ejemplo de lanzamiento del propio Cherny: «/loop babysit all my PRs. Auto-fix build issues and when comments come in, use a worktree agent to fix them».13 Para reemplazar el prompt de mantenimiento integrado, escribe un loop.md (.claude/loop.md en el proyecto, que tiene prioridad, o ~/.claude/loop.md); «Los cambios en loop.md se aplican en la siguiente iteración», y el contenido que supere los 25.000 bytes se trunca.12
La limitación importante: /loop vive dentro de un proceso de Claude Code en ejecución. «Las tareas solo se activan mientras Claude Code está en ejecución e inactivo». Si sales, dejan de activarse; si pasas la sesión a segundo plano, el loop sigue ejecutándose sin terminal; si la reanudas con --resume o --continue, las tareas programadas con CronCreate vuelven, pero un /loop con ritmo autogestionado no, así que tendrás que ejecutarlo de nuevo.12 Para el trabajo que debe sobrevivir a la sesión, la documentación compara tres superficies:12
| Tareas programadas en la nube (antes routines) | Tareas programadas de Desktop | /loop |
|
|---|---|---|---|
| Se ejecuta en | La nube, administrada por Anthropic de forma predeterminada | Tu máquina | Tu máquina |
| Requiere la máquina encendida | No | Sí | Sí |
| Requiere una sesión abierta | No | No | Sí |
| Persiste tras reinicios | Sí | Sí | Se restaura con --resume, con excepciones |
| Intervalo mínimo | 1 hora | 1 minuto cuando lo configura Claude, 1 hora en los formularios | 1 minuto |
Para el trabajo que debe ejecutarse con tu máquina apagada existen las tareas programadas en la nube.
El plugin Ralph: iterar hasta cumplir la promesa
El plugin oficial ralph-loop de Anthropic convierte en producto el patrón de fuerza bruta favorito de la comunidad. Se llama ralph-loop en el repositorio anthropics/claude-plugins-official desde el 6 de enero de 2026, cuando Anthropic le cambió el nombre de ralph-wiggum «por recomendación legal». El 26 de octubre de 2026, el repositorio claude-code eliminó su propia copia desactualizada de ralph-wiggum, y su marketplace ahora instala ralph-loop desde el repositorio oficial, de modo que «los identificadores de plugin existentes siguen funcionando».14 El mecanismo: un Stop hook intercepta el intento de Claude de finalizar la sesión y vuelve a insertar el prompt, de modo que el modelo itera continuamente dentro de una misma sesión. /ralph-loop "<prompt>" --max-iterations <n> --completion-promise "<string>" lo inicia; /cancel-ralph lo interrumpe. El README afirma expresamente que --max-iterations es «tu principal mecanismo de seguridad», ya que la coincidencia exacta de la cadena de finalización puede fallar indefinidamente.14 Un límite del harness se aplica a todo loop basado en Stop hooks: «Si el hook bloquea ocho detenciones seguidas sin ninguna llamada a herramientas entre ellas, Claude Code anula el siguiente bloqueo y finaliza el turno» (CLAUDE_CODE_STOP_HOOK_BLOCK_CAP eleva ese límite).29 Eso termina un loop que dejó de avanzar; no termina un loop Ralph que sigue llamando a herramientas, así que el límite de iteraciones sigue siendo importante.
Workflows dinámicos: Claude escribe el grafo
Introducidos con Claude Code v2.1.154 (mayo de 2026) y descritos en detalle en la publicación de lanzamiento de Anthropic del 2 de junio de 2026, los workflows dinámicos representan el mayor salto conceptual: «Ahora Claude puede escribir su propio harness sobre la marcha, creado específicamente para la tarea en cuestión».15 Describes la tarea, dices «use a workflow» o incluyes la palabra clave ultracode; Claude escribe un script de orquestación de JavaScript en el que agent() genera un subagent con salidas opcionales basadas en el esquema de JSON, pipeline() ejecuta uno por cada elemento de una lista, parallel() ejecuta un conjunto a la vez, y await, los loops y los condicionales convencionales controlan el flujo; un runtime lo ejecuta en segundo plano. /effort ultracode va más allá: Claude «planifica un workflow para cada tarea sustancial de la sesión», y una sesión así «alcanza un límite de sesión o semanal antes que el mismo trabajo con la opción desactivada».16 «Un workflow traslada el plan al código… Un script de workflow contiene el loop, las bifurcaciones y los resultados intermedios, de modo que el contexto de Claude solo conserva la respuesta final».16
Límites y estructura, según la documentación:16
| Límite | Valor |
|---|---|
| Agentes simultáneos | Hasta 16 de forma predeterminada, menos si hay menos CPU; CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS admite valores de 1 a 256 (v2.1.269+) |
| Agentes por ejecución | 1.000 («Evita loops fuera de control») |
Elementos en una llamada a parallel() o pipeline() |
4.096 |
| Intervención del usuario durante la ejecución | Ninguna |
Los scripts guardados en .claude/workflows/ se convierten en comandos slash reutilizables. Una ejecución se reanuda a partir de los resultados de agentes guardados cuando Claude la vuelve a lanzar, pero un agente que falló «se ejecuta de nuevo, al igual que todos los agentes que el script inicia después de él, incluso los que ya habían terminado», y una ejecución que pasas a segundo plano o de la que sales a mitad de camino «no continúa por sí sola».16
La topología distintiva es expandir / refutar / converger: buscadores independientes, seguidos de verificadores adversariales a los que se les pide refutar cada hallazgo, con iteraciones hasta que las respuestas resistan el escrutinio. Anthropic ahora incluye una instancia de esta topología: el workflow integrado /deep-research «distribuye búsquedas web sobre una pregunta desde varios ángulos, obtiene y contrasta las fuentes que encuentra, vota cada afirmación y devuelve un informe con citas del que se eliminan las afirmaciones que no resistieron el contraste», y cuando sus verificadores no pueden comprobar una afirmación, «el informe la incluye como no verificada en lugar de contarla como refutada».16 El resultado principal del lanzamiento: el traslado realizado por Bun de su base de código Zig de 535.496 líneas a Rust —que produjo una base de código Rust de más de un millón de líneas— en once días (del 3 al 14 de mayo de 2026), mediante 64 agentes en paralelo, según el relato de Jarred Sumner.15
Agent teams: el grafo entre pares
Detrás de CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 (añadido como versión preliminar de investigación en v2.1.32, febrero de 2026; la documentación ahora dice «Los agent teams son experimentales y están desactivados de forma predeterminada»): un líder de equipo y compañeros que «trabajan de forma independiente, cada uno en su propia ventana de contexto, y se comunican directamente entre sí». Eso forma un grafo entre pares, en lugar de un árbol de subagents, coordinado mediante una lista de tareas compartida con dependencias, asignación mediante bloqueo de archivos y buzones por agente. Los quality gates impuestos por hooks interponen comprobaciones automatizadas entre un compañero y el estado «terminado»: TaskCompleted con código de salida 2 bloquea la finalización, y TeammateIdle con código de salida 2 mantiene trabajando a un compañero.17 Dos comportamientos que conviene conocer antes de activarlo: mientras los agent teams están habilitados, «un subagent al que Claude le pone nombre se inicia como compañero, por lo que pueden formarse equipos aunque no lo hayas pedido», y «Un compañero no puede aprobar una solicitud de permiso ni dar su consentimiento en tu nombre».17
Routines: loops que sobreviven a tu laptop
Una tarea programada en la nube (antes una routine) es «una configuración guardada de Claude Code: un prompt, uno o más repositorios y un conjunto de conectores, empaquetados una sola vez y ejecutados automáticamente», que se ejecuta en la infraestructura en la nube administrada por Anthropic o en el entorno self-hosted de tu organización.18 El nombre anterior se mantiene donde cambiarlo rompería algo: la dirección web (claude.ai/code/routines), el alias /routines de /schedule y la ruta de API /fire. Hay tres tipos de activadores que pueden combinarse: un horario (mínimo de 1 hora para una cadencia recurrente, o una ejecución única en una fecha y hora fijas), activación mediante API (POST .../routines/{id}/fire) y eventos de GitHub. Se crean mediante /schedule, la aplicación Desktop o claude.ai/code/routines. La sesión de una ejecución se inicia en modo automático, salvo que el modo automático no esté disponible; un clasificador permite o bloquea cada acción, y la ejecución se detiene a esperar en casos como una acción que pide confirmación incluso en modo automático (una regla ask) o bloqueos repetidos. Precisamente por eso la advertencia de la documentación resulta fundamental: el resultado de una ejecución indica «cómo terminó la sesión, no si Claude completó el trabajo que describe tu prompt, así que abre la ejecución y lee su transcripción para ver qué pasó».18 Dos correcciones desde septiembre demuestran que la brecha es real: hasta la v2.1.286, las ejecuciones cuya sesión en la nube nunca llegó a iniciarse aparecían como Succeeded, y hasta la v2.1.302, las ejecuciones aparecían «como Completed después de que su sesión en la nube se detuviera inesperadamente».36 Esa misma versión evitó que una ejecución que falló a mitad de camino se volviera a ejecutar desde el principio, «lo que podía repetir trabajo, como publicar el mismo informe dos veces», una razón para que el trabajo que se activa sea idempotente.36
Anthropic ejecuta «quizá 20 o 30 de estas routines cada día» en sus propias bases de código: eliminación de código muerto, cobertura de pruebas y publicación de experimentos.3
El reparto de apoyo
Los subagents en segundo plano (predeterminados desde v2.1.198) mantienen el trabajo delegado fuera de tu contexto; el panel /agents permite supervisarlos. La mensajería entre sesiones (v2.1.224) convierte sesiones independientes en un grafo de intercambio de mensajes mediante SendMessage, con un principio de seguridad que vale la pena adoptar: un mensaje de otra sesión «nunca cuenta como tu consentimiento».19 Desde una sesión conectada a Remote Control, también llega a tus sesiones en otras máquinas (v2.1.225+) y en la nube. Para las esperas entre loops, la entrada notify_when_idle (v2.1.236+)36 le pide a una sesión de esta máquina un único aviso cuando vuelva a quedar inactiva o se cierre, y Claude Code se suscribe «sin iniciar un turno ni gastar tokens en la sesión observada».19 Los runners self-hosted (v2.1.224, Team/Enterprise) ejecutan sesiones en la nube y tareas programadas en la nube (antes routines) en tus propias máquinas: la infraestructura subyacente para flotas a escala organizacional.20
El patrón Ralph
La comunidad llegó primero. En julio de 2025, Geoffrey Huntley publicó el ensayo que bautizó la técnica con el nombre del personaje de Los Simpson: Ralph es, literalmente,
while :; do cat PROMPT.md | claude-code ; done
—su comando de una línea, exactamente como lo publicó—: un repositorio, una tarea por iteración, contexto nuevo en cada pasada, con especificaciones y archivos de progreso en el sistema de archivos que mantienen el estado entre iteraciones, y pruebas y verificaciones de lint que actúan como «contrapresión».21 La versión moderna sin interfaz de este mismo esquema es claude -p "$(cat PROMPT.md)" dentro de un bucle de shell, que es básicamente lo que ejecutó el propio harness de Anthropic para su compilador de C.23 Los resultados que afirmó haber obtenido (MVP de un contrato de $50K por $297 en tokens; seis repositorios en una noche durante un hackatón) venían acompañados de límites igual de claros: solo proyectos desde cero, implementaciones de relleno y duplicadas como fallas recurrentes, y «los LLM son un reflejo de la habilidad de quien los opera».
Anthropic nunca usa ese nombre en su material de ingeniería, pero el patrón ya es doctrina oficial por partida doble: el ensayo de noviembre de 2025 sobre agentes de larga duración prescribe exactamente este esquema —un agente inicializador que crea listas de funciones y archivos de progreso, seguido de agentes de programación nuevos en cada ventana de contexto que «comienzan la sesión leyendo el archivo de notas de progreso y los registros de commits de git»22— y el proyecto del compilador de C de febrero de 2026 ejecutó dieciséis agentes Claude en paralelo —«Construí un harness que mete a Claude en un bucle simple», como lo describe Nicholas Carlini— con bloqueos de tareas basados en archivos y git como capa de sincronización, lo que produjo unas 100.000 líneas de Rust a lo largo de unas 2.000 sesiones por unos $20K.23 La frase del ensayo sobre verificación resume toda la teoría del patrón: «es importante que el verificador de tareas sea casi perfecto».
Por qué un contexto nuevo funciona mejor que una sola sesión larga: la eficacia disminuye a medida que se llena el contexto de una sesión —el consenso entre profesionales sitúa el umbral de desvío alrededor de los 100.000 tokens— y los resúmenes de compactación son paráfrasis que pierden información y convierten los errores en afirmaciones que suenan seguras.24 El diseño de Ralph, que combina agentes nuevos con archivos, evita ambos problemas. (Los bucles dentro de una misma sesión del plugin oficial sacrifican parte de estas ventajas por comodidad; para ejecuciones largas, la versión sin interfaz con estado externo sigue siendo el patrón más sólido).
El caso que sirve de advertencia sobre este patrón también deja una lección: alguien ejecutó el plugin con un prompt vago y max_iterations: 0 —que significa infinito, no desactivado— y Claude se hizo la misma pregunta aclaratoria 1.966 veces, mientras el hook Stop tomaba el control de cada mensaje posterior.25 Los límites de iteraciones no son opcionales.
Cuando los bucles se convierten en grafos
Un bucle único presupone que sus iteraciones son independientes o estrictamente secuenciales. En cuanto el trabajo en paralelo tiene dependencias —la tarea B necesita el resultado de A, dos agentes editarían el mismo archivo—, los bucles sin estructura entran en conflicto y necesitas una estructura explícita: una lista de tareas con arreglos de dependencias, asignación de archivos y disciplina al fusionar cambios. Ese es el verdadero fondo del debate entre bucles y grafos: bucles para un repositorio y un objetivo; grafos cuando el trabajo en paralelo necesita un orden.26
Las opciones de grafos, de menor a mayor infraestructura:
- Flujos de trabajo dinámicos — dependencias expresadas en el flujo de control de JavaScript; barreras solo donde una etapa realmente necesita todos los resultados anteriores. Las topologías que enumera Anthropic: distribuir y sintetizar, verificación adversarial, generar y filtrar, torneo («Crea N agentes que intenten realizar la misma tarea con enfoques distintos», y luego compara sus resultados de a pares) y repetir hasta terminar.15
- Equipos de agentes — una lista de tareas compartida con seguimiento de dependencias; un compañero creado mientras el líder está en modo de planificación envía su plan para que se apruebe, y Claude Code lo aprueba automáticamente; el líder solo lo revisa si pasas a modo de planificación a un compañero en proceso que ya está en ejecución (
Shift+Tab); el grafo son datos, no código.17 Un valor predeterminado cambió en este patrón, por primera vez en la v2.1.233:34 las herramientas de seguimiento de tareas (TaskCreate,TaskGet,TaskUpdate,TaskList,TodoWrite) ahora están «disponibles de forma predeterminada solo en Opus 4.7, Sonnet 4.6, Haiku 4.5 y modelos anteriores», un conjunto predeterminado que se aplica a partir de la v2.1.268.38 Los agentes sin ellas «se coordinan mediante mensajes en lugar de usar la lista de tareas compartida»,17 de modo que, con un modelo actual en una sesión local normal, la lista de tareas no está disponible a menos que la actives; las sesiones en segundo plano y en la nube reciben las herramientas con todos los modelos.38 Actívalas conCLAUDE_CODE_ENABLE_TODO_TOOLS=1,--allowedTools TaskCreateo una lista--toolsque las incluya. Una variable exportada no llega a un compañero de panel dividido, así que, para darle las herramientas, inicia el líder conclaude --settings '{"env":{"CLAUDE_CODE_ENABLE_TODO_TOOLS":"1"}}'.38 - Orquestadores externos — la expansión de la comunidad: Gas Town, de Steve Yegge, ejecuta entre 20 y 30 instancias de Claude Code sobre DAG de «beads» respaldados por git (75.000 líneas de Go en 17 días; según él mismo cuenta, también es «una máquina de gastar dinero» que exige mucha habilidad de quien la opera);27 claude-flow/Ruflo (unas 31.000 estrellas) organiza enjambres en una jerarquía de reina y trabajadores; los motores al estilo de LangGraph añaden una máquina de estados tipada con Claude Code dentro de los nodos.
Cherny formaliza esta trayectoria con la escala de Etapas de adopción de la IA, publicada a través de Anthropic en julio de 2026: Con aprobación previa (0 agentes) → Asistida (~1) → En paralelo (~10) → Autonomía supervisada (~100, donde «la mayoría de los agentes son iniciados por Claude, no por humanos») → Nativa de IA (1.000+). Su consejo al respecto: «en cada etapa… necesitas identificar y eliminar los siguientes cuellos de botella, y establecer las siguientes medidas de protección».28
Ingeniería de verificación
Todo lo anterior es infraestructura. Esta sección es el producto.
La escala de Anthropic para aumentar el rigor, según la documentación actual de buenas prácticas, parte de un consejo: «Dale a Claude algo que pueda ejecutar y que devuelva un resultado de aprobación o fallo. Una vez que lo tiene, puede seguir trabajando por su cuenta sin que tengas que vigilarlo». Los peldaños van luego de lo que decide Claude a lo que impone el harness: una línea en el prompt (run the auth tests after, and keep going until they pass) → una condición /goal que «un modelo independiente comprueba contra la conversación después de cada turno», lo cual «importa en las ejecuciones largas en segundo plano, en las que Claude a veces termina un turno con un resumen del progreso mientras aún quedan elementos pendientes» → un hook Stop, «impuesto por Claude Code (el harness), de modo que el turno no termina hasta que pasa la comprobación de tipos o se alcanza el límite de bloqueos» → una revisión «Por alguien que no escribió el código», en la que /code-review «revisa el diff en un subagent nuevo que nunca vio tu conversación. No se deja influir por el razonamiento que produjo el código».29 La norma de evidencia que lo acompaña: «pídele a Claude evidencia: el comando que ejecutó y su salida, o la captura de pantalla», porque «En una sesión que no estabas observando, también es la única evidencia que tienes».29 La refutación adversarial, el peldaño con el que antes terminaba esta escala, ahora está en la documentación de flujos de trabajo, cuyo prompt de ejemplo le pide a un flujo de trabajo «verificar de forma adversarial cada hallazgo antes de informarlo».16
La misma documentación clasifica cada instrucción según lo que decide Claude y lo que impone Claude Code. Tres de sus filas son las reglas de parada, presupuesto e integración de un bucle:29
| No determinista (decide Claude) | Determinista (lo impone Claude Code) | |
|---|---|---|
| Cuándo está terminado | Una solicitud de evidencia, /goal, /code-review |
Pruebas, comprobación de tipos, un hook Stop, CI |
| Cuánto gasta | Nivel de esfuerzo, el propio ritmo de Claude | --max-turns o --max-budget-usd con -p, un límite de gasto que hayas configurado |
| Quién tiene la última palabra | El resumen de Claude sobre lo que hizo | Protección de ramas, una persona que aprueba la integración |
Un bucle sin supervisión necesita una entrada de la columna derecha en cada fila; la columna izquierda es todo lo que tiene un bucle cuando nadie escribió esa entrada. La documentación también descarta un hábito al escribir prompts: frases como «sigue adelante, repite hasta terminar, no seas perezoso» tienen «más probabilidades de provocar trabajo excesivo que de resolver un estancamiento», y «en las ejecuciones que nadie está observando, /goal o un hook Stop lo imponen».29
Las tres clases de retroalimentación, según el ensayo Agent SDK: retroalimentación basada en reglas («reglas claramente definidas para un resultado, seguidas de una explicación de cuáles se incumplieron y por qué», la mejor opción), retroalimentación visual (capturas de pantalla, diferencias de píxeles) y LLM como juez (rúbricas imprecisas; en palabras de Anthropic, «por lo general, un método poco robusto»).7 Dales preferencia en ese orden; una comprobación determinista que existe vale más que un juez que opina.
Condiciones de convergencia. El análisis crítico más incisivo de los bucles —el de Yoko Li, de agosto de 2026— reduce la convergencia a cuatro requisitos: un estado objetivo definido, un estado actual observable, ediciones locales precisas y reglas de detención externas al generador. Su experimento instrumentado deja una cifra que conviene recordar: el 67% del gasto en tokens del bucle no produjo ninguna mejora, porque nada le indicó al bucle que las mejoras habían pasado a crecer de forma logarítmica.30 Los topes de presupuesto no son solo un control de costos; son una regla de detención de último recurso.
Integridad de las pruebas. Según la doctrina de Anthropic sobre agentes de larga duración: «Es inaceptable eliminar o editar pruebas, porque esto podría dar lugar a funciones ausentes o defectuosas».22 Los bucles encuentran cómo aprovechar las especificaciones —pasan las pruebas visibles sin cumplir la intención implícita—, por lo que el propio verificador necesita protección frente al agente que evalúa.
Evalúa los resultados, no los caminos. Según el ensayo sobre evaluaciones: «Evalúa lo que produjo el agente, no el camino que siguió»; usa evaluadores basados en código cuando los criterios sean objetivos y evaluadores basados en modelos para las rúbricas, y calíbralos: «No sabrás si tus evaluadores funcionan bien a menos que leas las transcripciones y las calificaciones de muchos ensayos».31
Otra distinción que se le escapa a buena parte del debate: cuando todas las comprobaciones de un bucle son deterministas, ningún modelo tiene lugar en ese bucle. Un monitor de desviaciones que compara marcas de tiempo, un verificador de enlaces, un monitor de compilaciones: son scripts de shell con ejecución programada, sin consumo de tokens, con ejecuciones de segundos y perfectamente repetibles. Reserva los bucles impulsados por modelos para las iteraciones que necesitan criterio. El bucle más barato es el que nunca llama a un modelo.
Disciplina de costos y seguridad
La objeción más frecuente de la comunidad a la ingeniería de bucles es el costo, y los análisis de incidentes la respaldan: un error al crear subagents que consumió 4 millones de tokens en cinco minutos; bucles nocturnos que gastaron miles de dólares; límites de uso alcanzados «mucho antes de lo esperado».32 Una de esas barreras ya cambió: desde la v2.1.234, una sesión continúa automáticamente cuando se restablece un límite de uso de claude.ai (la configuración autoContinueAtUsageLimit; puedes desactivarla en /config → «Continue automatically at usage limit»).3437 El alcance es limitado. «La continuación automática está activada de forma predeterminada en las sesiones interactivas iniciadas con una suscripción de claude.ai»; Claude Code no inicia la espera por su cuenta ante «Un restablecimiento a más de 24 horas», como un límite semanal; salir de Claude Code termina la espera; y Claude Code «no ofrece la espera en absoluto» en «Las sesiones en segundo plano y las ejecuciones con -p», lo que abarca Ralph sin interfaz y claude -p "/goal ...".37 Dentro de una sesión que cumple los requisitos, los bucles siguen esa regla: un /goal en pausa se reanuda con el restablecimiento,9 y desde la v2.1.271 una ejecución de flujo de trabajo espera a que pase el límite en lugar de hacer fallar a sus agentes, como máximo dos veces por ejecución.16 Un bucle nocturno que permanece en una sesión interactiva abierta ahora puede superar el límite; uno que se ejecuta sin interfaz o en una sesión en segundo plano sigue deteniéndose en él. Eso vuelve aún más importantes los controles de presupuesto que aparecen a continuación. De ahí surgió esta disciplina, en la que cada medida corresponde a un control ya disponible:
| Riesgo | Control |
|---|---|
| Iteraciones descontroladas | --max-iterations (Ralph), límite de 1.000 agentes por flujo de trabajo, límites de tareas cron, el límite de 8 bloqueos del hook Stop sin llamadas a herramientas entre ellos;29 tareas programadas en la nube (antes rutinas): 100 ejecuciones programadas por hora por cuenta, 30 ejecuciones con «Run now» o mediante API por hora por tarea18 |
| Gasto descontrolado | --max-budget-usd (detiene los subagents en segundo plano al alcanzar el límite, v2.1.217+; la v2.1.299 corrigió un mod que mantenía en marcha una ejecución sin interfaz después de superarlo),36 presupuestos por fase; la advertencia Large workflow (más de 25 agentes o 1,5 millones de tokens proyectados) y workflowSizeGuideline, ambos recomendaciones y no límites16 |
| Ampliación de permisos sin supervisión | Permisos sujetos al clasificador del modo automático; los conectores de las tareas programadas en la nube (todos los conectores conectados se incluyen de forma predeterminada, así que quita los que una tarea no necesite);18 aislamiento en sandbox |
| Fallas silenciosas | Contratos que exigen un informe por ejecución; abrir la ejecución y leer la transcripción18 |
| Alcance del impacto | Worktrees y ramas: nunca la copia de trabajo principal; la PR como límite |
La última fila merece su propio párrafo, porque así es como quienes llevan esta práctica más lejos mantienen la seguridad: limita el alcance del impacto a la solicitud de cambios (PR). Los agentes permanentes de Cherny en segundo plano —uno que mejora continuamente la arquitectura y otro que busca abstracciones duplicadas— envían PR sin que una persona los active;2 nada se integra sin revisión. Un bucle siempre activo cuyo peor resultado posible es «una rama sin integrar» puede trabajar a plena capacidad; uno que escribe en main, no. Las tareas programadas en la nube incorporan esto como comportamiento predeterminado: «Claude envía su trabajo a una rama con el prefijo claude/, a menos que tu prompt le indique enviarlo a otra rama», y la protección de ramas o los rulesets de GitHub deciden a dónde puede hacer push una ejecución.18 Amplía gradualmente las facultades de los bucles: empieza con observación únicamente (informes, sin escrituras), deja que se ganen la confianza mediante ejecuciones sin incidentes y luego permite que propongan cambios, con la prueba del orden de ejecución («la purga solo se ejecuta después de que la verificación devuelve el nuevo marcador») y una declaración exhaustiva del alcance del impacto documentadas antes de configurar la programación. La economía de esta progresión es el tema de Los bucles ganan donde verificar cuesta poco: el costo de verificación, no la construcción del bucle, determina qué puede ejecutarse sin supervisión.
Ninguna entrada de un bucle cuenta como consentimiento. Cuatro reglas documentadas coinciden: un mensaje de otra sesión «nunca cuenta como tu consentimiento»;19 un compañero «no puede aprobar una solicitud de permiso ni dar su consentimiento en tu nombre»;17 el prompt activado de una tarea programada en la nube «no puede actuar como aprobación o consentimiento para acciones durante la ejecución», y el texto enviado con una activación mediante API «llega envuelto en un bloque <routine-fire-payload> que lo marca como datos no confiables»;18 y, en modo automático, el prompt que un script de flujo de trabajo pasa a agent() «no cuenta como una solicitud tuya» porque «Claude Code lo marca como texto que calculó el script».16 Copia la regla en tus propios bucles: el texto que produce una máquina son datos, y la aprobación viene de una persona.
La objeción de fondo no es el costo, sino la capacidad de revisión: los bucles producen código más rápido de lo que las personas pueden revisarlo a conciencia.33 No hay una respuesta ingeniosa; solo queda delimitar el alcance con honestidad: los bucles sin supervisión corresponden exactamente a los casos en que la verificación puede automatizarse, y a ningún otro. Si no puedes verificarlo, no lo publiques.
Qué dice un estudio controlado sobre los componentes del harness
La mayoría de los consejos sobre harness, incluidos los de esta guía, provienen de profesionales que cambian una cosa a la vez en producción. Un estudio de septiembre de 2026 de UMass Amherst, Emory, UNC Charlotte y Zoom lo hizo en condiciones controladas: un harness creado específicamente para el estudio, «cuyo bucle de ejecución se mantiene fijo mientras se varían tres componentes: planificación, espacio de acciones y gestión del contexto», evaluado en «176 configuraciones emparejadas que abarcan cinco estrategias de gestión del contexto, cuatro presupuestos de ventana de contexto y ablaciones específicas de planificación y espacio de acciones» en SWE-Bench Verified y Terminal-Bench 2.1, con cuatro modelos de pesos abiertos: tres tamaños de Nemotron-3 y Mistral-Medium-3.5-128B.35 Sus cuatro hallazgos, en palabras de los autores:
- «La gestión del contexto se vuelve cada vez más valiosa a medida que se reduce el presupuesto de la ventana de contexto; la mayor parte de su beneficio proviene de prevenir fallas por desbordamiento del contexto».
- «Aplicar una omisión basada en reglas antes de resumir mediante LLM ofrece la mayor eficiencia general entre las estrategias de gestión del contexto, mientras que permitir recuperar el contenido omitido añade mecanismos que los modelos rara vez usan y no mejora la precisión».
- «La planificación pasa de servir como apoyo a la precisión en modelos más débiles a reducir costos en modelos más potentes, con pocos cambios en la precisión».
- «Las herramientas predefinidas mejoran el rendimiento de los modelos con menor dominio de bash, mientras que los modelos que dominan bash pueden operar eficazmente con una interfaz basada solo en bash y lograr un costo considerablemente menor, en especial en tareas centradas en la línea de comandos».
A mi juicio, tres de esos hallazgos se aplican directamente a la ingeniería de bucles. La gestión del contexto protege contra el desbordamiento: un bucle de larga duración debe administrar el presupuesto de su ventana y omitir las salidas voluminosas de las herramientas antes de resumir cualquier cosa; además, puede prescindir de mecanismos de recuperación que el modelo no va a usar. Para un modelo capaz, la planificación sirve para ajustar el costo más que para mejorar la precisión, algo que conviene saber antes de añadir una fase de planificación a un bucle que utiliza un modelo potente. Y el resultado de usar solo bash es la separación entre ejecución y modelo un nivel más arriba: cuando quien actúa tiene la capacidad necesaria, menos acciones de mayor alcance cuestan menos. Las salvedades son las del propio estudio: cuatro modelos, dos pruebas de referencia y un harness creado para el experimento, en lugar de un agente disponible en el mercado, de modo que los resultados sirven como orientaciones, no como configuraciones para copiar.35
Operar una flota
El estado final de la ingeniería de bucles no es un solo bucle, sino una flota permanente. Así se ve la práctica cuando se estabiliza:
- Especificaciones como archivos. Cada bucle es una especificación bajo control de versiones —nombre, nivel, programación, objetivo, verificador, herramientas permitidas, presupuesto y tiempo de espera máximo— que reside en el repositorio al que sirve. Si has escrito la misma comprobación manual tres veces, se convierte en una especificación. Anthropic incluye una versión reducida de la idea: un archivo
loop.mdreemplaza el prompt integrado de/loopsin argumentos, y los cambios que le hagas se aplican en la siguiente iteración.12 - Dos niveles y ascensos que se ganan. Los bucles de observación pueden leer cualquier cosa, escriben solo en su propio directorio de informes y se programan de inmediato. Los bucles de acción modifican el entorno y requieren la prueba del orden de ejecución, la declaración del alcance del impacto y un verificador distinto de quien produce el resultado, todo documentado antes de que exista la programación. Los bucles empiezan como observadores y se ganan el ascenso.
- La separación entre ejecución y modelo. Las comprobaciones deterministas se ejecutan como scripts (cero tokens, 1–2 segundos); los bucles con modelos se reservan para tareas que requieren criterio. La comprobación diaria del estado de una flota puede no costar nada.
- Contratos de informes. Una línea por comprobación,
PASS|FAIL <check>: <reason>, añadida a un archivo de informe con fecha. Si no puedes definir una línea PASS que se entienda de un vistazo, el bucle no está listo. Un bucle de resumen lee los informes de la flota para que la persona lea una página, no treinta. - Referencias que se mantienen solas. Los mejores monitores de desviaciones derivan sus expectativas del artefacto que vigilan —las marcas de tiempo registradas en la propia guía, los hashes del propio archivo de bloqueo—, de modo que actualizar el artefacto actualiza el monitor y no queda una segunda fuente de verdad que puedas olvidar.
- Programación que perdura. Las flotas locales se ejecutan mediante el programador del sistema operativo (launchd, cron, temporizadores de systemd), que invoca un script de ejecución, o mediante las tareas programadas de Desktop cuando la máquina permanece encendida; las flotas en la nube son tareas programadas en la nube (antes rutinas). Los bucles ligados a una sesión (
/loop) sirven para el trabajo en el que estás presente o para una sesión en segundo plano.12
Esto concreta la frase de Cherny «mi trabajo es escribir bucles»: el trabajo humano pasa a ser especificar comprobaciones, verificadores y presupuestos, y leer los informes.
Los primeros dos bucles que vale la pena construir
Si empiezas una flota desde cero, dos bucles compensan su costo de inmediato; ambos están probados en el harness de este sitio:
El bucle de control: un esquema de creador y revisor para cualquier cosa que publiques. Un evaluador nuevo (sin memoria de rondas anteriores) puntúa el artefacto frente a un umbral explícito; aplicas cada observación señalada; otro evaluador vuelve a puntuar; el bucle se detiene al alcanzar el umbral o un límite estricto de rondas. Dos observaciones de su uso en una tanda de quince publicaciones: las reparaciones pueden introducir nuevos defectos (la corrección de una ronda atribuyó erróneamente una cifra, algo que detectó el evaluador de la siguiente), y los evaluadores se equivocan en ambas direcciones: uno «corrigió» con total seguridad una afirmación verdadera, por lo que las correcciones concretas se verifican en la fuente antes de aplicarlas. La autoridad no es el revisor, sino la fuente.
El encargado de mantenimiento: el punto de entrada al nivel de acción. Una corrección pequeña y objetivamente verificable por ejecución, en una rama, con las pruebas aprobadas antes de abrir la PR y sin que el bucle integre nunca los cambios. Dos reglas lo mantienen seguro: todo lo ambiguo se señala, no se corrige (la primera ejecución supervisada acertó al descartar un falso positivo del detector), y una falla preexistente en main se informa como tal, sin incorporarla nunca al diff del bucle.
Un detalle operativo de la flota que vale la pena adoptar: asigna a los bucles con modelos sin supervisión una reserva de sesión; pospón cualquier ejecución mientras haya una sesión interactiva activa en el mismo repositorio. Dos procesos que escriben en una misma copia de trabajo terminarán intercalando commits; la reserva hace que el bucle ceda el paso a la persona por diseño.
Preguntas frecuentes
¿Qué es la ingeniería de bucles?
La práctica de hacer que los agentes de IA repitan ciclos de trabajo hasta cumplir una condición de parada, en lugar de darles instrucciones turno a turno. El trabajo de ingeniería pasa de escribir prompts a diseñar el bucle: su regla de reactivación (una condición, una programación, un evento), su estado entre iteraciones, su verificador y su presupuesto. Anthropic dio nombre a la disciplina en junio de 2026; en Claude Code se materializa mediante /goal, /loop, el plugin Ralph, las tareas programadas en la nube (antes rutinas) y los flujos de trabajo dinámicos.
¿Qué es un bucle Ralph?
Un patrón de autonomía por fuerza bruta al que Geoffrey Huntley dio nombre en julio de 2025: ejecutar Claude Code dentro de un bucle while de shell, proporcionándole el mismo prompt con un contexto nuevo en cada iteración, mientras los archivos de progreso y git conservan el estado entre pasadas y las pruebas actúan como freno. Anthropic ofrece un plugin oficial, ralph-loop (que se llamaba ralph-wiggum hasta enero de 2026), que ejecuta el bucle dentro de la sesión mediante un hook Stop, con --max-iterations como mecanismo de seguridad principal.
¿Cómo ejecuto Claude Code en un bucle?
Elige el nivel más bajo que se ajuste a lo que necesitas: /goal <condition> para iterar hasta que un evaluador independiente confirme una condición; /loop <interval> <prompt> para ejecuciones recurrentes mientras una sesión de Claude Code esté en ejecución; /ralph-loop para iterar sobre una tarea hasta cumplir una promesa de finalización; /schedule para crear una tarea programada en la nube que se ejecute mediante cron sin depender de tu computadora. Sin interfaz interactiva, la forma clásica es claude -p dentro de un bucle de shell con una comprobación externa.
¿Los bucles reemplazan la escritura de prompts?
El prompt no desaparece: cambia de lugar. Lo escribes una vez en la especificación del bucle y este vuelve a ejecutarlo; cada vez más —con los flujos de trabajo dinámicos y la idea de Cherny de que «en realidad es otro Claude quien escribe los prompts»—, un agente orquestador redacta los prompts de cada tarea. El diseño de la verificación reemplaza la elaboración de prompts como labor humana: formular condiciones que una máquina o un modelo con contexto nuevo puedan comprobar.
¿Cuál es la diferencia entre un bucle, una rutina y un flujo de trabajo en Claude Code?
Un bucle (/loop) vuelve a ejecutar un prompt según una programación dentro de una sesión local de Claude Code y deja de activarse cuando ese proceso termina; una sesión en segundo plano lo mantiene en marcha. Una tarea programada en la nube (antes una rutina) es la misma idea preparada para ejecutarse en infraestructura en la nube: se activa mediante cron, API o eventos de GitHub, sin necesidad de una computadora portátil. Un flujo de trabajo es el grafo de orquestación de una sola ejecución: un script de JavaScript que escribe Claude y que crea y coordina hasta 1.000 subagents, con los bucles y las bifurcaciones definidos en el código en lugar del contexto.
¿Cuánto cuestan los bucles de agentes?
La respuesta honesta va «de cero a la ruina», y la variable es el diseño. Los monitores deterministas no cuestan nada: son scripts programados. El consumo de los bucles con modelos se mide por iteración: ponles límites (--max-iterations, --max-budget-usd), haz que los resultados sean observables para que el bucle pueda detenerse cuando disminuya el beneficio de seguir iterando y trata cada límite como una regla de parada, no como una molestia. Los análisis de fallas —miles de dólares en una noche, 4 millones de tokens en minutos— comparten una causa raíz: la ausencia de una condición de parada externa.
¿Cuándo debe convertirse un bucle en un grafo?
Cuando surgen dependencias entre trabajos paralelos: una tarea necesita la salida de otra, o dos agentes modificarían los mismos archivos. Los bucles gestionan un repositorio y un objetivo; los grafos (flujos de trabajo dinámicos, equipos de agentes, orquestadores externos) añaden orden de ejecución según las dependencias, reserva de archivos y disciplina de integración. Pasa a los grafos solo cuando aparezcan colisiones reales: la estructura adicional exige más trabajo de observabilidad y configuración.
Historial de cambios
| Fecha | Cambio | Fuente |
|---|---|---|
| 2026-10-28 | Se actualizó la versión de referencia de v2.1.234 a v2.1.312; las rutinas cambiaron de nombre, cambió la fuente de instalación de Ralph y se reescribió la escala de verificación. Las rutinas ahora son tareas programadas en la nube (“tareas programadas, antes rutinas”, en palabras de la documentación), y el nombre anterior se mantiene donde todavía lo usan la URL, el alias /routines y la API /fire; las ejecuciones se inician en modo automático salvo que no esté disponible; la cita sobre el estado de las ejecuciones, la rama predeterminada, los conectores predeterminados, los límites por hora y la regla de consentimiento del prompt activado provienen de la documentación actual. El plugin Ralph se llama ralph-loop en anthropics/claude-plugins-official desde el 6 de enero de 2026; desde el 26 de octubre de 2026, el marketplace de claude-code lo instala desde allí, y la nota 14 enlaza el nuevo README. /goal: tres veredictos, cuatro errores que lo borran, reintentos y pausas (v2.1.269), el calendario limitado de consultas de estado, el límite de que el evaluador solo lee la conversación y la condición de 4.000 caracteres. /loop: reglas de segundo plano y reanudación, loop.md y la comparación entre la nube, Desktop y /loop. Flujos de trabajo: los 16 agentes simultáneos pasan a ser un valor predeterminado (de 1 a 256), 4.096 elementos por llamada, ultracode, las reglas de reejecución al reanudar, /deep-research, las esperas por límite de uso y la advertencia Large workflow. Los equipos de agentes son “experimentales”; el plan de un compañero se aprueba automáticamente salvo que pases a modo de planificación a un compañero en proceso que ya está en ejecución, y entonces lo revisa el líder; TeammateIdle. Herramientas de tareas reescritas a partir de la referencia de herramientas: predeterminadas solo en Opus 4.7, Sonnet 4.6, Haiku 4.5 y modelos anteriores, y en todos los modelos en las sesiones en segundo plano y en la nube. La continuación automática al restablecerse un límite de uso se acota a las sesiones interactivas con suscripción; las sesiones en segundo plano y las ejecuciones con -p se detienen en el límite. La escala, la norma de evidencia y la tabla determinista/no determinista de la documentación de buenas prácticas reemplazan cinco citas que ya no están en la página. La mensajería entre sesiones llega a otras máquinas y a sesiones en la nube; notify_when_idle. Solo en el registro de cambios, para operadores: una sesión reanudada restaura un objetivo activo, y los turnos de un objetivo se ejecutan sin supervisión en modo automático (en modo Manual, Claude sigue preguntando antes de las llamadas a herramientas que tu configuración no permita ya); añade --output-format stream-json --verbose para seguir el progreso de un objetivo sin interfaz; detén un /loop de intervalo fijo pidiéndole a Claude que lo cancele (Esc solo detiene uno con ritmo autogestionado); una tarea recurrente puede empezar con un retraso de hasta la mitad del intervalo que falta para su siguiente ejecución, 30 minutos como máximo; una tarea programada en la nube sin conexión a GitHub omite ejecuciones durante hasta 72 horas y luego se desactiva; ~/.claude/workflows/ contiene flujos de trabajo para todos los proyectos; /verify hace que Claude compile y ejecute la aplicación y examine el resultado. Se verificó que no cambiaron: la cita de /goal sobre el modelo nuevo, los límites de cron, Monitor, ScheduleWakeup {stop: true}, el límite de 1.000 agentes, la sintaxis de /ralph-loop y la cita sobre el “principal mecanismo de seguridad”. |
9, 12, 14, 16, 17, 18, 19, 29, 36, 37, 38 |
| 2026-09-21 | Se agregó “Qué dice un estudio controlado sobre los componentes de un harness” a Disciplina de costos y seguridad: el estudio de ablación por componentes de Fan et al. (arXiv 2609.20804), con citas de sus cuatro hallazgos vinculados a los presupuestos para desbordamientos, la planificación como mecanismo para ajustar costos y la separación entre ejecución y modelo, junto con las salvedades del estudio. | 35 |
| 2026-08-18 | Se actualizó la versión de referencia de v2.1.224 a v2.1.234 y se incorporaron tres cambios relevantes para los bucles. v2.1.234: /goal se desactiva automáticamente con un aviso ante errores irrecuperables en un turno y revisa las tareas en segundo plano que mantienen un objetivo detenido durante 30 minutos o más (CLAUDE_CODE_GOAL_CHECKIN_MINUTES, 0 desactiva esta función); las sesiones se reanudan automáticamente cuando se restablece un límite de uso de claude.ai (opción en /config): el fallo documentado en esta guía, en el que el bucle nocturno se detenía al alcanzar el límite, ahora se mitiga con la autenticación mediante suscripción. v2.1.233: las herramientas de tareas están desactivadas de forma predeterminada en los modelos de generación actual (CLAUDE_CODE_ENABLE_TODO_TOOLS=1 las restablece); la documentación de equipos de agentes confirma que los agentes sin herramientas de tareas “se coordinan mediante mensajes en lugar de la lista de tareas compartida”: se agregó esta salvedad al patrón de equipos de agentes. Solo en el registro de cambios: v2.1.232 activa de forma predeterminada la bifurcación de subagents (subagent_type: "fork" hereda la conversación completa y la caché del prompt) y la mensajería entre sesiones mediante menciones con @. Se verificó que no cambiaron los límites de cron, la semántica de Monitor/ScheduleWakeup, --max-budget-usd ni las referencias a versiones anteriores. |
34 |
| 2026-08-08 | Se agregaron “Los dos primeros bucles que vale la pena construir” (bucle de control, mantenimiento) y la nota sobre la reserva temporal de sesiones a Operar una flota: experiencia práctica al poner en marcha la skill /gate de este sitio y el bucle pr-groundskeeper del nivel de acción (primera propuesta: PR #16). Superó una revisión específica antes de publicarse. | — |
| 2026-08-07 | Se creó la guía. Mecanismos de bucles actualizados a Claude Code v2.1.224 (versión preliminar de investigación de rutinas, flujos de trabajo dinámicos, equipos de agentes, plugin Ralph, mensajería entre sesiones y ejecutores autoalojados); citas de Cherny verificadas con transcripciones de fuentes primarias (Acquired, YC Startup School, Fortune, Platformer, Odd Lots, TechCrunch); atribución de “ingeniería de grafos” corregida para reconocer que el término surgió de la comunidad; doctrina de verificación elaborada a partir de ensayos de ingeniería de Anthropic (noviembre de 2025 – junio de 2026) y del análisis de convergencia de Li (agosto de 2026). | 1–33 |
-
Boris Cherny, conversación con el pódcast Acquired (“Acquired Unplugged”, con WorkOS), principios de junio de 2026 — video; las conclusiones oficiales de WorkOS (2 de junio de 2026) presentan el pasaje así: “Ahora ni siquiera le da instrucciones a Claude directamente. Escribe bucles: flujos de trabajo automatizados que le dan instrucciones a Claude y determinan qué construir después”. La cita utilizada aquí corresponde a la formulación del clip ampliamente difundido y de las recopilaciones de la época (por ejemplo, productmarketfit.tech, 8 de junio de 2026): considérala una transcripción ligeramente condensada del clip, no una transcripción oficial. Su variante del mismo argumento en CNBC, recogida por Business Insider (20 de junio de 2026): “Es un agente que le da instrucciones a Claude. Yo ya no escribo el prompt”. ↩↩
-
Russell Brandom, “El mundo de la IA está entrando en bucle”, TechCrunch, 22 de junio de 2026 — Cherny en Meta @Scale: “Hace dos años escribíamos código fuente a mano… Y ahora estamos llegando al punto en que los agentes les dan instrucciones a otros agentes que luego escriben el código”; “Por grande que haya sido el paso del código fuente a los agentes, los bucles son un paso igual de importante y de grande”; sus dos agentes siempre activos en segundo plano (mejora de la arquitectura y búsqueda de abstracciones duplicadas) que envían PR sin intervención humana. ↩↩
-
Boris Cherny con Diana Hu, “Construir Claude Code”, YC Startup School, publicado en julio de 2026 (texto de la copia de la transcripción completa) — “Un bucle es, en esencia, una tarea cron que se ejecuta localmente para Claude. Una rutina es lo mismo, pero se ejecuta en la nube”; las “20 o 30 de estas rutinas que se ejecutan en todas nuestras bases de código” de Anthropic; “La verificación es probablemente lo más importante que la gente no hace bien”; la instrucción de comparar Electron/Swift píxel por píxel. ↩↩↩↩
-
Casey Newton, entrevista con Boris Cherny, Platformer, 26 de mayo de 2026 — “Cada noche tengo cientos, a veces miles de agentes ejecutándose durante 5, 10, 20 horas”; “Desde hace más de seis meses, el 100% de Claude Code lo escribe Claude Code”. Véase también Bloomberg Odd Lots, 20 de julio de 2026: “Desde noviembre del año pasado, el 100% de mi código lo ha escrito Claude Code”. ↩↩
-
Delba de Oliveira y Michael Segner, “Ingeniería de bucles: primeros pasos con los bucles”, Anthropic, 30 de junio de 2026 — la definición, los cuatro tipos de bucles (basados en turnos, en objetivos, en tiempo y proactivos), “Los bucles que escriben código necesitan bucles que lo comprueben” y “La calidad del resultado de un bucle depende del sistema que lo rodea”. ↩
-
Turing Post, “¿Es real la ingeniería de grafos?”, FOD#159, 20 de julio de 2026 — rastrea el término “ingeniería de grafos” hasta la publicación de Peter Steinberger del 18 de julio y su difusión por Hamel Husain, sin atribuir ninguno de esos aportes a Cherny. La atribución de “el 85% de nuestros ingenieros” circula en publicaciones de terceros en X (finales de julio de 2026) sin enlaces a una fuente primaria; la falta de respaldo se determinó mediante la verificación propia de esta guía (agosto de 2026) con la conversación de YC Startup School, Bloomberg Odd Lots y el informe de TechCrunch sobre Meta @Scale. ↩
-
Anthropic, “Crear agentes con Claude Agent SDK”, 29 de septiembre de 2025 — el bucle canónico (“recopilar contexto → actuar → verificar el trabajo → repetir”) y las tres clases de verificación, de las que se considera mejor la retroalimentación basada en reglas. ↩↩
-
Anthropic, “Cómo funciona el bucle del agente”, documentación de Agent SDK — mecánica de los turnos, finalización del bucle ante una respuesta sin llamadas a herramientas,
maxTurns/maxBudgetUsd(“Establecer un presupuesto es una buena opción predeterminada para los agentes en producción”). ↩ -
Anthropic, documentación de
/goal, consultada el 28 de octubre de 2026: “Después de cada turno, un modelo comprueba si se cumple la condición”; “un modelo nuevo decide si se completó el trabajo, en lugar del modelo que lo realiza”; la mecánica del envoltorio de un hook Stop y los tres veredictos (aún no se cumple, se cumple, imposible); el evaluador “no ejecuta comandos ni lee archivos por su cuenta”; la condición de 4.000 caracteres y las cláusulas de turnos o de tiempo; los cuatro errores que borran un objetivo, los reintentos y las pausas (v2.1.269+) y el calendario de consultas de estado; ejecución sin interfaz medianteclaude -p. ↩↩↩↩↩↩↩↩↩ -
Anthropic, “Diseño de harness para el desarrollo de aplicaciones de larga duración”, 24 de marzo de 2026 — la tríada planificador–generador–evaluador, los reinicios de contexto con transferencias estructuradas y “Cada componente de un harness incorpora una suposición sobre lo que el modelo no puede hacer por sí solo, y vale la pena someter esas suposiciones a pruebas de estrés”. ↩
-
pardel.dev, “Bucles de Claude: del bucle while interno a los agentes que se ejecutan solos”, 11 de julio de 2026 — la taxonomía de anillos 0–5, cuatro salvaguardas (condiciones de salida verificables, permisos acotados, iteraciones idempotentes y medición de costos) y la observación de que una transcripción expresada con seguridad puede “convencer” al modelo que evalúa la condición de
/goal. ↩↩↩ -
Anthropic, documentación de tareas programadas, consultada el 28 de octubre de 2026: modos de
/loop, el rango de ritmo autogestionado de un minuto a una hora,loop.md, límites deCronCreate/CronList/CronDelete, la herramienta Monitor, finalización a su propio ritmo medianteScheduleWakeup {stop: true}, “Las tareas solo se activan mientras Claude Code está en ejecución e inactivo”, las reglas de segundo plano y reanudación, y la tabla comparativa entre la nube, Desktop y/loop. ↩↩↩↩↩↩↩↩ -
Boris Cherny, publicación en X que anuncia
/loop, 7 de marzo de 2026. ↩ -
Anthropic, README del plugin ralph-loop, consultado el 28 de octubre de 2026: mecánica del hook Stop,
--max-iterationscomo “tu principal mecanismo de seguridad”, reconocimiento a Huntley y uso acotado a tareas con mucha verificación. El cambio de nombre es el commit 44328beed4 de claude-plugins-official, “Rename ralph-wiggum plugin to ralph-loop per legal guidance (#142)” (6 de enero de 2026). El repositorioclaude-codeconservó una copia deralph-wiggumhasta el commit 10a5141d, “Install marketplace plugins from claude-plugins-official” (26 de octubre de 2026): “ralph-wiggum pasa a llamarse ralph-loop, su nombre en el repositorio oficial”, y el marketplace “ahora los instala desde ese repositorio, de modo que los identificadores de plugin existentes siguen funcionando”. La ruta anterior del README enanthropics/claude-codeahora devuelve 404. ↩↩↩ -
Thariq Shihipar y Sid Bidasaria, “Un harness para cada tarea: flujos de trabajo dinámicos en Claude Code”, Anthropic, 2 de junio de 2026 — “Claude ahora puede escribir su propio harness sobre la marcha”; dividir/sintetizar, verificación adversarial y torneos. La publicación de lanzamiento menciona la reescritura de Bun y enlaza el hilo de Jarred Sumner en X sin dar cifras; las cifras que aparecen aquí —535.496 líneas de Zig migradas del 3 al 14 de mayo de 2026 por 64 agentes en paralelo, que produjeron una base de código en Rust de más de un millón de líneas— corresponden al relato de Sumner según The Register (14 de mayo de 2026). Las afirmaciones sobre pruebas superadas varían entre relatos (del 99,8% al 100%), por lo que esta guía no indica ninguna. ↩↩↩
-
Anthropic, documentación de flujos de trabajo dinámicos, consultada el 28 de octubre de 2026: “Un flujo de trabajo lleva el plan al código”; “El propio script del flujo de trabajo contiene el bucle, las bifurcaciones y los resultados intermedios, de modo que el contexto de Claude solo contiene la respuesta final”; la API de
agent()/pipeline()/parallel();ultracode; la tabla de límites (16 agentes simultáneos de forma predeterminada, 4.096 elementos por llamada, 1.000 por ejecución); flujos de trabajo guardados como comandos con barra diagonal; qué agentes se vuelven a ejecutar al reanudar; el flujo de trabajo integrado/deep-research; las esperas por límite de uso (v2.1.271+,autoContinueAtUsageLimit); la advertenciaLarge workflowy la pauta de tamaño; los prompts deagent()como “texto que calculó el script” en modo automático. ↩↩↩↩↩↩↩↩↩↩↩ -
Anthropic, documentación de equipos de agentes, consultada el 28 de octubre de 2026: “Los equipos de agentes son experimentales y están desactivados de forma predeterminada”; comunicación entre pares; lista de tareas compartida con dependencias y reserva de archivos; planes aprobados automáticamente salvo que pases a modo de planificación con
Shift+Taba un compañero en proceso que ya está en ejecución, en cuyo caso los revisa el líder; los hooksTaskCreated,TaskCompletedyTeammateIdle; los subagents con nombre que se inician como compañeros; los mensajes de los compañeros, que nunca cuentan como consentimiento. El lanzamiento es la entrada del registro de cambios de v2.1.32 (5 de febrero de 2026): “Se añadió la función de equipos de agentes como versión preliminar de investigación para la colaboración entre varios agentes”. ↩↩↩↩↩↩ -
Anthropic, “Automatizar el trabajo con tareas programadas” (tareas programadas en la nube, antes rutinas; la URL conserva el nombre anterior), consultada el 28 de octubre de 2026: la definición, los activadores (incluidas las ejecuciones únicas), las ejecuciones en modo automático y cuándo se detienen a esperar, el envoltorio
<routine-fire-payload>y la regla de consentimiento del prompt activado, las ramasclaude/, los conectores incluidos de forma predeterminada, los límites por hora, dónde sigue apareciendo el nombre anterior y “Estos resultados indican cómo terminó la sesión, no si Claude completó el trabajo que describe tu prompt, así que abre la ejecución y lee su transcripción para ver qué pasó”. ↩↩↩↩↩↩↩↩ -
Anthropic, documentación de mensajería entre sesiones, v2.1.224, consultada el 28 de octubre de 2026:
ListAgents/SendMessage, sockets de bandeja de entrada en la misma máquina, sesiones en otras máquinas (v2.1.225+) y en la nube mediante Remote Control,notify_when_idley la doctrina del consentimiento. ↩↩↩↩ -
Anthropic, guía de inicio rápido de entornos autoalojados, beta pública —
claude self-hosted-runner, enrutamiento de rutinas y modelo de despliegue del orquestador. ↩ -
Geoffrey Huntley, “Ralph Wiggum como ‘ingeniero de software’”, 14 de julio de 2025, y “todo es un bucle Ralph”, 17 de enero de 2026 — el patrón, las afirmaciones y los límites declarados (solo proyectos desde cero y la habilidad del operador como reflejo). ↩
-
Anthropic, “Harness eficaces para agentes de larga duración”, 26 de noviembre de 2025 — inicializador + agentes de programación con contexto nuevo que trabajan a partir de archivos de progreso (“la compactación no es suficiente”) y la regla de integridad de las pruebas. ↩↩
-
Nicholas Carlini, “Crear un compilador de C con un equipo de Claude en paralelo”, Anthropic, 5 de febrero de 2026 — dieciséis agentes; “Construí un harness que mete a Claude en un bucle sencillo”; bloqueos de tareas basados en archivos; el requisito de un verificador casi perfecto; ~100.000 líneas / ~2.000 sesiones / ~$20.000. ↩↩
-
Eva Khmelinskaya, “Ejecutar Claude Code de forma autónoma durante la noche”, 18 de mayo de 2026 — fallos nocturnos (agotamiento del contexto, compactación repetitiva y pérdida de reglas) y sus soluciones (redirección de salida, transferencias mediante STATUS.md y sesiones nuevas por fases con
/goaly presupuestos para cada fase); Travis Sparks, “Todos están usando mal los bucles Ralph”, 4 de febrero de 2026 — doctrina del contexto nuevo frente a los bucles dentro de una sesión, desviación tras ~100.000 tokens. ↩ -
Sean K, “Por accidente hice que Claude se hiciera la misma pregunta 1.966 veces”, dev.to, 3 de enero de 2026. ↩
-
xr0am, “Lo que les falta a los bucles Ralph Wiggum”, 24 de enero de 2026 — las colisiones de dependencias como señal para pasar al siguiente nivel; Yash Thakker, “Grafos frente a bucles”, explainx.ai, 21 de julio de 2026 — los cuatro significados que se confunden en el debate y el consenso que se va consolidando. ↩
-
Steve Yegge, “Bienvenidos a Gas Town”, 1 de enero de 2026 — el plano de control de 20–30 instancias, los DAG de beads respaldados por git, la producción declarada y las salvedades reconocidas por el propio autor. ↩
-
Boris Cherny, “Etapas de adopción de la IA”, publicado a través de Anthropic, 16 de julio de 2026 — la escala de cinco etapas y “en cada etapa… encontrar y eliminar el siguiente conjunto de cuellos de botella y desarrollar el siguiente conjunto de salvaguardas”. ↩
-
Anthropic, buenas prácticas para Claude Code, consultada el 28 de octubre de 2026: “Dale a Claude algo que pueda ejecutar y que devuelva un resultado de aprobación o fallo”; la escala de cuatro peldaños (prompt,
/goal, hook Stop,/code-review); “pídele a Claude evidencia”; la tabla de instrucciones deterministas y no deterministas; el límite de ocho bloqueos del hook Stop yCLAUDE_CODE_STOP_HOOK_BLOCK_CAP; el antipatrón “sigue adelante, repite hasta terminar”. ↩↩↩↩↩↩↩ -
Yoko Li, “Saber cuándo detenerse: el arte de hacer converger un bucle”, 6 de agosto de 2026 — las cuatro condiciones de convergencia, el experimento en el que se desperdició el 67% de los tokens, la explotación de vacíos en la especificación y la falta de atención a los costos. ↩
-
Anthropic, “Desmitificar las evaluaciones de agentes de IA”, 9 de enero de 2026 — selección de evaluadores, evaluación del resultado y no del camino seguido, pass@k frente a pass^k y lectura de transcripciones como método de calibración. ↩
-
techtrenches.dev, “La máquina tragamonedas que programa” (4 millones de tokens en cinco minutos); The Register, 5 de enero de 2026, sobre los límites de uso; análisis retrospectivos de la comunidad recopilados en dev.to y HN, enero de 2026. ↩
-
Síntesis de la recepción de la comunidad: hilos de HN sobre Gas Town (publicación 46458936) y herramientas de Ralph (publicación 46750937): objeciones sobre la capacidad de revisión y la mantenibilidad (“Montañas de código que nadie entiende”); publicación de Steinberger de junio de 2026 sobre “diseñar bucles que les den instrucciones a tus agentes” (5,2 millones de visualizaciones, ~61% de respuestas negativas según el análisis de explainx.ai). ↩↩
-
Notas de las versiones Claude Code v2.1.233 (14 de agosto) y v2.1.234 (17 de agosto), junto con la documentación de equipos de agentes. Cita textual de v2.1.234: “
/goalahora se desactiva automáticamente con un aviso cuando un turno termina por un error irrecuperable (por ejemplo, autenticación revocada, saldo de créditos agotado o desbordamiento del contexto), en lugar de permanecer activo”; “cuando las tareas en segundo plano mantienen un objetivo en espera durante 30 minutos o más, Claude ahora las revisa en lugar de esperar indefinidamente (estableceCLAUDE_CODE_GOAL_CHECKIN_MINUTES=0para desactivar esta función)”; “Claude Code ahora reanuda tu sesión automáticamente cuando se restablece un límite de uso de claude.ai; desactívalo en/config”. Cita textual de v2.1.233: “Las herramientas de pendientes y seguimiento de tareas (TaskCreate/Get/Update/List, TodoWrite) ya no están disponibles en Opus 4.8, Sonnet 5, Fable 5, Mythos 5 ni en modelos posteriores; estableceCLAUDE_CODE_ENABLE_TODO_TOOLS=1para restablecerlas”. Cita textual de la documentación de equipos de agentes: “Los agentes sin las herramientas Task se coordinan mediante mensajes en lugar de la lista de tareas compartida”. Todas las fuentes se consultaron el 18 de agosto de 2026. Desde entonces, la página actual de/goalamplió ambos comportamientos de/goal(cuatro errores que borran el objetivo, un calendario limitado de consultas de estado y0, que ahora desactiva las consultas de estado y los reintentos automáticos; véase 9), y la página de flujos de trabajo nombra la configuración del límite de usoautoContinueAtUsageLimit(véase 16). ↩↩↩↩ -
Run-Ze Fan, Zihao Zhang, Simin Ma, Yebowen Hu, Shouju Wang, Kaiqiang Song, Fei Liu, Hamed Zamani y Xiaoyang Wang, “Un estudio empírico del diseño de harness para agentes de programación”, arXiv:2609.20804, presentado el 17 de septiembre de 2026 (UMass Amherst, Emory University, UNC Charlotte; trabajo realizado durante pasantías en Zoom Video Communications). Se citó el resumen; las estrategias y configuraciones provienen de las secciones 2.3 y 3.1. Modelos: Nemotron-3 30B, 120B y 550B y Mistral-Medium-3.5-128B. Estrategias: T0 (sin gestión del contexto), T1 (elisión), T2 (elisión y recuperación), T3 (resumen), T4 (las tres), con presupuestos de 32k, 64k, 96k y 128k; se realizaron ablaciones de la planificación y del espacio de acciones a 128k con T4; 22 configuraciones por cada par de modelo y prueba de referencia. La discusión en Hacker News tenía 224 puntos y 59 comentarios al 21 de septiembre de 2026. ↩↩↩
-
Anthropic, registro de cambios de Claude Code, consultado el 28 de octubre de 2026. v2.1.286 (30 de septiembre): “Se corrigió que las ejecuciones de rutinas cuya sesión en la nube nunca se inició aparecieran como Succeeded en el panel Runs, en la página de la rutina y en la barra lateral; ahora aparecen como Failed”. v2.1.299 (14 de octubre): “Se corrigió que un mod que envía un prompt al final de cada turno mantuviera en marcha una ejecución sin interfaz después de
--max-turns,--max-budget-usd, una interrupción o el final de la conversación del host”. v2.1.302 (16 de octubre): “Se corrigió que las ejecuciones de rutinas aparecieran como Completed después de que su sesión en la nube se detuviera inesperadamente, y como Cancelled cuando se archivaban antes de iniciarse, en lugar de como fallidas” y “Se corrigió que una ejecución programada de una rutina que falló a mitad de camino se volviera a ejecutar desde el principio una hora o más después, lo que podía repetir trabajo, como publicar el mismo informe dos veces”. Versión más reciente al momento de la consulta: v2.1.312 (27 de octubre de 2026). v2.1.236: “Se añadiónotify_when_idleaSendMessageentre sesiones: pide a otra sesión de Claude Code en esta máquina que envíe un único aviso cuando vuelva a quedar inactiva” (citado hasta la cláusula anterior al guion de la entrada). ↩↩↩↩↩ -
Anthropic, documentación del modo interactivo, “Esperar a que se restablezca un límite de uso”, consultada el 28 de octubre de 2026: “La continuación automática está activada de forma predeterminada en las sesiones interactivas iniciadas con una suscripción de claude.ai. Requiere Claude Code v2.1.234 o posterior.”; la espera termina cuando “Sales de Claude Code”; no se inicia por su cuenta ante “Un restablecimiento a más de 24 horas”; no se ofrece en “Las sesiones en segundo plano y las ejecuciones con
-p”; y la opción de/config, Continue automatically at usage limit, con la configuraciónautoContinueAtUsageLimit. ↩↩↩ -
Anthropic, referencia de herramientas, “Disponibilidad de la herramienta Task”, consultada el 28 de octubre de 2026: las herramientas están “disponibles de forma predeterminada solo en Opus 4.7, Sonnet 4.6, Haiku 4.5 y modelos anteriores”; las vías para activarlas (
CLAUDE_CODE_ENABLE_TODO_TOOLS=1,--allowedTools,--tools); “En las sesiones en segundo plano y en las sesiones en la nube, Claude Code proporciona las mismas herramientas en todos los modelos, estén o no en la lista.”; “El conjunto predeterminado descrito aquí se aplica en Claude Code v2.1.268 y posteriores.”; y la víaclaude --settingspara los compañeros de panel dividido. ↩↩↩↩