Los agentes autónomos no se construyen con un único bucle, sino con tres bucles entrelazados que el artículo desgrana de forma didáctica. El primero es el bucle de inferencia: el sistema envía al modelo de lenguaje (LLM) un historial de mensajes y herramientas disponibles a través del endpoint de chat completion, recibe la respuesta, la añade al historial y repite el ciclo hasta que el modelo deja de invocar herramientas. Dado que las API de proveedores como Anthropic, OpenAI u OpenRouter son stateless, el desarrollador debe reenviar toda la conversación cada vez y gestionar la persistencia del historial (en memoria, base de datos o Redis).
El segundo es el bucle de herramientas: los LLMs son cerebros aislados, así que su valor funcional nace de las herramientas que se les conceden. El modelo puede inferir en un mismo turno el uso de varias herramientas, por lo que el código debe localizar la función solicitada, ejecutarla con los parámetros devueltos por el modelo y devolver el resultado con su tool_call_id. El autor advierte de que los nombres y parámetros de las herramientas son texto inferido y, por tanto, susceptibles de alucinaciones, por lo que conviene tratarlos con manejo defensivo (herramienta no encontrada) y, en proveedores sin códigos de error propios, codificar los fallos en el propio contenido del resultado.
El tercero es el bucle humano, descrito como una llamada bloqueante externa al programa: un aprobador (una persona o un servicio) decide si concede la ejecución de la herramienta o la redirige con instrucciones. El texto reconoce que es la pieza más difícil de implementar, porque ningún hilo puede quedar bloqueado durante horas sin contemplar reinicios del servidor ni la concurrencia de miles de peticiones. Sirve, en resumen, para entender la arquitectura mínima de un agente y dónde aplicar controles de seguridad.
