El banco de memoria de Vertex AI Agent Engine te permite generar de forma dinámica recuerdos a largo plazo basados en las conversaciones de los usuarios con tu agente. Las memorias a largo plazo son información personalizada a la que se puede acceder en varias sesiones para un usuario en particular. El agente puede usar las memorias para personalizar las respuestas al usuario y crear continuidad entre sesiones.
Descripción general
Memory Bank te ayuda a administrar las memorias para que puedas personalizar la forma en que tu agente interactúa con los usuarios y administrar la ventana de contexto. Para cada alcance, Memory Bank mantiene una colección aislada de recuerdos. Cada memoria es una pieza de información independiente y autónoma que se puede usar para expandir el contexto disponible para tu agente. Por ejemplo:
{
"name": "projects/.../locations/.../reasoningEngines/.../memories/...",
"scope": {
"agent_name": "My agent"
},
"fact": "I use Memory Bank to manage my memories."
}
Memory Bank incluye las siguientes funciones:
Generación de recuerdos: Crea, perfecciona y administra recuerdos con un modelo de lenguaje grande (LLM).
Extracción de memoria: Extrae solo la información más significativa de los datos de origen para que se conserve como recuerdos.
Consolidación de la memoria: Consolida la información recién extraída con los recuerdos existentes, lo que permite que los recuerdos evolucionen a medida que se incorpora información nueva. También puedes consolidar recuerdos preextraídos (como la información que tu agente o un humano en el circuito consideran significativa) con los recuerdos existentes.
Generación asíncrona: Las memorias se pueden generar en segundo plano, de modo que tu agente no tenga que esperar a que se complete la generación de memoria.
Extracción personalizable: Configura qué información considera significativa Memory Bank proporcionando temas específicos y ejemplos de aprendizaje con pocos ejemplos.
Comprensión multimodal: Procesa información multimodal para generar y conservar estadísticas textuales.
Almacenamiento y recuperación administrados: Aprovecha un almacén de memoria completamente administrado, persistente y accesible.
Aislamiento de datos en todas las identidades: La consolidación y la recuperación de la memoria se aíslan en una identidad específica.
Almacenamiento persistente y accesible: Almacena recuerdos a los que se puede acceder desde varios entornos, incluidos Vertex AI Agent Engine Runtime, tu entorno local o cualquier otra opción de implementación.
Búsqueda por similitud: Recupera recuerdos con la búsqueda por similitud limitada a una identidad específica.
Vencimiento automático: Configura un tiempo de actividad (TTL) en los recuerdos para garantizar que la información inactiva se borre automáticamente. Configura tu instancia de Memory Bank para que se aplique automáticamente un TTL a los recuerdos insertados o generados.
Integración del agente: Conecta Memory Bank a tu agente para que pueda coordinar llamadas para generar y recuperar recuerdos.
Integración del Kit de desarrollo de agentes (ADK): Orquesta llamadas desde tu agente basado en el ADK con herramientas integradas del ADK y
VertexAiMemoryBankService
para leer y escribir en Memory Bank.Otros frameworks: Envuelve tu código de Memory Bank en herramientas y devoluciones de llamada para coordinar la generación y recuperación de la memoria.
Casos de uso
Puedes usar Memory Bank para transformar las interacciones sin estado del agente en experiencias contextuales con estado en las que el agente recuerda, aprende y se adapta con el tiempo. Memory Bank es ideal para aplicaciones que requieren lo siguiente:
Personalización a largo plazo: Crea experiencias personalizadas para los usuarios individuales. Memory Bank limita el alcance de los recuerdos a una identidad específica, lo que permite que un agente recuerde las preferencias, el historial y los detalles clave de un usuario en varias sesiones.
- Ejemplo: Un agente de servicio al cliente que recuerda información clave de los tickets de asistencia anteriores y las preferencias de productos de un usuario sin necesidad de volver a preguntarle.
Extracción de conocimiento impulsada por LLM: Úsala cuando necesites identificar y conservar automáticamente la información más importante de las conversaciones o el contenido multimodal sin intervención manual.
- Ejemplo: Un agente de investigación que lee una serie de documentos técnicos y crea una memoria consolidada de los hallazgos, las metodologías y las conclusiones clave.
Contexto dinámico y en evolución: Usa Memory Bank cuando necesites una fuente de conocimiento que no sea estática. Memory Bank está diseñado para integrar continuamente información nueva de tu agente, y refina y actualiza los recuerdos almacenados a medida que hay nuevos datos disponibles. Esto garantiza que el contexto en el que se basa tu agente esté siempre actualizado y sea preciso. Mientras que la RAG tiene una base de conocimiento externa y estática, Memory Bank puede evolucionar según el contexto que proporciona el agente.
Ejemplo de uso
Puedes usar Memory Bank con las sesiones de Vertex AI Agent Engine para generar recuerdos a partir de las sesiones almacenadas con el siguiente proceso:
(Sesiones)
CreateSession
: Al inicio de cada conversación, crea una sesión nueva. El historial de conversación que usa el agente se limita a esta sesión. Una sesión contiene la secuencia cronológica de mensajes y acciones (SessionEvents
) para una interacción entre un usuario y tu agente. Todas las sesiones deben tener un ID de usuario. Los recuerdos extraídos (consultaGenerateMemories
) para esta sesión se asignan a este usuario.(Sesiones)
AppendEvent
: A medida que el usuario interactúa con el agente, los eventos (como los mensajes del usuario, las respuestas del agente y las acciones de herramientas) se suben a Sesiones. Los eventos conservan el historial de conversaciones y crean un registro de la conversación que se puede usar para generar recuerdos.(Sesiones)
ListEvents
: A medida que el usuario interactúa con el agente, este recupera el historial de conversaciones.(Banco de recuerdos) Genera o crea recuerdos:
GenerateMemories
: En un intervalo especificado (como el final de cada sesión o el final de cada turno), el agente puede activar la generación de recuerdos a partir del historial de conversación. Los datos sobre el usuario se extraen automáticamente del historial de conversación para que estén disponibles en sesiones actuales o futuras.CreateMemory
: Tu agente puede escribir recuerdos directamente en Memory Bank. Por ejemplo, el agente puede decidir cuándo se debe escribir un recuerdo y qué información se debe guardar (memoria como herramienta). UsaCreateMemory
cuando quieras que tu agente tenga más control sobre qué hechos se extraen.
(Memory Bank)
RetrieveMemories
: A medida que el usuario interactúa con tu agente, este puede recuperar los recuerdos guardados sobre ese usuario. Puedes recuperar todos los recuerdos (recuperación simple) o solo los más relevantes para la conversación actual (recuperación por búsqueda de similitud). Luego, puedes insertar los recuerdos recuperados en tu instrucción.
Guías de inicio rápido
Comienza a usar Memory Bank con las siguientes guías de inicio rápido:
Guía de inicio rápido con la API de REST: Sigue la guía de inicio rápido de la API de REST para realizar llamadas a la API directamente a las sesiones y al banco de memoria de Vertex AI Agent Engine.
Guía de inicio rápido con el Kit de desarrollo de agentes (ADK): Sigue la guía de inicio rápido del Kit de desarrollo de agentes (ADK) si quieres que tu agente de ADK coordine las llamadas a las sesiones y al banco de memoria de Vertex AI Agent Engine por ti.
Riesgos de seguridad de la inyección de instrucciones
Además de las responsabilidades de seguridad que se describen en Responsabilidad compartida de Vertex AI, considera el riesgo de inyección de instrucciones y contaminación de la memoria que pueden afectar a tu agente cuando usa recuerdos a largo plazo. El envenenamiento de la memoria se produce cuando se almacena información falsa en Memory Bank. Luego, el agente puede operar con esta información falsa o maliciosa en sesiones futuras.
Para mitigar el riesgo de contaminación de la memoria, puedes hacer lo siguiente:
Model Armor: Usa Model Armor para inspeccionar las instrucciones que se envían a Memory Bank o desde tu agente.
Pruebas adversarias: Realiza pruebas de forma proactiva en tu aplicación basada en LLM para detectar vulnerabilidades de inyección de instrucciones simulando ataques. Esto se conoce comúnmente como "red teaming".
Ejecución en zona de pruebas: Si el agente tiene la capacidad de ejecutar o interactuar con sistemas externos o críticos, estas acciones deben realizarse en un entorno de zona de pruebas con un control de acceso estricto y una revisión humana.
Para obtener más información, consulta Enfoque de Google para agentes de IA seguros.
¿Qué sigue?
- Configura el Banco de recuerdos.
- Guía de inicio rápido del Kit de desarrollo de agentes
- Guía de inicio rápido del SDK de Vertex AI Agent Engine