Identidad & Ciclo De Vida Del Agente
El entorno de ejecución de agentes (agent runtime) se encarga de gestionar las identidades y el ciclo de vida de los agentes.
⚠️ La aplicación no crea directamente instancias de agentes. En su lugar, registra un tipo de agente junto con una función fábrica encargada de producir instancias de ese agente.
En esta sección se explica cómo los agentes son identificados y creados por el entorno de ejecución.
Identificador del Agente (Agent ID)
El Agent ID identifica de forma única una instancia de agente dentro del entorno de ejecución, incluyendo entornos distribuidos. Es como la “dirección” del agente a la que se envían mensajes.
📌 Un Agent ID tiene dos componentes:
Tipo de agente (Agent Type)
Clave del agente (Agent Key)
💡 Fórmula del Agent ID:
Agent ID = (Agent Type, Agent Key)
El tipo de agente no es la clase del agente. Es una etiqueta que se asocia a una función fábrica específica. Esta función puede crear múltiples instancias del mismo tipo de agente (incluso con parámetros diferentes).
La clave del agente (agent key) identifica de forma única una instancia de un tipo de agente.
✅ Los IDs de agentes se pueden convertir a cadenas de texto y viceversa. El formato string es:
💡 Formato:
Agent_Type/Agent_Key
✅ Tipos y claves son válidos solo si contienen letras alfanuméricas (a-z, 0-9) o guiones bajos (_
).
No pueden empezar por un número ni contener espacios.
Ejemplo
Supongamos que el runtime ha registrado un tipo de agente llamado "code_reviewer"
asociado a una función fábrica que crea agentes revisores de código.
Cada solicitud de revisión de código tiene un review_request_id
único.
Entonces, cada revisión puede ser atendida por una instancia distinta con un Agent ID como:
Ciclo de Vida del Agente
Cuando el entorno de ejecución debe entregar un mensaje a una instancia de agente mediante su ID, realiza una de las siguientes acciones:
Recupera la instancia si ya existe
Crea una nueva instancia si no existe aún
📦 Además, el runtime también es responsable de “cargar” o “descargar” agentes de memoria para optimizar recursos y balancear la carga en múltiples máquinas (aunque esta funcionalidad aún no está implementada).
Última actualización