Mit der Speicherbank der Vertex AI Agent Engine können Sie dynamisch langfristige Erinnerungen basierend auf den Unterhaltungen der Nutzer mit Ihrem Agent generieren. Langfristig gemerkte Informationen sind personalisierte Informationen, auf die über mehrere Sitzungen hinweg für einen bestimmten Nutzer zugegriffen werden kann. Der Agent kann die Erinnerungen verwenden, um Antworten an den Nutzer zu personalisieren und die Kontinuität zwischen Sitzungen zu gewährleisten.
Übersicht
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 Umfang wird in Memory Bank eine isolierte Sammlung von Erinnerungen 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"
},
"fact": "I use Memory Bank to manage my memories."
}
Memory Bank umfasst die folgenden Funktionen:
Erstellung von Erinnerungen: Erinnerungen mit einem Large Language Model (LLM) erstellen, optimieren und verwalten.
Memory-Extraktion: Nur die wichtigsten Informationen aus Quelldaten extrahieren, um sie als Erinnerungen zu speichern.
Speicherkonsolidierung: Neu extrahierte Informationen werden mit vorhandenen Erinnerungen konsolidiert, sodass sich Erinnerungen mit der Aufnahme neuer Informationen weiterentwickeln können. Sie können auch vorab extrahierte Erinnerungen (z. B. Informationen, die Ihr Agent oder ein Mensch im Loop als sinnvoll erachtet) mit vorhandenen Erinnerungen zusammenführen.
Asynchrone Generierung: Erinnerungen können im Hintergrund generiert werden, sodass Ihr Agent nicht warten muss, bis die Generierung abgeschlossen ist.
Anpassbare Extraktion: Konfigurieren Sie, welche Informationen Memory Bank als relevant betrachtet, indem Sie bestimmte Themen und Few-Shot-Beispiele angeben.
Multimodales Verstehen: Multimodale Informationen verarbeiten, um Text-Insights zu generieren und beizubehalten.
Verwalteter Speicher und Abruf: Profitieren Sie von einem vollständig verwalteten, persistenten und zugänglichen Speichermedium.
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 Vertex AI Agent Engine Runtime, Ihrer lokalen Umgebung oder anderer Bereitstellungsoptionen.
Ähnlichkeitssuche: Erinnerungen über die Ähnlichkeitssuche abrufen, die auf eine bestimmte Identität beschränkt ist.
Automatischer Ablauf: 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 automatisch eine TTL auf eingefügte oder generierte Erinnerungen angewendet wird.
Agent-Integration: Verbinden Sie Memory Bank mit Ihrem Agent, damit er Aufrufe zum Generieren und Abrufen von Erinnerungen koordinieren kann.
Integration des Agent Development Kit (ADK): Orchestrieren Sie Aufrufe von Ihrem ADK-basierten Agenten mit integrierten ADK-Tools und der
VertexAiMemoryBankService
, um Daten aus der Memory Bank zu lesen und in die Memory Bank zu schreiben.Andere Frameworks: Schließen Sie Ihren Memory Bank-Code in Tools und Rückrufen ein, um die Generierung und den Abruf von Erinnerungen zu organisieren.
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 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 Erinnerungen auf eine bestimmte Identität beschränkt, sodass sich ein KI-Agent die Einstellungen, den Verlauf und die wichtigsten Details eines Nutzers über mehrere Sitzungen hinweg merken kann.
- Beispiel: Ein Kundenservicemitarbeiter, der sich an wichtige Informationen aus früheren Supportanfragen und Produktpräferenzen eines Nutzers erinnert, ohne noch einmal nachfragen zu müssen.
LLM-basierte Wissensextraktion: Verwenden Sie diese Funktion, wenn Sie die wichtigsten Informationen aus Unterhaltungen oder multimodalen Inhalten ohne manuellen Eingriff automatisch identifizieren und speichern möchten.
- 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 Agenten integriert und gespeicherte Erinnerungen verfeinert und aktualisiert, sobald neue Daten verfügbar sind. So ist der Kontext, auf den sich Ihr Agent stützt, immer aktuell und korrekt. Während RAG eine statische, externe Wissensdatenbank hat, kann sich Memory Bank basierend auf dem vom Agenten bereitgestellten Kontext weiterentwickeln.
Nutzungsbeispiel
Sie können die Speicherbank mit Vertex AI Agent Engine-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 Agent. Für alle Sitzungen muss eine Nutzer-ID vorhanden sein. 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 bewahren den Unterhaltungsverlauf und erstellen einen Datensatz der Unterhaltung, der zum Generieren von Erinnerungen verwendet werden kann.(Sitzungen)
ListEvents
: Wenn der Nutzer mit dem Agent 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 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 Erinnerungen abrufen (einfacher Abruf) oder nur die für die aktuelle Unterhaltung relevantesten Erinnerungen (Abruf per Ähnlichkeitssuche). Anschließend können Sie die abgerufenen Erinnerungen in Ihren Prompt einfügen.
Kurzanleitungen
Erste Schritte mit Memory Bank mit den folgenden Kurzanleitungen:
Kurzanleitung zur Verwendung der REST API: Folgen Sie der Kurzanleitung zur REST API, um API-Aufrufe direkt an Vertex AI Agent Engine-Sitzungen 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 an Vertex AI Agent Engine Sessions und Memory Bank für Sie orchestrieren soll.
Sicherheitsrisiken von Prompt Injection
Zusätzlich zu den Sicherheitsverantwortlichkeiten, die unter Vertex AI – Geteilte Verantwortung beschrieben sind, sollten Sie das Risiko von Prompt-Injection und Memory Poisoning berücksichtigen, das Ihren Agent bei Verwendung von Langzeitspeichern beeinträchtigen kann. Memory Poisoning tritt auf, wenn falsche Informationen im Memory Bank gespeichert werden. Der Agent kann dann in zukünftigen Sitzungen auf diese falschen oder schädlichen Informationen reagieren.
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 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 die Möglichkeit hat, externe oder kritische Systeme auszuführen oder mit ihnen zu interagieren, 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.
Nächste Schritte
- Memory Bank einrichten
- Kurzanleitung für das Agent Development Kit
- Kurzanleitung für das Vertex AI Agent Engine SDK