Agent Platform Memory Bank

Mit Agent Platform Memory Bank können Sie dynamisch langfristige gemerkte Informationen auf Grundlage von Unterhaltungen zwischen dem Nutzer und Ihrem Agenten generieren. Diese gemerkten Informationen sind personalisierte Informationen, die über mehrere Sitzungen hinweg bestehen bleiben. So kann Ihr Agent Antworten an den Kontext anpassen und personalisieren.

Features

Mit Memory Bank können Sie gemerkte Informationen verwalten, sodass Sie die Interaktion Ihres Agenten mit Nutzern personalisieren und das Kontextfenster verwalten können. Für jeden Bereich verwaltet Memory Bank eine isolierte Sammlung von gemerkten Informationen. Jede gemerkte Information ist eine unabhängige, in sich geschlossene Information, die verwendet werden kann, um den Kontext zu erweitern, der Ihrem Agenten zur Verfügung steht. Beispiel:

{
  "name": "projects/.../locations/.../reasoningEngines/.../memories/...",
  "scope": {
    "agent_name": "My agent",
    "user": "my user ID"
  },
  "fact": "I use Memory Bank to manage my memories."
}

Memory Bank umfasst die folgenden Funktionen:

  • Merken von Informationen: Erstellen, verfeinern und verwalten Sie gemerkte Informationen mit einem Large Language Model (LLM).

    • Extrahieren von gemerkten Informationen: Extrahieren Sie nur die wichtigsten Informationen aus Quelldaten, um sie als gemerkte Informationen zu speichern.

    • Konsolidierung von gemerkten Informationen: Konsolidieren Sie neu extrahierte Informationen mit vorhandenen gemerkten Informationen, sodass sich gemerkte Informationen weiterentwickeln können, wenn neue Informationen aufgenommen werden. Sie können auch vorab extrahierte gemerkte Informationen (z. B. Informationen, die Ihr Agent oder ein Mensch im Loop für sinnvoll hält) mit vorhandenen gemerkten Informationen konsolidieren.

    • Asynchrone Generierung: Generieren Sie gemerkte Informationen im Hintergrund, sodass Ihr Agent nicht warten muss, bis das Merken von Informationen abgeschlossen ist.

    • Kontinuierliche Ereignisaufnahme: Streamen und verwalten Sie Unterhaltungsereignisse mit der Ereignisaufnahme, die automatisch die Generierung von gemerkten Informationen basierend auf von Ihnen konfigurierten Batching-Regeln auslöst.

    • Anpassbare Extraktion: Konfigurieren Sie, welche Informationen Memory Bank als sinnvoll betrachtet, indem Sie bestimmte Themen und Few-Shot-Beispiele angeben.

    • Multimodales Verstehen: Verarbeiten Sie multimodale Informationen, um textbasierte Erkenntnisse zu generieren und zu speichern.

  • Verwalteter Speicher und Abruf: Nutzen Sie einen vollständig verwalteten, persistenten, und zugänglichen Speicher für gemerkte Informationen.

    • Datenisolation über Identitäten hinweg: Die Konsolidierung und der Abruf von gemerkten Informationen ist auf eine bestimmte Identität beschränkt.

    • Persistenter und zugänglicher Speicher: Speichern Sie gemerkte Informationen, auf die von mehreren Umgebungen aus zugegriffen werden kann, einschließlich Agent Runtime, Ihrer lokalen Umgebung oder anderer Bereitstellungs optionen.

    • Ähnlichkeitssuche: Rufen Sie gemerkte Informationen mit der Ähnlichkeitssuche ab, die auf eine bestimmte Identität beschränkt ist.

    • Automatisches Ablaufen: Legen Sie eine Gültigkeitsdauer (Time to Live, TTL) für gemerkte Informationen fest, damit veraltete Informationen automatisch gelöscht werden. Konfigurieren Sie Ihre Memory Bank-Instanz so, dass eine TTL automatisch auf eingefügte oder generierte gemerkte Informationen angewendet wird.

    • Überarbeitungen von gemerkten Informationen: Erstellen und verwalten Sie automatisch Überarbeitungen von gemerkten Informationen, mit denen Sie nachvollziehen können, wie sich gemerkte Informationen verändern, wenn neue Informationen aufgenommen werden.

    • Einschränkende Berechtigungen: Verwenden Sie IAM Bedingungen, um einzuschränken, welche Hauptkonten die gemerkten Informationen bestimmter Bereiche lesen oder schreiben können.

  • Agenten-Integration: Verbinden Sie Memory Bank mit Ihrem Agenten, so dass er Aufrufe orchestrieren kann, um gemerkte Informationen zu generieren und abzurufen.

    • Integration des Agent Development Kit (ADK): Orchestrieren Sie Aufrufe von Ihrem ADK-basierten Agenten mit den integrierten ADK-Tools und dem VertexAiMemoryBankService, um Daten aus Memory Bank zu lesen und in Memory Bank zu schreiben.

    • Andere Frameworks: Umschließen Sie Ihren Memory Bank-Code mit Tools und Callbacks, um die Generierung und den Abruf von gemerkten Informationen zu orchestrieren.

