Memoria persistente para agentes con Microsoft Agent Framework y Azure Cosmos DB

Agente de inteligencia artificial conectado a una memoria persistente en la nube mediante Azure Cosmos DB

Microsoft presentó una integración en versión preliminar que permite incorporar memoria persistente a los agentes creados con Microsoft Agent Framework, utilizando Azure Cosmos DB como almacenamiento y motor de recuperación.

¿Qué cambia para los agentes?

En una interacción convencional, el contexto suele limitarse a la conversación actual. Con el nuevo paquete de Python agent-framework-azure-cosmos-memory, un agente puede conservar información relevante y recuperarla en sesiones posteriores, siempre que la memoria esté asociada a un identificador estable de usuario.

El componente CosmosMemoryContextProvider participa automáticamente en el ciclo de ejecución:

  • Antes de responder, recupera memorias relacionadas con la nueva solicitud.
  • Después de responder, almacena los turnos recientes y procesa información que puede resultar útil más adelante.
  • Azure Cosmos DB admite recuperación vectorial, de texto completo e híbrida desde la misma base de datos.

Información que puede conservar

Según Microsoft, la integración puede trabajar con hechos, memorias procedimentales y episódicas, resúmenes de conversaciones y perfiles derivados del usuario. Además, permite personalizar el criterio de extracción mediante plantillas Prompty para adaptar qué información merece conservarse en cada dominio.

Arquitectura general

Microsoft Agent Framework administra el ciclo del agente y ejecuta el proveedor de contexto. El Agent Memory Toolkit se ocupa del modelo de almacenamiento y del procesamiento de la memoria, mientras Azure Cosmos DB for NoSQL conserva los turnos y las memorias derivadas. Microsoft Foundry proporciona los modelos utilizados para conversación, extracción y embeddings.

El enfoque evita tener que incorporar un almacén vectorial independiente, aunque sigue requiriendo diseñar cuidadosamente la identidad, la seguridad y el gobierno de los datos.

Prerrequisitos principales

  • Una cuenta de Azure Cosmos DB for NoSQL.
  • Un proyecto de Microsoft Foundry con modelos de conversación y embeddings desplegados.
  • Python y los paquetes preliminares de Agent Framework.
  • Una identidad con los permisos necesarios sobre Cosmos DB y Foundry.

Los ejemplos oficiales utilizan DefaultAzureCredential, que permite trabajar con az login durante el desarrollo y con identidad administrada en Azure, sin almacenar claves directamente en el código.

Valor y escenarios posibles

Este patrón puede resultar útil para asistentes de soporte, conocimiento, diagnóstico o atención técnica que necesiten continuidad entre conversaciones. También reduce la necesidad de reenviar historiales completos al modelo y permite reutilizar una misma capa de memoria en distintos tipos de agentes.

Riesgos que deben evaluarse

  • La memoria puede contener datos personales, conversaciones o información confidencial.
  • El identificador del usuario debe derivarse de una identidad autenticada y no aceptarse libremente desde el cliente.
  • Se necesitan reglas de retención, eliminación, consentimiento y aislamiento.
  • Los recuerdos generados pueden ser incompletos o incorrectos.
  • Una conversación maliciosa podría intentar contaminar la memoria persistente.

Microsoft señala que el perfil recuperado se inyecta como información de usuario no confiable, no como una instrucción del sistema. Es una protección relevante, pero no sustituye las pruebas de seguridad y aislamiento.

Recomendación

La capacidad merece una prueba controlada en un agente no productivo. Conviene validar continuidad entre sesiones, separación entre usuarios, calidad de la memoria, latencia, consumo y mecanismos de eliminación antes de convertirla en un componente común.

Importante: el paquete está disponible únicamente para Python y continúa en versión preliminar. Sus APIs pueden cambiar antes de alcanzar disponibilidad general.

Fuentes oficiales

Scroll al inicio