MemAware – Ein Benchmark, der misst, ob ein AI-Agent weiß, „was ich weiß“
(github.com/kevin-hs-sohn)Beim Aufbau eines Memory-Systems für AI-Agenten habe ich eine gemeinsame Grenze bestehender Benchmarks entdeckt.
Bestehende Memory-Benchmarks wie LoCoMo, LongMemEval und MemoryAgentBench testen alle dasselbe: „Kann die Antwort in früheren Gesprächen gefunden werden?“ Das ist ein Test der Suchmaschinenleistung, nicht ein Test des Memory-Systems.
Die eigentliche Schwierigkeit bei echten Multi-Session-Agenten ist, früheren Kontext, den der Nutzer nicht erwähnt hat, selbstständig abzurufen.
Beispiel
Easy — ein Fall, der sich wegen überlappender Keywords per Suche finden lässt:
„Meine Katze Luna zerkratzt ständig das neue Sofa. Kannst du eine Trainingsmethode empfehlen?“
→ Man muss sich erinnern, dass Luna die Katze des Nutzers ist
Medium — gleiche Domäne, aber andere Keywords:
„Auf welche Uhrzeit soll ich den Alarm stellen, damit ich rechtzeitig zum Meeting um 8:30 da bin?“
→ Man muss sich an die vor 6 Wochen erwähnte Pendelzeit von 45 Minuten pro Strecke erinnern. Wenn man nach „Alarm Meeting“ sucht, taucht das Gespräch über das Pendeln nicht auf
Hard — Verknüpfung zwischen völlig unterschiedlichen Domänen:
„Ich habe mein Uni-Transcript von 2010 angefordert, aber unter meinem aktuellen Namen gibt es keinen Eintrag.“
→ Man muss sich erinnern, dass der Nutzer seinen Nachnamen von Johnson geändert hat. „Transcript“ und „Namensänderung“ haben überhaupt keine Keyword-Überschneidung
Ergebnisse
Baseline für 900 Fragen (300 pro Schwierigkeitsgrad):
| Methode | Easy | Medium | Hard | Gesamt |
|---|---|---|---|---|
| Kein Memory | 1.0% | 0.7% | 0.7% | 0.8% |
| BM25-Suche | 4.7% | 1.7% | 2.0% | 2.8% |
| BM25 + Vektorsuche | 6.0% | 3.7% | 0.7% | 3.4% |
Wichtigste Erkenntnisse:
- BM25-Suche hilft fast gar nicht. Nur eine minimale Verbesserung von 0.8% → 2.8%, bei 5-fach höherem Token-Verbrauch
- Auch Vektorsuche liegt bei Hard bei 0.7% — identisch zu gar keinem Memory. Mit semantischer Ähnlichkeit lässt sich die Verbindung „Transcript-Anfrage“ → „Namensänderung“ nicht herstellen
- Die Strategie „immer suchen“ verschwendet nur Kosten. Sie verbraucht ~4.7K Token pro Frage, liefert aber meist irrelevantes Rauschen
Aktuelle RAG-basierte Memory-Systeme (ChatGPT Memory, Mem0, MemGPT usw.) folgen alle dem Muster „jedes Mal suchen“, und die Daten zeigen, dass das bei implizitem Kontext strukturell an Grenzen stößt.
Es basiert auf Sitzungsdaten aus LongMemEval (ICLR 2025, MIT-Lizenz) und hat eine Plugin-Struktur, mit der sich eigene Memory-Systeme testen lassen.
Mich würden Meinungen zu Ansätzen interessieren, die den Schwierigkeitsgrad Hard lösen können.
Noch keine Kommentare.