Öffnet in einem neuen Tab

Auswahl einer Memory-Engine für einen Agent-Loop

Ein Agent ohne Gedächtnis ist ein sehr teurer Goldfisch. Er kann Werkzeuge aufrufen, über das Zurückkommende nachdenken und etwas Brauchbares produzieren – und dann endet die Session und alles ist weg. Der nächste Lauf beginnt bei null und macht die gleichen Fehler in der gleichen Reihenfolge.

In der dritten Sitzung zum Aufbau von Whale, unserem Agent Harness, schrieb ich keine Zeile Engine-Code. Ich verbrachte die gesamte Sitzung damit zu entscheiden, was hinter dem Memory-Hook platziert werden sollte, den wir bereits in den Haupt-Loop integriert hatten. Dies ist die Zusammenfassung dieses Vergleichs: vier Kandidaten, die tatsächlich relevanten Kriterien und die abschliessende Entscheidung – welche sich, wie sich herausstellte, nicht über die Woche hinweg bewährte.

Speicher ist nicht Chatverlauf

Das Erste, was geklärt werden muss: Der fortgeführte Gesprächsverlauf ist kein Gedächtnis. Der Chat-Verlauf ist ein Protokoll, das wächst, bis es das Context Window überlädt. Gedächtnis ist der gegenteilige Ansatz – die Entscheidung darüber, was den Erhalt wert ist, in welcher Form, damit es nach Relevanz und nicht nach Aktualität abgerufen werden kann.

Diese Umdeutung verwandelt die Frage „Welche Datenbank?“ in etwas Komplexeres. Die Engine muss vier Punkte beantworten:

  • Kurzfristig gegen langfristig. Unterscheidet es, was in dieser Sitzung passiert ist, von dem, was der Agent im Allgemeinen weiss, oder ist alles ein undifferenzierter Haufen?
  • Vector Store gegen Knowledge Graph. Similarity Search findet Dinge, die sich ähnlich lesen. Ein Graph findet Dinge, die verbunden sind. Die meisten echten Fragen, die ein Agent stellt, betreffen Verbindungen.
  • Token-Effizienz. Was auch immer aus dem Speicher zurückkommt, wird in einen Prompt eingefügt. Eine Engine, die üppig zurückgibt, verbrennt Ihr Budget in jedem einzelnen Schritt.
  • Wie es an den Loop angebunden wird. Wir hatten bereits den Hook. Die Engine schliesst entweder sauber daran an, oder sie will den Control Flow übernehmen – und eine Engine, die den Loop übernehmen will, ist keine Komponente, sondern ein Rewrite.

Wie wir recherchiert haben

Nicht durch vierstündiges Lesen der Dokumentation. Ich habe für jeden Kandidaten einen separaten Research-Agenten gestartet – jeweils mit demselben Prompt: das Repository lesen, die Dokumentation lesen, die Kommentare lesen, erklären, wie es funktioniert, und dann eine Einschätzung abgeben, ob es als Memory-Agent für ein Harness wie unseres dienen kann.

Vier Agenten arbeiteten parallel, während ich ihre Ausgabe las, sobald sie eintraf. Es ist eine kleine Sache, aber sie ist die ehrliche Antwort auf die Frage „Wofür verwenden Sie Agenten tatsächlich?“, nämlich genau dies. Das gleichzeitige Lesen von vier Codebasen ist die Art von Arbeit, bei der ein Agent seine Kosten rechtfertigt, da eine falsche Zusammenfassung leicht zu erkennen ist und eine korrekte einen ganzen Nachmittag spart.

Was folgt, ist meine Lesart dessen, was zurückkam.

Die vier Kandidaten

Semantica – „das Open-Source-Palantir für KI-Agenten“, wie es in den eigenen Worten heisst – erwies sich keineswegs als eine Speicherbibliothek. Es handelt sich um eine Plattform mit einer speicherähnlichen API; der Schwerpunkt liegt auf einer Datenpipeline mit ETL, die Dokumente verarbeitet und personalisiert, unterlagert von einem Vector Store. Wenn Sie ein Data Lake benötigen, mit dem ein Agent kommunizieren kann, ist die Lösung tatsächlich leistungsfähig. Wir suchten jedoch nicht nach einem Data Lake. Wir suchten nach etwas Kleinem, das in einen Loop integriert werden kann, und das Abhängigkeitsgewicht wies in eine andere Richtung.

Die Neo4j-Gedächtnisschicht ist die mit der klarsten Haltung, und das meine ich als Kompliment. Sie kommt mit einer klaren Vorstellung davon, was Agent-Gedächtnis ist: drei Ebenen – Konversation, Sitzung, Nachricht – sowie Entitätserkennung und Fakten, die als Subjekt-Prädikat-Objekt-Triples gespeichert werden, was RDF-Denken unter einer freundlicheren Oberfläche darstellt. Die API-Oberfläche ist breit, die Entitätserkennung ist gut, und sie ist gut nachvollziehbar. Der Preis ist das Backend: Sie befinden sich in der Welt von Neo4j, selbst gehostet oder verwaltet, und zahlen dafür mit operationalem Aufwand.

