Información general sobre Memory Bank de Vertex AI Agent Engine

Vertex AI Agent Engine Memory Bank te permite generar dinámicamente recuerdos a largo plazo basados en las conversaciones de los usuarios con tu agente. Los recuerdos a largo plazo son información personalizada a la que puede acceder un usuario concreto en varias sesiones. El agente puede usar los datos memorizados para personalizar las respuestas al usuario y crear una continuidad entre sesiones.

Información general

Memory Bank te ayuda a gestionar los recuerdos para que puedas personalizar la forma en que tu agente interactúa con los usuarios y gestionar la ventana de contexto. En cada ámbito, Memory Bank mantiene una colección aislada de recuerdos. Cada recuerdo es una información independiente y autónoma que se puede usar para ampliar 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."
}

Banca de memoria incluye las siguientes funciones:

  • Generación de memoria: crea, perfecciona y gestiona recuerdos con un modelo de lenguaje extenso (LLM).

    • Extracción de memoria: extrae solo la información más significativa de los datos de origen para conservarla como recuerdos.

    • Consolidación de la memoria: consolida la información recién extraída con los recuerdos que ya tengas, lo que permite que los recuerdos evolucionen a medida que se ingiere información nueva. También puedes consolidar recuerdos preextraídos (como información que tu agente o un humano considera significativa) con recuerdos ya existentes.

    • Generación asíncrona: los recuerdos se pueden generar en segundo plano, de modo que tu agente no tenga que esperar a que se complete la generación de recuerdos.

    • Extracción personalizable: configura qué información considera significativa Memory Bank proporcionando temas específicos y ejemplos de pocas tomas.

    • Comprensión multimodal: procesa información multimodal para generar y conservar estadísticas textuales.

  • Almacenamiento y recuperación gestionados: disfruta de un almacén de memoria totalmente gestionado, persistente y accesible.

    • Aislamiento de datos entre identidades: la consolidación y la recuperación de la memoria se limitan a una identidad específica.

    • Almacenamiento persistente y accesible: almacena recuerdos a los que se puede acceder desde varios entornos, como Vertex AI Agent Engine Runtime, tu entorno local u otras opciones de despliegue.

    • Búsqueda por similitud: recupera recuerdos mediante la búsqueda por similitud acotada a una identidad específica.

    • Vencimiento automático: define un tiempo de vida (TTL) para los recuerdos y asegúrate de que la información obsoleta se elimine automáticamente. Configura tu instancia de Memory Bank para que se aplique automáticamente un TTL a las memorias insertadas o generadas.

  • Integración de agentes: conecta Memory Bank a tu agente para que pueda coordinar las llamadas para generar y recuperar recuerdos.

    • Integración de Agent Development Kit (ADK): orquesta las llamadas de tu agente basado en ADK con las herramientas integradas de ADK y VertexAiMemoryBankService para leer y escribir en Memory Bank.

    • Otros frameworks: envuelve tu código de Memory Bank en herramientas y retrollamadas para organizar la generación y la recuperación de memoria.

Casos prácticos

Puedes usar Memory Bank para transformar las interacciones de los agentes sin estado 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 adaptadas a cada usuario. Memory Bank limita 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.

    • Por ejemplo, un agente de atención al cliente que recuerda información clave de las incidencias de asistencia anteriores de un usuario y sus preferencias de producto sin tener que volver a preguntarle.
  • Extracción de conocimientos basada en LLMs: úsala cuando necesites identificar y conservar automáticamente la información más importante de las conversaciones o del contenido multimodal sin intervención manual.

    • Por ejemplo, un agente de investigación que lee una serie de documentos técnicos y crea una memoria consolidada de los principales hallazgos, metodologías y conclusiones.
  • Contexto dinámico y cambiante: usa Memory Bank cuando necesites una fuente de conocimiento que no sea estática. Memory Bank se ha diseñado para integrar continuamente información nueva de tu agente, así como para perfeccionar y actualizar los recuerdos almacenados a medida que haya nuevos datos disponibles. De esta forma, el contexto en el que se basa tu agente siempre está actualizado y es preciso. Mientras que la RAG tiene una base de conocimientos externa y estática, Memory Bank puede evolucionar en función del contexto proporcionado por el agente.

Ejemplo de uso

Información general sobre el concepto de Memory Bank de Vertex AI Agent Engine

Puedes usar Memory Bank con las sesiones de Vertex AI Agent Engine para generar recuerdos a partir de sesiones almacenadas siguiendo este proceso:

  1. (Sesiones) CreateSession: al inicio de cada conversación, crea una sesión nueva. El historial de conversaciones que usa el agente se limita a esta sesión. Una sesión contiene la secuencia cronológica de mensajes y acciones (SessionEvents) de una interacción entre un usuario y tu agente. Todas las sesiones deben tener un ID de usuario. Las memorias extraídas (consulte GenerateMemories) de esta sesión se asignan a este usuario.

  2. (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.

  3. (Sesiones) ListEvents: a medida que el usuario interactúa con el agente, este recupera el historial de la conversación.

  4. (Banco de recuerdos) Generar o crear recuerdos:

    • GenerateMemories: en un intervalo especificado (por ejemplo, al final de cada sesión o de cada turno), el agente puede activar la generación de recuerdos mediante el historial de conversaciones. Los datos sobre el usuario se extraen automáticamente del historial de conversaciones para que estén disponibles en las sesiones actuales o futuras.

    • CreateMemory: tu agente puede escribir recuerdos directamente en el banco de recuerdos. Por ejemplo, el agente puede decidir cuándo se debe escribir un recuerdo y qué información se debe guardar (la memoria como herramienta). Usa CreateMemory cuando quieras que tu agente tenga más control sobre los datos que se extraen.

  5. (Banco de memoria) RetrieveMemories: a medida que el usuario interactúa con tu agente, este puede recuperar 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). Después, puedes insertar los recuerdos recuperados en tu petición.

Guías de inicio rápido

Empieza a usar Memory Bank con las siguientes guías de inicio rápido:

Riesgos de seguridad de la inyección de peticiones

Además de las responsabilidades de seguridad que se describen en el artículo sobre la responsabilidad compartida de Vertex AI, ten en cuenta el riesgo de inyección de peticiones y de contaminación de la memoria que puede afectar a tu agente al usar memorias a largo plazo. La contaminación de la memoria se produce cuando se almacena información falsa en Memory Bank. El agente puede operar con esta información falsa o maliciosa en sesiones futuras.

Para mitigar el riesgo de envenenamiento de memoria, puedes hacer lo siguiente:

  • Model Armor: usa Model Armor para inspeccionar las peticiones que se envían a Memory Bank o desde tu agente.

  • Pruebas adversarias: prueba de forma proactiva tu aplicación LLM para detectar vulnerabilidades de inyección de peticiones simulando ataques. Esta práctica se conoce como "red teaming".

  • Ejecución en un entorno aislado: si el agente puede ejecutar o interactuar con sistemas externos o críticos, estas acciones deben realizarse en un entorno aislado con un control de acceso estricto y una revisión humana.

Para obtener más información, consulta el artículo Enfoque de Google para crear agentes de IA seguros.

Siguientes pasos