Tratamos cada agente como una configuración ensamblada y revisable, no como un prompt gigante. Su identidad, sus reglas, la información disponible y las operaciones que puede solicitar se definen como piezas distintas. El runtime reúne esas piezas para cada interacción y el modelo razona únicamente con la composición resultante.
Las capas de configuración
Las capas no forman una pila rígida. Se combinan alrededor del agente: unas definen su comportamiento, otras aportan información para la solicitud actual y las herramientas delimitan qué efectos externos puede producir.
Identidad y contrato de función
Define a quién sirve, el objetivo operativo, la audiencia, el tono, el alcance y las condiciones para detenerse o escalar.
Instrucciones persistentes
Contienen prioridades, reglas estables, procedimientos y criterios de calidad que se aplican a todas las sesiones del agente.
Políticas condicionales
Se incorporan cuando una etapa, evento o capacidad concreta las necesita, evitando cargar reglas irrelevantes en toda interacción.
Sesión y contexto
La sesión mantiene la continuidad de una conversación o tarea; su contexto reúne el evento actual, la identidad verificada y los antecedentes seleccionados para decidir.
Memoria y estado
La memoria conserva información útil entre sesiones; el estado estructurado representa tareas, relaciones o flujos que deben cumplir reglas precisas.
Contrato de herramientas
Cada herramienta define operaciones, esquema de entrada, resultados, errores, permisos y, cuando corresponde, aprobación previa.
Modelo, sesión y memoria no son lo mismo
Modelo
Es el componente que interpreta lenguaje, relaciona la información disponible y propone una respuesta o el siguiente paso. En cada turno recibe el contexto que el runtime construyó para esa solicitud. No conserva por sí mismo la continuidad del agente ni obtiene permisos por decidir usar una herramienta.
Sesión
Es el contenedor temporal que agrupa interacciones relacionadas: por ejemplo, un hilo de Slack o una conversación activa con un usuario. Permite recuperar los mensajes recientes, correlacionar respuestas y mantener el estado inmediato de la tarea sin convertir cada intercambio en memoria permanente.
Memoria
Es información seleccionada para seguir siendo útil en sesiones futuras, como una preferencia operativa o un antecedente relevante. No equivale a guardar toda la conversación. Cuando un dato exige validación, relaciones o transiciones estrictas —por ejemplo, una revisión de inventario pendiente— se conserva como estado estructurado.
En una interacción típica, el runtime abre o recupera la sesión, selecciona las instrucciones y la memoria pertinentes, construye el contexto y lo entrega al modelo. El resultado puede ser una respuesta, una solicitud de herramienta o una escalación. Solo la información que cumple las reglas de persistencia vuelve a la memoria o al estado estructurado.
Ejemplo ilustrativo: agente de inventario
Un agente de inventario puede estar definido como asistente para equipos de tienda, con una política que permite consultar existencias pero exige autorización antes de confirmar movimientos. Cuando una persona pregunta por un SKU, la sesión identifica al usuario, la tienda y la conversación activa; el contexto incorpora la consulta actual y los antecedentes necesarios; el modelo interpreta la intención; y la herramienta consulta existencias usando una operación de lectura habilitada. Si en lugar de consultar se solicita mover unidades, la misma composición conduce a una aprobación, no a una escritura automática.
Separación fundamental: el modelo propone dentro del contexto disponible; la plataforma determina identidad, herramientas, permisos y aprobaciones.