OpenWolf ist minimalistisch und das einzige Tool, das ich bereits in einem anderen Projekt eingesetzt habe. Es verwaltet einen projektweiten Speicher über Claude Code, Codex und OpenCode hinweg, funktioniert über Hooks und ist bemerkenswert effizient im Tokenverbrauch – was keineswegs eine kleine Tugend ist. Es löst jedoch ein leicht anderes Problem: Es hält den Speicher strukturiert und präsent; es ist keine allgemeine Engine, auf der Sie aufbauen können. Es blieb im Vergleich, weil seine Einfachheit ein ständiges Argument gegen alles Schwerfälligere darstellt.

cognee ist der direkteste Konkurrent zu dem, was Whales Speicher sein soll, und war der einzige Moment in der Sitzung, in dem ich dachte: „Jemand hat das bereits gebaut.“ Eine austauschbare, persistente, mehrschichtige Speicherlösung für Agents, die einen Knowledge Graph mit einem Vector Store und einem Cache kombiniert, mit austauschbaren Providern auf jeder Ebene, einem regelbasierten Klassifikator, der den Suchtyp für eine gegebene Query auswählt, sowie Self-Improvement Loops darauf aufbauend. Es handelt sich um eine Interface Library im besten Sinne: Sie schreibt nicht vor, welche Graph Database verwendet werden soll, sondern stellt eine Factory zur Verfügung und tritt in den Hintergrund.

Der Vergleich auf einen Blick

Form Stärke Was es Sie kostet
Semantica (MIT)Plattform mit einer speicherähnlichen APIETL-Pipeline, Vektorspeicherung, starke StrukturSchwer; im Zentrum steht eine Pipeline, kein Loop
Neo4j agent memorySchicht mit klarer HaltungDrei Ebenen, Entity-Extraktion, Triples, TracingBackend-Bindung, operativer Aufwand
OpenWolf (AGPL-3.0)Minimalistische, hook-basierte Projekt-SpeicherungToken-effizient, einfach, intern bewährtEnger Zuschnitt; keine allgemeine Engine
cognee (Apache-2.0)Pluggable Multi-Layer-SpeicherungGraph + Vektoren + Cache, provider-agnostisch, selbstverbesserndKomplexität; mehr Maschinerie, als ein erster Entwurf benötigt

Was ich beschloss und was danach geschah

Am Ende der Sitzung war die Antwort cognee, mit einem Vorbehalt, den ich auf der Aufnahme ausspreche: bis zum nächsten Mal, vielleicht tauchen bessere Ideen auf.

Das taten sie. Innerhalb einer Woche hat ein Paper die Frage für mich neu gestellt – nicht „wo speichere ich, was der Agent weiss“, sondern „was für ein Ding ist das Gedächtnis eines Agenten überhaupt“. Die Antwort, die wir schliesslich implementiert haben, speichert Prozeduren statt Fakten und schreibt sich selbst um, wenn diese fehlschlagen. Das ist der nächste Beitrag und die nächste Sitzung.

Wenn Sie sonst nichts mitnehmen, dann dies: Der Vergleich hat sich trotzdem gelohnt. Nicht, weil er den Gewinner auswählte – das tat er nicht –, sondern weil er die vier Kriterien hervorbrachte. Als die bessere Idee aufkam, konnte ich feststellen, dass sie in diesen Begriffen besser war, in rund zehn Minuten, statt eine Woche lang mit mir selbst zu diskutieren.

Die Session ansehen

Creating an AI Agent Harness: Iteration 3 — Memory Engine Research Creating an AI Agent Harness: Iteration 3 — Memory Engine Research — auf YouTube ansehen →
Kapitel: 00:00 Rückblick · 01:04 Warum ein Memory-Hook eine echte Engine benötigt · 02:06 Semantica · 04:12 Neo4j Agent Memory · 07:54 cognee · 10:06 Semantica Fazit · 14:15 Neo4j Fazit · 18:28 OpenWolf · 23:00 OpenWolf Fazit · 27:09 cognee Fazit · 31:20 Fazit.
  • Die bisherigen Folgen: https://www.youtube.com/playlist?list=PLPbgiIdJb7gE
  • Start der Serie: https://nowtec.solutions/blog/creating-an-agent-harness/
  • Code: https://github.com/nowtec/whale

Dieser Artikel wurde unter Zuhilfenahme von KI-Tools verfasst und vor der Veröffentlichung von unserem Team geprüft (EU-KI-Verordnung, Art. 50).

Lass uns reden

Fülle das Formular aus und teile uns mit, welche Herausforderung du lösen möchtest. Wir melden uns mit individuellen Empfehlungen und passenden Lösungsansätzen zeitnah bei dir.

Vladimir Stajilov

CTO @nowtec solutions | nowCRM | nowCDP | 🤖 Automation with AI and LLMs 🔌 Low-Code ☁️ Cloud
Beiträge durchsuchen