Tools/RAG & Retrieval
Mem0: was eine Agent-Speicherschicht pro Runde kostet
Ein Review von Mem0: extrahierte Fakten pro Runde, die Benchmark-Tabelle vom April 2026 mit Plattform-Vorbehalt, vier Cloud-Stufen und die Lücken beim Self-Hosting.
- Art
- Agent memory
- Preis
- Free tier · from $19 per month
Balázs Csorba··10 Min. Lesezeit
- Agent memory
- Long-term memory
- RAG
- Vector search

Das Wichtigste in Kürze
- Mem0 macht aus Gespräch gespeicherte Fakten: Ein LLM extrahiert, dedupliziert und bettet sie ein, jeder Schreibvorgang kostet also einen Modellaufruf zusätzlich zum Speichern.
- Der aktuelle Algorithmus erreicht auf LoCoMo 92,5 und auf LongMemEval 94,4, und das README sagt, dass diese Zahlen von der verwalteten Plattform stammen, nicht vom Open-Source-SDK.
- Die Cloud-Stufen sind Hobby kostenlos, Starter für 19 Dollar im Monat und Pro für 249 Dollar im Monat; Graph Memory und Dream Consolidation sind erst ab Pro enthalten.
- Die Open-Source-Retrieval hat keinen Graph Memory und verstärkt nur über Entitäts-Overlap, wer selbst hostet, kauft also die API und nicht die Benchmark-Tabellen.
- Die kostenlose Stufe erlaubt 10.000 Add- und 1.000 Retrieval-Anfragen pro Monat, also rund 33 Suchanfragen am Tag.
Mem0 ist eine Speicherschicht für Agenten: Gespräch hinein, Fakten heraus, und die Fakten werden vor dem nächsten Modellaufruf zurückgeholt. Die hier vertretene Position ist, dass es die sorgfältigste Memory-API dieses Marktes und zugleich eine schlechte Wahl ist, denn ein LLM-Aufruf sitzt auf dem Schreibpfad — Erinnern wird pro Runde abgerechnet, nicht pro Nutzer. Es lohnt sich, wenn Erinnerungen Sitzungen überdauern und je Nutzer, Agent und Lauf gefiltert werden müssen; eine rollierende Zusammenfassung mit einer Tabelle ist besser, wenn das nicht der Fall ist.
Es sitzt zwischen Anwendung und Modell, ersetzt das Anhängen von Transkript an den Prompt und konkurriert mit Zep, LangMem, Letta und dem, was Teams aus einer Datenbank und einem Zusammenfassungsschritt bauen. Geliefert wird in drei Formen unter einer API: eine Bibliothek unter Apache-2.0, ein selbst gehosteter Server hinter docker compose mit standardmäßig eingeschalteter Authentifizierung und eine gehostete Plattform mit Dashboard, metered Tarifen und MCP-Endpunkt.
Was es ist
Zwei Produkte tragen denselben Namen. Das Open-Source-Repositorium ist die mem0ai-Bibliothek für Python und JavaScript, eingebettet in einen Prozess; die Plattform ist eine gehostete API mit Scopes, Tarifen und Dashboard, die dasselbe SDK über HTTPS unter api.mem0.ai erreicht. Die Homepage führte Anfang Oktober 2026 62.590 GitHub-Stars auf.
- Auf PyPI als mem0ai, Version 2.2.1, unter Apache-2.0 veröffentlicht, mit einem passenden JavaScript-Paket.
- Drei Betriebsmodi im README: Bibliothek für einen Prototyp, ein docker-compose-Server mit standardmäßig eingeschalteter Authentifizierung für ein Team und die Cloud-Plattform ohne Betriebsaufwand.
- Die Operationen sind add, search, get_all, update und delete, jede mit user_id, agent_id, app_id oder run_id als Scope.
- Schreibvorgänge werden abgeleitet: Ein LLM extrahiert dauerhafte Fakten, dedupliziert und bettet sie ein; infer=False speichert die Rohmeldung stattdessen.
- Voreinstellungen sind gpt-5-mini für die Extraktion und text-embedding-3-small für die Einbettungen, mit Qdrant als mitgeliefertem Vektorstore.
- Gehosteter MCP-Server auf mcp.mem0.ai mit elf Speicherwerkzeugen, authentifiziert über Browser-Sign-in oder einen API-Key als Bearer-Token.
- Compliance laut Homepage: SOC 2 Typ 1, HIPAA und GDPR, mit BYOK und On-Premises-Deployment in der Enterprise-Stufe.
Wie es funktioniert
Die Pipeline ist asymmetrisch, und diese Asymmetrie ist das Produkt. Beim Add sucht Mem0 verwandte Erinnerungen, damit derselbe Fakt nicht doppelt gespeichert wird, extrahiert neue Fakten mit einem LLM, dedupliziert und bettet sie ein, zieht Entitäten heraus und schreibt in einen SQL-Store für Fakten, einen Vektorstore für Einbettungen und einen Entitätsstore für Verbindungen. Beim Search werden vier Signale bewertet und verschmolzen: semantische Ähnlichkeit, Keyword-Matching, Entitäts-Overlap und ein Zeit-Signal aus den Metadaten der Extraktionszeit.
Die Dokumentation sagt klar, was daraus folgt: Die Plattform verschmilzt alle vier Signale mit Graph-gestütztem Entity Matching, die Open-Source-Version hat keinen Graph Memory und verstärkt nur über den Entitäts-Overlap, abhängig vom konfigurierten Vektorstore. Die Extraktion ist zudem additiv — ein neuer Fakt überschreibt keinen alten stillschweigend —, Korrekturen brauchen also explizite Update- oder Delete-Aufrufe. Für ein Audit-Log der richtige Standard, für einen Nutzer, der gerade umgedacht hat, ärgerlich.
Erste Schritte
Der gehostete Weg besteht aus zwei Aufrufen. SDK installieren, API-Key im Dashboard holen und jedem Aufruf einen Scope geben: Eine Erinnerung ohne user_id, ohne agent_id und ohne run_id bekommt der Nächste, der danach fragt.
from mem0 import MemoryClient
client = MemoryClient(api_key="your-api-key")
messages = [
{"role": "user", "content": "I'm a vegetarian and allergic to nuts."},
{"role": "assistant", "content": "Noted."},
]
client.add(messages, user_id="user123")
results = client.search(
"What are my dietary restrictions?",
filters={"user_id": "user123"},
)
for r in results["results"]:
print(r["memory"], r["score"])Die Open-Source-Bibliothek hat dieselbe Form und keinen Server dahinter: from mem0 import Memory, dann add, search, update und delete gegen Stores, die man selbst betreibt. Vor dem ersten Aufruf braucht sie einen LLM-Key und einen Vektorstore — das ist der eigentliche Unterschied zwischen beiden Hälften: Die Bibliothek ist Apache-2.0, und die Retrieval-Qualität der Benchmark-Tabellen lebt auf der Plattform.
Benchmarks
Mem0 veröffentlicht eigene Zahlen, mehr als die meisten Speicherschichten, und das README beschreibt die Methode: Retrieval in einem Durchlauf, ein Aufruf ohne agentischen Loop, ein Retrieval-Budget von 200 Treffern, auf demselben produktionsnahen Modell-Stack.
| Benchmark | Vor April 2026 | Aktueller Wert | Tokens pro Abfrage | p50-Latenz |
|---|---|---|---|---|
| LoCoMo | 71,4 | 92,5 | 7,0K | 0,88 s |
| LongMemEval | 67,8 | 94,4 | 6,8K | 1,09 s |
| BEAM, 1M Tokens | nicht veröffentlicht | 64,1 | 6,7K | 1,00 s |
| BEAM, 10M Tokens | nicht veröffentlicht | 48,6 | 6,9K | 1,05 s |
Der Vorbehalt steht im selben Absatz: Diese Werte spiegeln die verwaltete Plattform, die proprietäre Optimierungen trägt, die es im Open-Source-SDK nicht gibt; Open-Source-Nutzer sollen mit in die Richtung gehenden, nicht identischen Zahlen rechnen. Das dahinterliegende Paper, im April 2025 auf arXiv veröffentlicht, nennt 91% niedrigere p95-Latenz und mehr als 90% Token-Ersparnis gegenüber Full-Context-Prompting auf LoCoMo, 26% relative Verbesserung im LLM-as-a-Judge gegenüber OpenAI Memory und etwa 2% mehr durch die Graph-Variante.
Preise
Die Preisseite misst zwei Zähler, Add-Anfragen und Retrieval-Anfragen, und Endnutzer sind auf jeder Stufe unbegrenzt. Die folgenden Werte sind das, was die Seite Anfang Oktober 2026 zeigte; nutzungsbasierte Preise gibt es für Traffic, der in keinen Tarif passt.
| Tarif | Preis | Add-Anfragen pro Monat | Retrieval-Anfragen pro Monat |
|---|---|---|---|
| Hobby | Kostenlos | 10.000 | 1.000 |
| Starter | 19 Dollar pro Monat | 50.000 | 5.000 |
| Pro | 249 Dollar pro Monat | 500.000 | 50.000 |
| Enterprise | Individuell | Unbegrenzt | Unbegrenzt |
Zwei Funktionen, die das Marketing tragen — Graph Memory für das Verknüpfen von Entitäten und Dream Consolidation — stehen unter Pro und Enterprise, nicht in den kostenlosen Stufen, und die eigene Vergleichstabelle im README nennt die fortgeschrittenen Funktionen des selbst gehosteten Servers Teaser. Die 1.000 Retrievals der Hobby-Stufe entsprechen rund 33 Suchanfragen am Tag: genug, um eine Integration zu beweisen, nicht genug, um ein Produkt zu betreiben.
Wo es hakt
Die Schwächen sind strukturell, nicht kosmetisch. Jeder Add ist ein Modellaufruf, also wachsen Schreiblatenz und Token-Rechnung mit dem Gesprächsvolumen, und der Extraktionsschritt kann eine Ableitung speichern, die der Nutzer nie gesagt hat — ein abgeleiteter Fakt ist schwerer zu prüfen als eine protokollierte Nachricht. Die Funktionen, die Mem0 interessant machen, liegen auf der Plattform; Open-Source-Version und bezahltes Produkt teilen sich eher den Namen als den Funktionsumfang. Lock-in ist real, aber moderat: Erinnerungen sind Zeilen, die sich über die API zurücklesen lassen, und für den Umstieg auf die v3-API gibt es eine veröffentlichte Migrationsanleitung.
| Option | Speichermodell | Betriebsaufwand | Wofür geeignet |
|---|---|---|---|
| Mem0 | Extrahierte Fakten, gefiltert nach Nutzer, Agent und Lauf | Eine Bibliothek zum Betreiben oder eine Plattform zum Bezahlen | Personalisierung über Sitzungen hinweg mit bekanntem Kosten pro Gespräch |
| Zep mit Graphiti | Temporärer Wissensgraph aus Episoden | Ein Graph-Store und seine Pflege | Beziehungsreiche Erinnerung, bei der die zeitliche Reihenfolge zählt |
| LangMem | Memory Stores und semantische Suche im LangChain-Stack | Teil der LangChain-Werkzeuge | Teams, die schon auf LangChain setzen |
| Eine Faktentabelle | Selbst geschriebene Zeilen plus pgvector | Eigenes SQL und ein Zusammenfassungs-Prompt | Kurzlebige Erinnerung und strenge Audit-Anforderungen |
Welche davon passt, hängt davon ab, wie viel Speicher das Produkt braucht, nicht davon, welche Zeile auf LoCoMo am höchsten steht. Ein Support-Agent mit ein paar dutzend dauerhaften Fakten pro Konto braucht keine Speicherschicht; ein Assistent mit einem Jahr Historie kann es sich nicht leisten, das Transkript neu zu lesen.
Fazit
Übernehmen, wenn Speicher eine Produktfunktion ist, die Sitzungen überdauert, und sich der Modellaufruf auf dem Schreibpfad in das Produkt einrechnen lässt. Weglassen, wenn der Kontext einer Sitzung in eine Zusammenfassung passt oder jeder gespeicherte Fakt eine vom Menschen prüfbare Herkunft braucht, weil das Inferieren beim Schreiben hier die Konstruktion ist und kein Nebeneffekt.
- Mit der Bibliothek anfangen: dieselbe API-Form, und der Wechsel zur Plattform bleibt offen.
- Jeden Aufruf scopen. Eine ungeschöpfte Erinnerung ist der einzige Fehlermodus, der Nutzer überschreitet.
- Den Schreibpfad vor dem Tarif budgetieren: ein Extraktionsaufruf pro Add ist das Kostenmodell, was der Plan auch kostet.
- Die Plattform nehmen für Graph Memory, zeitliches Ranking und verschmolzenes Retrieval — das, was die Open-Source-Version nicht hat.
- Niemals Secrets oder ungeschönte personenbezogene Daten speichern; Retrieval ist dafür gemacht, den Inhalt des Stores sichtbar zu machen.
Avoid storing secrets, raw credentials, or unredacted sensitive data. Mem0 is designed to retrieve stored context.
Quellen
Häufige Fragen
Ist Mem0 für Self-Hosting kostenlos?
Die Bibliothek steht unter Apache-2.0, und das README bietet einen docker-compose-Server mit standardmäßig eingeschalteter Authentifizierung, also keine Lizenzgebühr. Für die Extraktion braucht es weiterhin ein LLM, standardmäßig gpt-5-mini, und einen Vektorstore, standardmäßig Qdrant — die Kosten wandern zu Inferenz und Betrieb, nicht in ein Abo.
Mem0 oder eine Zusammenfassung des Transkripts in Postgres?
Wenn ein Produkt je Nutzer eine kurze Sitzung hat, sind eine rollierende Zusammenfassung und eine Faktentabelle günstiger, leichter zu prüfen und ohne Extraktionsschritt, der einen Fakt erfinden kann. Mem0 lohnt sich, wenn Erinnerungen Sitzungen überdauern, je Nutzer, Agent und Lauf gefiltert werden müssen und auf dem Hot Path jeder Anfrage gelesen werden.
Reicht die Open-Source-Version für die veröffentlichten Benchmark-Werte?
Nein, und das Repositorium sagt das: die Zahlen spiegeln die verwaltete Plattform, die proprietäre Optimierungen enthält, die es im Open-Source-SDK nicht gibt. Open-Source-Retrieval besitzt keinen Graph Memory und hängt vom konfigurierten Vektorstore ab.
Wie erreicht Mem0 einen Agenten, der bereits MCP spricht?
Über einen gehosteten Server auf mcp.mem0.ai per HTTPS mit elf Werkzeugen, darunter add_memory, search_memories, update_memory und delete_memory. Er authentifiziert über einen Browser-Sign-in oder einen als Bearer-Token gesendeten API-Key, und auf der Maschine des Entwicklers läuft nichts.