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

··10 Min. Lesezeit

  • Agent memory
  • Long-term memory
  • RAG
  • Vector search
Eine Schleife, die aus Gespräch gespeicherte Fakten macht und sie zurück in den Prompt liest

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.

How a memory is written and readA conversation box on the left feeds an extraction box in the middle, labelled one LLM call and ADD only, which produces facts rather than transcripts. An arrow continues to a deduplicate box that embeds the facts and links entities. From there the flow fans out into three stores: a SQL store for facts and metadata, a vector store for embeddings, and an entity store for boosting. The three stores merge into a search box at the bottom, labelled semantic, keyword, entity and time. A long return arrow runs from the search box back to the conversation box, labelled memories into the prompt, which closes the loop. A label at the top right reads one model call on the write path.How a memory is written and readone model call on the write pathConversationuser and assistant turnsExtractionone LLM call, ADD onlyfacts, not transcriptsDeduplicateembed and link entitiesSQL storefacts and metadataVector storeembeddingsEntity storelinks for boostingSearchsemantic, keyword, entity, timememories intothe prompt
Fakten werden pro Add einmal extrahiert und über einen gefilterten Search zurückgeholt; die Open-Source-Version hat keinen Entitäts-Graphen, ihr Entitäts-Signal ist Overlap auf extrahierten Begriffen.

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.

BenchmarkVor April 2026Aktueller WertTokens pro Abfragep50-Latenz
LoCoMo71,492,57,0K0,88 s
LongMemEval67,894,46,8K1,09 s
BEAM, 1M Tokensnicht veröffentlicht64,16,7K1,00 s
BEAM, 10M Tokensnicht veröffentlicht48,66,9K1,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.

TarifPreisAdd-Anfragen pro MonatRetrieval-Anfragen pro Monat
HobbyKostenlos10.0001.000
Starter19 Dollar pro Monat50.0005.000
Pro249 Dollar pro Monat500.00050.000
EnterpriseIndividuellUnbegrenztUnbegrenzt

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.

OptionSpeichermodellBetriebsaufwandWofür geeignet
Mem0Extrahierte Fakten, gefiltert nach Nutzer, Agent und LaufEine Bibliothek zum Betreiben oder eine Plattform zum BezahlenPersonalisierung über Sitzungen hinweg mit bekanntem Kosten pro Gespräch
Zep mit GraphitiTemporärer Wissensgraph aus EpisodenEin Graph-Store und seine PflegeBeziehungsreiche Erinnerung, bei der die zeitliche Reihenfolge zählt
LangMemMemory Stores und semantische Suche im LangChain-StackTeil der LangChain-WerkzeugeTeams, die schon auf LangChain setzen
Eine FaktentabelleSelbst geschriebene Zeilen plus pgvectorEigenes SQL und ein Zusammenfassungs-PromptKurzlebige 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.

  1. Mit der Bibliothek anfangen: dieselbe API-Form, und der Wechsel zur Plattform bleibt offen.
  2. Jeden Aufruf scopen. Eine ungeschöpfte Erinnerung ist der einzige Fehlermodus, der Nutzer überschreitet.
  3. Den Schreibpfad vor dem Tarif budgetieren: ein Extraktionsaufruf pro Add ist das Kostenmodell, was der Plan auch kostet.
  4. Die Plattform nehmen für Graph Memory, zeitliches Ranking und verschmolzenes Retrieval — das, was die Open-Source-Version nicht hat.
  5. 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

  1. Mem0-Dokumentation
  2. Mem0-Quickstart
  3. Wie Mem0 funktioniert
  4. Mem0-Preise
  5. Mem0 auf GitHub
  6. mem0ai auf PyPI
  7. Mem0-Forschung und Benchmarks
  8. Mem0-MCP-Server
  9. Mem0-Paper auf arXiv

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.

Klingt nach dem, was du suchst?

Erzähl mir von deinem Projekt oder deiner Stelle – ich freue mich, von dir zu hören.