Mit der Memory Bank der Agent Platform können Sie dynamisch langfristige Erinnerungen auf der Grundlage von Unterhaltungen zwischen dem Nutzer und Ihrem Agenten generieren. Diese Erinnerungen 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 Erinnerungen verwalten, um die Interaktion Ihres KI-Agenten mit Nutzern zu personalisieren und das Kontextfenster zu verwalten. Für jeden Bereich wird in Memory Bank eine isolierte Sammlung von gemerkten Informationen verwaltet. Jede Erinnerung ist eine unabhängige, in sich geschlossene Information, die verwendet werden kann, um den Kontext zu erweitern, der Ihrem Agent 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: Informationen mithilfe eines Large Language Model (LLM) erstellen, optimieren und verwalten.
Extrahieren von gemerkten Informationen: Es werden nur die wichtigsten Informationen aus den Quelldaten extrahiert, die als gemerkte Informationen gespeichert werden.
Gedächtniskonsolidierung: Neu extrahierte Informationen werden mit vorhandenen Erinnerungen konsolidiert, sodass sich Erinnerungen weiterentwickeln können, wenn neue Informationen aufgenommen werden. Sie können auch vorab extrahierte Informationen (z. B. Informationen, die Ihr Agent oder ein Mensch im Loop als wichtig erachtet) mit vorhandenen Informationen zusammenführen.
Asynchrone Generierung: Merken von Informationen wird im Hintergrund generiert, sodass Ihr Agent nicht warten muss, bis das Merken von Informationen abgeschlossen ist.
Kontinuierliche Ereignisaufnahme: Sie können Konversationsereignisse mit der Ereignisaufnahme streamen und verwalten. Dadurch wird automatisch die Generierung von Erinnerungen basierend auf den von Ihnen konfigurierten Batching-Regeln ausgelöst.
Anpassbare Extraktion: Konfigurieren Sie, welche Informationen Memory Bank als relevant betrachtet, indem Sie bestimmte Themen und Few-Shot-Beispiele angeben.
Multimodales Verständnis: Multimodale Informationen verarbeiten, um textliche Statistiken zu generieren und zu speichern.
Verwalteter Speicher und Abruf: Sie profitieren von einem vollständig verwalteten, persistenten und zugänglichen Speicher.
Datenisolation für verschiedene Identitäten: Die Konsolidierung und der Abruf von Erinnerungen sind auf eine bestimmte Identität beschränkt.
Permanenter und zugänglicher Speicher: Speichern Sie Erinnerungen, auf die in mehreren Umgebungen zugegriffen werden kann, einschließlich Agent Runtime, Ihrer lokalen Umgebung oder anderer Bereitstellungsoptionen.
Ähnlichkeitssuche: Mit der Ähnlichkeitssuche können Sie Erinnerungen abrufen, die auf eine bestimmte Identität beschränkt sind.
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 automatisch eine TTL auf eingefügte oder generierte gemerkte Informationen angewendet wird.
Überarbeitungen von Erinnerungen: Automatische Erstellung und Verwaltung von Überarbeitungen von Erinnerungen, mit denen Sie nachvollziehen können, wie sich Erinnerungen durch neue Informationen verändern.
Einschränkende Berechtigungen: Verwenden Sie IAM-Bedingungen, um einzuschränken, welche Hauptkonten die gemerkten Informationen bestimmter Bereiche lesen oder schreiben können.
Agent-Integration: Verbinden Sie Memory Bank mit Ihrem Agent, damit er Aufrufe zum Generieren und Abrufen von Erinnerungen orchestrieren kann.
Integration des Agent Development Kit (ADK): Orchestrieren Sie Aufrufe von Ihrem ADK-basierten Agenten mit integrierten ADK-Tools und dem
VertexAiMemoryBankService, um Daten aus Memory Bank zu lesen und in Memory Bank zu schreiben.Andere Frameworks: Schließen Sie Ihren Memory Bank-Code in Tools und Rückrufen ein, um das Generieren und Abrufen von Informationen zu orchestrieren.
Anwendungsfälle
Mit Memory Bank können Sie zustandslose Interaktionen mit KI-Agenten in zustandsbehaftete, kontextbezogene Interaktionen umwandeln, bei denen sich der Agent im Laufe der Zeit Dinge merkt, lernt und sich anpasst. Memory Bank ist ideal für Anwendungen, die Folgendes erfordern:
Langfristige Personalisierung: Erstellen Sie Angebote, die auf einzelne Nutzer zugeschnitten sind. In der Memory Bank werden gemerkte Informationen auf eine bestimmte Identität beschränkt, sodass sich ein Agent die Einstellungen, den Verlauf und die wichtigsten Details eines Nutzers über mehrere Sitzungen hinweg merken kann.
- Beispiel: Ein Kundenservicemitarbeiter, der sich wichtige Informationen aus früheren Supporttickets und Produktpräferenzen eines Nutzers merkt, ohne noch einmal nachfragen zu müssen.
LLM-basierte Wissensextraktion: Verwenden Sie diese Funktion, wenn Sie die wichtigsten Informationen aus Unterhaltungen oder multimodalen Inhalten automatisch und ohne manuellen Eingriff identifizieren und speichern müssen.
- Beispiel: Ein Recherche-Agent, der eine Reihe von Fachartikeln liest und ein konsolidiertes Gedächtnis mit wichtigen Ergebnissen, Methoden und Schlussfolgerungen aufbaut.
Dynamischer und sich entwickelnder Kontext: Verwenden Sie Memory Bank, wenn Sie eine Wissensquelle benötigen, die nicht statisch ist. Die Memory Bank ist so konzipiert, dass sie kontinuierlich neue Informationen von Ihrem KI-Agenten integriert und gespeicherte Informationen verfeinert und aktualisiert, sobald neue Daten verfügbar sind. So wird sichergestellt, dass der Kontext, auf den sich Ihr Agent stützt, immer aktuell und korrekt ist. Während RAG eine statische, externe Wissensdatenbank hat, kann sich Memory Bank basierend auf dem vom Agent bereitgestellten Kontext weiterentwickeln.
Nutzungsbeispiel

