Bucles de agente infinitos: detectar rutas de realimentación no acotadas
Un estudio de julio de 2026 define los bucles de agente infinitos y escanea 6.549 repositorios, confirmando 68 rutas de realimentación no acotadas que pueden provocar agotamiento de costes, denegación de servicio y crecimiento descontrolado del contexto.
¿Qué es esto?
Los agentes LLM modernos funcionan mediante bucles: planifican, llaman a un modelo, invocan una herramienta, leen el resultado, actualizan su estado y deciden el siguiente paso, repitiendo hasta completar la tarea. Un artículo publicado en arXiv el 2 de julio de 2026, When Agents Do Not Stop: Uncovering Infinite Agentic Loops in LLM Agents (2607.01641), da nombre al fallo que se produce cuando ese bucle no termina nunca: un bucle de agente infinito (Infinite Agentic Loop, IAL).
Un IAL no es un simple while(true) de programación. Surge de la interacción entre la lógica del agente, la semántica del framework, las observaciones en tiempo de ejecución y los mecanismos de terminación. Una única petición de usuario puede amplificarse en una serie no acotada de llamadas al modelo, invocaciones de herramientas, transiciones de flujo o traspasos entre agentes, provocando, en palabras de los autores, agotamiento de costes, denegación de servicio del modelo, crecimiento del contexto y efectos secundarios externos repetidos. La contribución del artículo es defensiva: una definición de esta clase de fallo, más un analizador estático, IAL-Scan, que detecta estos bucles en el código antes del despliegue.
Para medir la magnitud del problema, los autores ejecutaron IAL-Scan sobre 6.549 repositorios de agentes reales. La herramienta señaló 74 candidatos, de los cuales una revisión manual confirmó 68 fallos IAL reales repartidos en 47 proyectos, con una precisión declarada del 91,9 %.
Cómo funciona
La conclusión incómoda es que la mayoría de los frameworks afectados ya incorporan mecanismos de control de bucle —max_iterations de LangChain, el límite de recursión de LangGraph, el tope de turnos máximo del OpenAI Agents SDK, max_iter de CrewAI— y los IAL ocurren igualmente. Según el artículo, los desarrolladores omiten estos límites, los usan mal, los configuran con valores ineficaces o los colocan fuera de la ruta de realimentación real, de modo que nunca se disparan. Peor aún, algunas condiciones de terminación son semánticamente frágiles: que el bucle continúe lo decide en última instancia la salida del modelo, las observaciones de las herramientas, el estado externo, las excepciones o las decisiones de delegación, nada de lo cual un contador fijo restringe de forma fiable.
Detectar esto de forma estática es difícil por tres razones que el artículo señala. El comportamiento del agente se expresa a través de interfaces del framework en lugar de llamadas directas a nivel de código fuente, por lo que el mismo concepto de «llamar al modelo» o «despachar una herramienta» se oculta tras API distintas. Un único bucle puede atravesar muchos elementos de programa y de framework —predicados de enrutamiento, gestores de reintento, actualizaciones de mensajes, traspasos entre agentes—, de modo que la ruta de realimentación debe reconstruirse a través del código envoltorio y la lógica del framework. Y la verdadera pregunta no es «¿existe un límite?» sino «¿una cota efectiva cubre la ruta repetida?», ya que los bucles son normales y a menudo legítimos en los agentes.
IAL-Scan responde a esto elevando código de agente heterogéneo a una Agent IR independiente del framework, construyendo un Agentic Loop Dependence Graph (ALDG) que recupera tanto los bucles explícitos como las rutas de realimentación inducidas por el framework, y comprobando después si una ruta alcanzable puede llegar repetidamente a operaciones costosas o que hacen crecer el estado sin una cota que la cubra realmente. La herramienta admite ocho frameworks de agentes de uso mayoritario. No se publica ningún exploit ni payload de ataque: se trata de un estudio de medición y un detector, la misma postura de «cartografiar la superficie de fallo» que en el análisis por grafo de dependencias de agentes, y distinta del envenenamiento de terminación adversario, donde un atacante impide deliberadamente que un agente se detenga.
Por qué importa
Un bucle no acotado es un problema de denegación de servicio y de coste que no necesita un atacante para dispararse: basta con una tarea malformada, una herramienta inestable o un modelo que «vuelve a intentarlo» sin fin. En un despliegue facturado por uso, eso se traduce directamente en facturas de API y tiempo de GPU descontrolados; en un servicio multiinquilino, puede dejar sin recursos a los demás usuarios. Los 47 proyectos confirmados muestran que se trata de una propiedad estructural de cómo se construyen los agentes hoy, y no de un puñado de repositorios con errores.
El ángulo de seguridad se agrava en cuanto el bucle tiene efectos secundarios. Una ruta de realimentación que vuelve a llamar sin cesar a una herramienta externa puede enviar el mismo correo, abrir el mismo ticket o golpear el mismo endpoint de pago cientos de veces; un contexto que crece sin cota acaba degradando el propio razonamiento del modelo. Esta clase de fallo encaja exactamente con OWASP LLM10:2025, Unbounded Consumption, ampliada desde la antigua entrada «Model Denial of Service» precisamente para cubrir la expansión recursiva del contexto y los costes descontrolados, y agrava los riesgos de agotamiento de recursos ya documentados en el drenaje de tokens por cadena de herramientas y la denegación de servicio por razonamiento de guardarraíl.
Defensas
Trate toda ruta de realimentación de un agente como algo que debe estar acotado de forma demostrable, y ponga la cota sobre la ruta, no al lado.
No confíe en que el límite por defecto de un framework baste. Compruebe que max_iterations, los límites de recursión o los topes de turnos están definidos, con valores efectivos, y que se sitúan dentro del bucle que deben restringir en lugar de alrededor de un envoltorio externo que nunca reentra. Acote más que el número de iteraciones: imponga presupuestos globales sobre el acumulado de tokens, el tiempo de reloj, las llamadas a herramientas y el gasto total por petición, y active un cortacircuitos en cuanto se supere cualquiera de ellos. Considere no fiable la continuación gobernada por el modelo: si la repetición del bucle depende de la salida del modelo, del resultado de una herramienta o de una decisión de delegación, añada una condición de parada externa independiente en lugar de confiar en que el agente decida detenerse. Haga que las acciones externas repetidas sean idempotentes o deduplicadas, para que un bucle que se dispare dos veces no duplique ni el cargo ni el envío. Instrumente para detectar la firma en tiempo de ejecución: llamadas a herramientas sucesivas casi idénticas, un contexto que crece de forma monótona y un contador de iteraciones que tiende al techo son señales tempranas. Por último, ejecute en CI un análisis estático como el que demuestra este artículo, buscando específicamente rutas de realimentación que alcancen operaciones costosas sin cobertura de cota efectiva, la misma disciplina de «shift-left» propugnada en todo el ciclo de vida de la seguridad de los agentes.
Estado
| Elemento | Detalle |
|---|---|
| Divulgación | Preprint arXiv 2607.01641, 2 de julio de 2026 (estudio de medición + detector) |
| Naturaleza | Bucles de agente infinitos — rutas de realimentación no acotadas que provocan agotamiento de costes, denegación de servicio del modelo, crecimiento del contexto y efectos secundarios repetidos |
| Detector | IAL-Scan — Agent IR independiente del framework + Agentic Loop Dependence Graph (ALDG) + verificación de cobertura de cota; 8 frameworks admitidos |
| Escala | 6.549 repositorios de agentes reales escaneados; 74 candidatos, 68 fallos IAL confirmados en 47 proyectos; 91,9 % de precisión |
| Afectados | Agentes construidos sobre LangChain, LangGraph, CrewAI, OpenAI Agents SDK y frameworks iterativos similares |
| Clase | OWASP LLM10:2025 — Unbounded Consumption |
Estos resultados reflejan el estudio citado. Un analizador estático señala rutas no acotadas factibles, no caídas confirmadas en producción; valide los bucles señalados frente a su propio despliegue y sus cotas configuradas antes de concluir sobre un agente concreto.