Implementierung von persistentem Agentenspeicher mit NVIDIA NeMo und AWS S3 Vectors
Ein technischer Leitfaden zeigt, wie skalierbarer, konsistenter Langzeitspeicher für KI-Agenten unter Verwendung des NVIDIA NeMo Agent Toolkit und Amazon S3 Vectors auf EKS erstellt wird.
Automatisch aus dem englischen Original übersetzt.
Ingenieure, die Multi-Agent-Systeme entwickeln, haben nun einen konkreten Weg zur Implementierung eines persistenten, gemeinsamen Speichers unter Verwendung des NVIDIA NeMo Agent Toolkit (NAT) in Verbindung mit Amazon S3 Vectors. Dieser im Oktober 2026 veröffentlichte technische Leitfaden demonstriert, wie diese Komponenten auf Amazon Elastic Kubernetes Service (EKS) bereitgestellt werden können, um Konsistenz- und Skalierungsprobleme in Produktionsumgebungen zu lösen.
Was passiert ist
Der Artikel bietet eine schrittweise Umsetzungsstrategie zur Erstellung eines benutzerdefinierten Speicheranbieters innerhalb von NAT. Während NAT bestehende Backends wie Redis und Zep unterstützt, argumentiert der Leitfaden, dass Amazon S3 Vectors besser für produktive Multi-Agent-Systeme geeignet ist, die elastische Skalierung und starke Schreibkonsistenz erfordern. Die Autoren führen durch die Erstellung der erforderlichen Infrastruktur, das Schreiben eines benutzerdefinierten Plugins und die Konfiguration des Agenten-Workflows.
Der Kern der Implementierung besteht darin, eine MemoryEditor-Schnittstelle zu definieren, die als Plugin-Vertrag für benutzerdefinierte Backends dient. Entwickler müssen drei spezifische Methoden implementieren: add_items(), search() und remove_items(). Dieses Plugin ermöglicht es Agenten, Gesprächsverläufe, Benutzereinstellungen und langfristiges Wissen als MemoryItem-Objekte zu speichern, die Metadatenfelder zum Filtern und Eingrenzen von Abfragen enthalten.
Die Bereitstellung stützt sich auf Amazon EKS für die operative Kontrolle über den Agenten-Lebenszyklus. Die Architektur nutzt den HorizontalPodAutoscaler, um Agenten-Replikate basierend auf der CPU-Auslastung zu skalieren. Jedes Replikat verbindet sich über IAM Roles for Service Accounts (IRSA) mit demselben S3-Vectors-Index. Diese Einrichtung stellt sicher, dass jeder Pod, der eine Anfrage bearbeitet, auf die neuesten Erinnerungen zugreifen kann, ohne dass Strategien zur Cache-Invaliderung erforderlich sind.
Wie es funktioniert
Das System arbeitet, indem Standardagenten mit einer auto_memory_agent-Komponente umhüllt werden. Dieser Wrapper übernimmt automatisch die Erfassung und Abrufung von Kontextinformationen, wodurch die Notwendigkeit entfällt, dass das große Sprachmodell bei jedem Durchlauf explizit Speicherwerkzeuge aufruft. Wenn ein Agent eine Antwort generiert, bettet das System den Inhalt unter Verwendung eines Modells wie Amazon Titan Text Embeddings V2 ein und speichert ihn im S3-Vectors-Index.
S3 Vectors fungiert als dauerhaftes Backend und unterstützt bis zu zwei Milliarden Vektoren pro Index. Es bietet semantische Suche unter Verwendung konfigurierbarer Distanzmetriken wie Kosinus- oder euklidischer Ähnlichkeit. Entscheidend ist, dass es starke Schreibkonsistenz bietet, was bedeutet, dass, wenn ein Agenten-Pod eine Erinnerung schreibt, alle anderen Pods sie sofort sehen. Dies eliminiert die Race Conditions, die bei schließlich konsistenten Datenbanken häufig auftreten, wenn mehrere Agenten an einer einzelnen Aufgabe koordinieren.
Metadatenfilterung ermöglicht es Agenten, ihre Suchen effektiv einzugrenzen. Jeder Vektor kann String-, Zahlen-, Boolesche- oder Listen-Metadaten tragen, was Abfragen ermöglicht, die auf bestimmte Benutzer, Sitzungen oder Themen abzielen. Diese Struktur unterstützt verschiedene Arten von Gedächtnis, einschließlich episodischem, semantischem und prozeduralem Gedächtnis, sodass das System nur den relevantesten Kontext für eine gegebene Interaktion abrufen kann.
Wichtige Details
- Plugin-Schnittstelle: Benutzerdefinierte Speicher-Backends müssen die abstrakte Schnittstelle
MemoryEditormit den Methodenadd_items,searchundremove_itemsimplementieren. - Konsistenzmodell: Amazon S3 Vectors bietet starke Schreibkonsistenz und gewährleistet die sofortige Sichtbarkeit neuer Erinnerungen über alle Agenten-Pods hinweg ohne Cache-Management.
- Skalierungsmechanismus: Agenten-Replikate auf Amazon EKS skalieren über den
HorizontalPodAutoscalerbasierend auf der CPU-Nutzung, wobei alle Instanzen einen einzigen S3-Vectors-Index teilen. - Bewertungskennzahlen: Das NAT-Bewertungsframework (
nat eval) misst Verbesserungen in Bezug auf Fundiertheit, Token-Nutzung, Latenz und Reduzierung doppelter Arbeit. - Infrastruktur-Grenzen: S3 Vectors unterstützt bis zu zwei Milliarden Vektoren pro Index, ohne dass Kapazitätsplanung erforderlich ist, mit nutzungsbasierter Preisgestaltung für Speicherung und Abfragen.
- Zugriffskontrolle: Die Sicherheit wird über AWS-IAM-Richtlinien pro Bucket und Index verwaltet, was eine harte Isolation zwischen Mandanten oder Teams ermöglicht.
Warum es wichtig ist
Für Softwareteams, die komplexe Agenten-Workflows entwickeln, ist das Speichermanagement oft ein Engpass. Ohne eine gemeinsame, konsistente Speicherschicht wiederholen Agenten Arbeit, verlieren den Kontext zwischen Sitzungen und haben Schwierigkeiten bei der Koordination. Durch die Auslagerung des Speichers an S3 Vectors erhalten Entwickler ein System, das elastisch skaliert, ohne dass ungenutzte Rechenressourcen verwaltet werden müssen. Dies reduziert den operativen Overhead und verbessert gleichzeitig die Zuverlässigkeit von Multi-Agent-Kollaborationen.
Die Fähigkeit, die Auswirkungen des Gedächtnisses zu quantifizieren, ist ebenfalls signifikant. Der Leitfaden hebt hervor, dass die Aktivierung des Gedächtnisses typischerweise die Fundiertheit durch Bereitstellung verifizierbarer Quellenkontexte verbessert und die Token-Nutzung reduziert, indem die erneute Ableitung bekannter Fakten übersprungen wird. Obwohl die Latenz aufgrund von Vektorabfragen leicht ansteigt, führt dieser Kompromiss oft zu qualitativ hochwertigeren Ausgaben und geringeren Gesamtkosten für repetitive Aufgaben. Dieser datengesteuerte Ansatz hilft Ingenieuren, Parameter wie top_k und Ähnlichkeitsschwellenwerte so einzustellen, dass Kosten und Leistung ausgeglichen werden.
Was Sie tun können
- Installieren Sie NVIDIA NeMo Agent Toolkit Version 1.6 oder höher und stellen Sie sicher, dass Ihre Umgebung Python 3.11 oder 3.12 ausführt.
- Erstellen Sie einen Amazon S3 Vectors Bucket und Index mit einem Metadatenschema, das den Speicheranforderungen Ihres Agenten entspricht, und verwenden Sie 1024 Dimensionen für Titan-Einbettungen.
- Implementieren Sie die
MemoryEditor-Schnittstelle in Python, um NAT mit Ihrem S3-Vectors-Index zu verbinden, wobei die Generierung von Einbettungen und das Tagging von Metadaten behandelt werden. - Konfigurieren Sie den
auto_memory_agent-Wrapper in Ihrer NAT-YAML-Konfiguration, um die automatische Erfassung und Abrufung von Gedächtnisinhalten für Ihre Agenten zu aktivieren. - Führen Sie vergleichende Bewertungen mit
nat evalmit aktiviertem und deaktiviertem Gedächtnis durch, um Änderungen in Genauigkeit, Fundiertheit und Leistung zu messen.