Sie können Memory Bank mit Agent Platform-Sitzungen verwenden, um Erinnerungen aus gespeicherten Sitzungen zu generieren. Gehen Sie dazu so vor:
(Sitzungen)
CreateSession: Erstellen Sie zu Beginn jeder Unterhaltung eine neue Sitzung. Der vom Agent 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 für diese Sitzung extrahierten Erinnerungen (sieheGenerateMemories) werden diesem Nutzer zugeordnet.(Sitzungen)
AppendEvent: Wenn der Nutzer mit dem Agent interagiert, werden Ereignisse (z. B. Nutzernachrichten, Agent-Antworten, Tool-Aktionen) in Sitzungen hochgeladen. Die Ereignisse speichern den Unterhaltungsverlauf und erstellen einen Datensatz der Unterhaltung, der zum Generieren von gemerkten Informationen verwendet werden kann.(Sitzungen)
ListEvents: Während der Nutzer mit dem KI-Agenten interagiert, ruft der KI-Agent den Unterhaltungsverlauf ab.(Memory Bank) Erinnerungen generieren oder erstellen:
GenerateMemories: In einem bestimmten Intervall (z. B. am Ende jeder Sitzung oder am Ende jeder Runde) kann der Agent Erinnerungen aus dem Unterhaltungsverlauf generieren. Fakten über den Nutzer werden automatisch aus dem Unterhaltungsverlauf extrahiert, sodass sie für aktuelle oder zukünftige Sitzungen verfügbar sind.CreateMemory: Ihr Agent kann Erinnerungen direkt in Memory Bank schreiben. Der Agent kann beispielsweise entscheiden, wann ein Speicher geschrieben werden soll und welche Informationen gespeichert werden sollen (Speicher als Tool). Verwenden SieCreateMemory, wenn Ihr Agent mehr Kontrolle darüber haben soll, welche Fakten extrahiert werden.
(Memory Bank)
RetrieveMemories: Wenn der Nutzer mit Ihrem Agent interagiert, kann der Agent gespeicherte Erinnerungen zu diesem Nutzer abrufen. Sie können entweder alle gemerkten Informationen abrufen (einfacher Abruf) oder nur die für das aktuelle Gespräch relevantesten (Abruf über Ähnlichkeitssuche). Anschließend können Sie die abgerufenen Erinnerungen in Ihren Prompt einfügen.
Kurzanleitungen
Mit den folgenden Kurzanleitungen können Sie mit Memory Bank loslegen:
Kurzanleitung für die REST API: Folgen Sie der Kurzanleitung für die REST API, um API-Aufrufe direkt an Sessions und Memory Bank zu senden.
Kurzanleitung für das Agent Development Kit (ADK): Folgen Sie der Kurzanleitung für das Agent Development Kit (ADK), wenn Ihr ADK-Agent Aufrufe von Sessions und Memory Bank für Sie orchestrieren soll.
Memory Bank-Governance
In diesem Abschnitt werden Aspekte der Data Governance bei der Verwendung von Memory Bank beschrieben, z. B. Sicherheitsverantwortlichkeiten und Datenspeicherort.
Sicherheitsrisiken von Prompt Injection
Zusätzlich zu den Sicherheitsverantwortlichkeiten, die unter Gemeinsame Verantwortung der Agent Platform beschrieben sind, sollten Sie das Risiko von Prompt Injection und Memory Poisoning berücksichtigen, das Ihren Agent bei der Verwendung von Langzeitgedächtnissen beeinträchtigen kann. Memory Poisoning tritt auf, wenn falsche Informationen in der Memory Bank gespeichert werden. Der Agent kann dann in zukünftigen Sitzungen auf diese falschen oder schädlichen Informationen reagieren.
So können Sie das Risiko von Memory Poisoning verringern:
Model Armor: Mit Model Armor können Sie Prompts prüfen, die an Memory Bank oder von Ihrem Agent 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-Ansatz für sichere KI-Agents.
Datenstandort
Um regulatorische Rahmenbedingungen wie die Datenschutz-Grundverordnung (DSGVO) und regionale Anforderungen an die Datenhoheit einzuhalten, müssen Sie dafür sorgen, dass die in Memory Bank generierten und gespeicherten Erinnerungen strengen Grenzen für den Datenstandort und die Datentrennung entsprechen.
Memory Bank bietet zwar bereichsbasierte Datenisolation für Identitäten innerhalb einer Instanz, Sie müssen jedoch RBAC (Rollenbasierte Zugriffssteuerung) und IAM-Richtlinien (Identity and Access Management) anwenden, um regionale Grenzen zu erzwingen und eine grenzüberschreitende Memory-Kontamination zwischen verschiedenen regionalen Instanzen zu verhindern.
Bereitstellung regionaler Instanzen und Datenstandort
Wenn Sie eine Memory Bank-Instanz erstellen, wählen Sie einen regionalen oder multiregionalen Standort aus, z. B. eu für die Europäische Union oder us für die USA. So wird sichergestellt, dass inaktive Daten innerhalb dieser geografischen Grenze bleiben.
Der Standort der Verarbeitung von maschinellem Lernen (ML) hängt von der regionalen Verfügbarkeit des zugrunde liegenden Modells ab. Wenn ein regionaler Endpunkt für das ausgewählte Modell oder den ausgewählten Standort nicht verfügbar ist (z. B. Gemini 3-Modelle oder einzelne Regionen in Asien), werden globale Gemini-Endpunkte für die ML-Verarbeitung verwendet. Weitere Informationen finden Sie unter Datenstandort und Multiregionale und globale Endpunkte.
Grenzüberschreitende Speicherverunreinigung verhindern
Eine grenzüberschreitende Kontamination tritt auf, wenn eine Agent-Laufzeit, eine Agent-Identität, ein Dienstkonto oder eine Anwendung, die in einer Gerichtsbarkeit (z. B. den USA) ausgeführt wird, Daten in eine Memory Bank-Instanz schreibt oder daraus abruft, die sich in einer anderen Gerichtsbarkeit (z. B. der EU) befindet.
Um eine grenzüberschreitende Kontamination zu verhindern und die Einhaltung regulatorischer Anforderungen zu gewährleisten, können Sie die folgenden IAM-Kontrollen konfigurieren:
Dedizierte regionale Agent-Identitäten oder Dienstkonten: Erstellen Sie separate, regionsspezifische Agent-Identitäten oder Dienstkonten für jede Gerichtsbarkeit (z. B.
agent-us@PROJECT_ID.iam.gserviceaccount.comfür Arbeitslasten in den USA undagent-eu@PROJECT_ID.iam.gserviceaccount.comfür Arbeitslasten in der EU). Achten Sie darauf, dass regionalen Agentenidentitäten und Dienstkonten nur IAM-Rollen für die Memory Bank-Instanzen gewährt werden, die sich in derselben geografischen Gerichtsbarkeit befinden. So wird verhindert, dass regionale Runtimes auf grenzüberschreitende Instanzen zugreifen.- Spezialisierte Rollen mit geringsten Berechtigungen: Weisen Sie Hauptkonten nur die spezifischen Memory Bank-Rollen zu, die für ihre Arbeitslast erforderlich sind, z. B.
roles/aiplatform.memoryViewerfür den schreibgeschützten Abruf oderroles/aiplatform.memoryEditorfür den Schreib- und Generierungszugriff, die an die entsprechende regionale Ressource gebunden sind. Weitere Informationen zu verfügbaren Rollen finden Sie unter Spezialisierte IAM-Rollen für Memory Bank.
- Spezialisierte Rollen mit geringsten Berechtigungen: Weisen Sie Hauptkonten nur die spezifischen Memory Bank-Rollen zu, die für ihre Arbeitslast erforderlich sind, z. B.
Organisationsrichtlinien: Mit der Einschränkung für Organisationsrichtlinien
gcp.resourceLocationskönnen Sie Standortbeschränkungen auf Organisations-, Ordner- oder Projektebene erzwingen. Dadurch wird die Erstellung und Nutzung von Memory Bank-Ressourcen auf genehmigte, konforme Regionen beschränkt und eine unbefugte Nutzung globaler Endpunkte verhindert.
Weitere Informationen zum Implementieren von Richtlinien für bedingten Zugriff finden Sie unter Zugriff auf den Memory Bank der Agent Platform mit IAM Conditions steuern.
Nächste Schritte
Kurzanleitung für die Memory Bank API
Erste Schritte mit der Memory Bank API zum Verwalten von Langzeitspeicherinhalten
Schnellstart mit dem Agent Development Kit
Erste Schritte mit dem Agent Development Kit (ADK)