Bucle del agente
El bucle del agente es el ciclo de ejecucion central que impulsa cada sesion del agente PRX. Cada iteracion procesa una respuesta LLM, despacha llamadas a herramientas, gestiona la memoria y decide si continuar o retornar una respuesta final.
Ciclo de vida del bucle
User Message
│
▼
┌─────────────┐
│ Build Context│──── Memory Recall
└──────┬──────┘
▼
┌─────────────┐
│ LLM Inference│──── Streaming Response
└──────┬──────┘
▼
┌─────────────┐
│ Parse Output │──── Tool Calls / Text
└──────┬──────┘
▼
Tool Calls?
├── Yes ──→ Execute Tools ──→ Loop Again
└── No ──→ Return ResponseDespacho de herramientas
Cuando la respuesta LLM contiene llamadas a herramientas, el bucle:
- Valida cada llamada a herramienta contra la politica de seguridad
- Ejecuta las llamadas aprobadas (potencialmente en paralelo)
- Recopila los resultados y los retroalimenta al LLM
- Continua el bucle para el siguiente paso de inferencia
Streaming
PRX transmite las respuestas LLM token por token al cliente mientras simultaneamente almacena en buffer para la deteccion de llamadas a herramientas. El pipeline de streaming soporta:
- Reenvio de tokens en tiempo real a clientes CLI o WebSocket
- Manejo de contrapresion cuando el cliente es lento
- Cancelacion ordenada via Ctrl+C o senales de API
Recuperacion de memoria
Antes de cada llamada LLM, el bucle recupera contexto relevante del sistema de memoria:
- Turnos de conversacion recientes (ventana deslizante)
- Resultados de busqueda semantica del almacen de embeddings
- Hechos fijados y preferencias del usuario
Compactacion de contexto
Cuando la conversacion excede la ventana de contexto del modelo, el bucle activa la compactacion:
- Resumir turnos mas antiguos en una representacion condensada
- Preservar resultados de llamadas a herramientas que aun estan referenciados
- Mantener el prompt del sistema y las memorias fijadas intactos
Configuracion
toml
[agent.loop]
max_iterations = 50
parallel_tool_calls = true
compaction_threshold_tokens = 80000
compaction_strategy = "summarize" # o "truncate"Paginas relacionadas
- Runtime del agente -- Vision general de la arquitectura
- Sub-agentes -- Creacion de agentes hijos
- Sistema de memoria -- Backends de memoria y recuperacion