Mit der Memory Bank der Agent Platform können Sie dynamisch langfristige Erinnerungen auf 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.
Funktionen
Mit der Memory Bank können Sie Erinnerungen verwalten, sodass Sie die Interaktion Ihres Agenten mit Nutzern personalisieren und das Kontextfenster verwalten können. Für jeden Bereich verwaltet die Memory Bank eine isolierte Sammlung von Erinnerungen. Jede Erinnerung ist eine unabhängige, in sich geschlossene Information, mit der der Kontext erweitert werden kann, 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."
}
Die Memory Bank umfasst die folgenden Funktionen:
Merken von Informationen: Sie können gemerkte Informationen mit einem Large Language Model (LLM) erstellen, verfeinern und verwalten.
Erinnerungen extrahieren: Extrahieren Sie nur die wichtigsten Informationen aus Quelldaten, um sie als Erinnerungen zu speichern.
Erinnerungen konsolidieren: Konsolidieren Sie neu extrahierte Informationen mit vorhandenen Erinnerungen. So können sich Erinnerungen weiterentwickeln, wenn neue Informationen aufgenommen werden. Sie können auch vorab extrahierte Erinnerungen (z. B. Informationen, die Ihr Agent oder ein Mensch im Loop für sinnvoll hält) mit vorhandenen Erinnerungen konsolidieren.
Asynchrone Generierung: Merken von Informationen im Hintergrund, sodass Ihr Agent nicht warten muss, bis das Merken von Informationen abgeschlossen ist.
Kontinuierliche Ereignisaufnahme: Unterhaltungsereignisse werden mit der Ereignisaufnahme gestreamt und verwaltet. Dadurch wird automatisch das Merken von Informationen auf Grundlage von Batching-Regeln ausgelöst, die Sie konfigurieren.
Anpassbare Extraktion: Konfigurieren Sie, welche Informationen die Memory Bank für sinnvoll hält, indem Sie bestimmte Themen und Beispiele für wenige Aufnahmen angeben.
Multimodales Verstehen: Verarbeiten Sie multimodale Informationen, um textbasierte Erkenntnisse zu generieren und zu speichern.
Verwalteter Speicher und Abruf: Profitieren Sie von einem vollständig verwalteten, persistenten, und zugänglichen Speicher für Erinnerungen.
Datenisolation über Identitäten hinweg: Die Konsolidierung und der Abruf von Erinnerungen sind auf eine bestimmte Identitätbeschränkt.
Persistenter und zugänglicher Speicher: Speichern Sie Erinnerungen, auf die von mehreren Umgebungen aus zugegriffen werden kann, z. B. von der Agent Runtime, Ihrer lokalen Umgebung oder anderen Bereitstellungsoptionen.
Ähnlichkeitssuche: Rufen Sie Erinnerungen 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 Erinnerungen fest, damit veraltete Informationen automatisch gelöscht werden. Konfigurieren Sie Ihre Memory Bank-Instanz so, dass eine TTL automatisch auf eingefügte oder generierte Erinnerungen angewendet wird.
Erinnerungsversionen: Erstellen und verwalten Sie automatisch Erinnerungs versionen, mit denen Sie nachvollziehen können, wie sich Erinnerungen verändern, wenn neue Informationen aufgenommen werden.
Einschränkende Berechtigungen: Mit IAM Bedingungen können Sie einschränken, welche Hauptkonten die Erinnerungen bestimmter Bereiche lesen oder schreiben können.
Agenten-Integration: Verknüpfen Sie die Memory Bank mit Ihrem Agenten, so dass er Aufrufe orchestrieren kann, um Erinnerungen 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 der Memory Bank zu lesen und in sie zu schreiben.Andere Frameworks: Umschließen Sie Ihren Memory Bank-Code mit Tools und Callbacks, um das Merken von Informationen und den Abruf von Erinnerungen zu orchestrieren.
Anwendungsfälle
Mit der 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 anpasst. Die Memory Bank ist ideal für Anwendungen, die Folgendes erfordern:
Langfristige Personalisierung: Erstellen Sie Funktionen, die auf einzelne Nutzer zugeschnitten sind. Die Memory Bank beschränkt Erinnerungen 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 Kundenservicemitarbeiter, der sich wichtige Informationen aus früheren Support-Tickets 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 die 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 Agenten integriert und gespeicherte Erinnerungen aktualisiert, sobald neue Daten verfügbar sind. So ist der Kontext, auf den sich Ihr Agent verlässt, immer aktuell und korrekt. Während RAG eine statische, externe Wissensdatenbank hat, kann sich die Memory Bank basierend auf dem vom Agenten bereitgestellten Kontext weiterentwickeln.
Nutzungsbeispiel

Sie können die Memory Bank mit Sitzungen der Agent Platform 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 Agenten verwendete Unterhaltungsverlauf ist auf diese Sitzung beschränkt. Eine Sitzung enthält die chronologische Reihenfolge der Nachrichten und Aktionen (SessionEvents) für eine Interaktion zwischen einem Nutzer und Ihrem Agenten. Alle Sitzungen müssen eine Nutzer-ID haben. Die extrahierten Erinnerungen (sieheGenerateMemories) für diese Sitzung werden diesem Nutzer zugeordnet.(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 Erinnerungen verwendet werden kann.(Sitzungen)
ListEvents: Wenn der Nutzer mit dem Agenten interagiert, ruft der 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 die Generierung von Erinnerungen anhand des Unterhaltungsverlaufs auslösen. 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 die Memory Bank schreiben. Der Agent kann beispielsweise entscheiden, wann eine Erinnerung geschrieben werden soll und welche Informationen gespeichert werden sollen (Erinnerung als Tool). Verwenden SieCreateMemory, wenn Sie möchten, dass Ihr Agent mehr Kontrolle darüber hat, welche Fakten extrahiert werden.
(Memory Bank)
RetrieveMemories: Wenn der Nutzer mit Ihrem Agenten interagiert , kann der Agent Erinnerungen abrufen, die über diesen Nutzer gespeichert wurden. Sie können entweder alle Erinnerungen (einfacher Abruf) oder nur die für die aktuelle Unterhaltung relevantesten Erinnerungen (Abruf mit Ähnlichkeitssuche) abrufen. Anschließend können Sie die abgerufenen Erinnerungen in Ihren Prompt einfügen.
Kurzanleitungen
Erste Schritte mit der Memory Bank mit den folgenden Kurzanleitungen:
Kurzanleitung zur REST API: Folgen Sie der REST API Kurzanleitung, um API-Aufrufe direkt an Sitzungen und die Memory Bank zu senden.
Kurzanleitung zum Agent Development Kit (ADK): Folgen Sie der Kurzanleitung zum Agent Development Kit (ADK), wenn Ihr ADK-Agent Aufrufe an Sitzungen und die Memory Bank für Sie orchestrieren soll.
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, das Ihren Agenten bei der Verwendung von langfristigen Erinnerungen beeinträchtigen kann. Memory Poisoning tritt auf, wenn falsche Informationen in der 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 die 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 zur Memory Bank API
Erste Schritte mit der Memory Bank API, um langfristige Erinnerungen zu verwalten.
Kurzanleitung zum Agent Development Kit
Erste Schritte mit dem Agent Development Kit (ADK).