Anwendungsfälle

Mit Memory Bank können Sie zustandslose Agent-Interaktionen in zustandsbehaftete, kontextbezogene Interaktionen umwandeln, bei denen sich der Agent im Laufe der Zeit erinnert, lernt und sich anpasst. Memory Bank ist ideal für Anwendungen, die Folgendes erfordern:

  • Langfristige Personalisierung: Erstellen Sie Funktionen, die auf einzelne Nutzer zugeschnitten sind. Memory Bank beschränkt gemerkte Informationen auf eine bestimmte Identität, sodass sich ein Agent die Einstellungen, den Verlauf und die wichtigsten Details eines Nutzers über mehrere Sitzungen hinweg merken kann.

    • Beispiel: Ein Kundenservice-Agent, der sich wichtige Informationen aus früheren Supporttickets und Produktpräferenzen eines Nutzers merkt, ohne noch einmal nachfragen zu müssen.
  • LLM-gestützte Wissensextraktion: Verwenden Sie diese Funktion, wenn Sie die wichtigsten Informationen aus Unterhaltungen oder multimodalen Inhalten automatisch und ohne manuelle Eingriffe identifizieren und speichern müssen.

    • Beispiel: Ein Forschungsagent, der eine Reihe von Fachartikeln liest und eine konsolidierte Erinnerung an wichtige Ergebnisse, Methoden und Schlussfolgerungen erstellt.
  • Dynamischer und sich entwickelnder Kontext: Verwenden Sie Memory Bank, wenn Sie eine Wissensquelle benötigen, die nicht statisch ist. Memory Bank ist so konzipiert, dass kontinuierlich neue Informationen von Ihrem Agenten integriert werden, wobei gespeicherte gemerkte Informationen aktualisiert und verfeinert werden, sobald neue Daten verfügbar sind. So ist der Kontext, auf den sich Ihr Agent verlässt, immer aktuell und genau. Während RAG eine statische, externe Wissensdatenbank hat, kann sich Memory Bank basierend auf dem vom Agenten bereitgestellten Kontext weiterentwickeln.

Nutzungsbeispiel

Agent Platform Memory Bank – konzeptionelle Übersicht

Sie können Memory Bank mit Agent Platform-Sitzungen verwenden, um gemerkte Informationen aus gespeicherten Sitzungen zu generieren. Gehen Sie dazu so vor:

  1. (Sitzungen) CreateSession: Erstellen Sie zu Beginn jeder Unterhaltung eine neue Sitzung. Der vom Agenten verwendete Unterhaltungsverlauf ist auf diese Sitzung beschränkt. Eine Sitzung enthält die chronologische Reihenfolge von Nachrichten und Aktionen (SessionEvents) für eine Interaktion zwischen einem Nutzer und Ihrem Agenten. Alle Sitzungen müssen eine Nutzer-ID haben. Die extrahierten gemerkten Informationen (siehe GenerateMemories) für diese Sitzung werden diesem Nutzer zugeordnet.

  2. (Sitzungen) AppendEvent: Wenn der Nutzer mit dem Agenten interagiert, werden Ereignisse (z. B. Nutzernachrichten, Agent-Antworten, Tool-Aktionen) in Sitzungen hochgeladen. Die Ereignisse bewahren den Unterhaltungsverlauf und erstellen einen Datensatz der Unterhaltung, der zum Generieren von gemerkten Informationen verwendet werden kann.

  3. (Sitzungen) ListEvents: Wenn der Nutzer mit dem Agenten interagiert, ruft der Agent den Unterhaltungsverlauf ab.

  4. (Memory Bank) Generieren oder erstellen Sie gemerkte Informationen:

    • GenerateMemories: In einem bestimmten Intervall (z. B. am Ende jeder Sitzung oder am Ende jeder Runde) kann der Agent die Generierung von gemerkten Informationen anhand des Unterhaltungsverlaufs auslösen. Fakten über den Nutzer werden automatisch aus dem Unterhaltungsverlauf extrahiert, damit sie für aktuelle oder zukünftige Sitzungen verfügbar sind.

    • CreateMemory: Ihr Agent kann gemerkte Informationen direkt in Memory Bank schreiben. Der Agent kann beispielsweise entscheiden, wann eine gemerkte Information geschrieben werden soll und welche Informationen gespeichert werden sollen (gemerkte Informationen als Tool). Verwenden Sie CreateMemory, wenn Sie möchten, dass Ihr Agent mehr Kontrolle darüber hat, welche Fakten extrahiert werden.

  5. (Memory Bank) RetrieveMemories: Wenn der Nutzer mit Ihrem Agenten interagiert , kann der Agent gemerkte Informationen abrufen, die über diesen Nutzer gespeichert wurden. Sie können entweder alle gemerkten Informationen (einfacher Abruf) oder nur die relevantesten gemerkten Informationen für die aktuelle Unterhaltung (Abruf per Ähnlichkeitssuche) abrufen. Anschließend können Sie die abgerufenen gemerkten Informationen in Ihren Prompt einfügen.

Kurzanleitungen

Erste Schritte mit Memory Bank mit den folgenden Kurzanleitungen:

Sicherheitsrisiken bei Prompt Injection

Zusätzlich zu den Sicherheitsverantwortlichkeiten, die in der gemeinsamen Verantwortung der Agent Platform beschrieben sind, sollten Sie das Risiko von Prompt Injection und Memory Poisoning berücksichtigen, die sich auf Ihren Agenten auswirken können, wenn Sie langfristige gemerkte Informationen verwenden. Memory Poisoning tritt auf, wenn falsche Informationen in Memory Bank gespeichert werden. Der Agent kann dann in zukünftigen Sitzungen mit diesen falschen oder schädlichen Informationen arbeiten.

So verringern Sie das Risiko von Memory Poisoning:

  • Model Armor: Mit Model Armor können Sie Prompts prüfen, die an Memory Bank oder von Ihrem Agenten gesendet werden.

  • Adversarial Testing: Testen Sie Ihre LLM-Anwendung proaktiv auf Sicherheitslücken durch Prompt Injection, indem Sie Angriffe simulieren. Dies wird in der Regel als „Red Teaming“ bezeichnet.

  • Sandbox-Ausführung: Wenn der Agent externe oder kritische Systeme ausführen oder mit ihnen interagieren kann, sollten diese Aktionen in einer Sandbox-Umgebung mit strenger Zugriffssteuerung und manueller Überprüfung ausgeführt werden.

Weitere Informationen finden Sie unter Google's Approach for Secure AI Agents.

Nächste Schritte

Kurzanleitung

Erste Schritte mit der Memory Bank API, um langfristige gemerkte Informationen zu verwalten.

Kurzanleitung

Erste Schritte mit dem Agent Development Kit (ADK).

Anleitung

Informationen zum Einrichten von Memory Bank.