Tools/RAG & Retrieval

Zep-Review: Agenten-Memory auf einem temporalen Graphen

Zep ist eine gehostete Agenten-Memory-API auf einem temporalen Knowledge Graph: Credits beim Schreiben, Retrieval gratis, Flex ab 125 Dollar im Monat, Graphiti als selbst hostbarer Teil.

Art
Agent memory
Preis
Apache-2.0 core · Cloud from $50 per month

··11 Min. Lesezeit

  • Agent memory
  • Knowledge graph
  • Temporal graph
  • Context engineering
  • RAG
Diagramm, wie eine Aussage in Zep den Prompt erreicht: Nachrichten und Aussagen werden in einen benutzerspezifischen Context Graph aus Entitäten und Beziehungen extrahiert, und der Retrieval durchläuft den Graphen und liefert einen Kontextblock mit den tragenden Fakten.

Das Wichtigste in Kürze

  • Zep ist eine gehostete Agenten-Memory-API, die Aussagen in einem temporalen Knowledge Graph speichert und den Kontext zurückgibt, den ein Assistent in der nächsten Runde sehen soll.
  • Credits werden nur beim Schreiben fällig, eine Episode bis 350 Byte kostet ein Credit, während Retrieval, Speicherung, Threads und Benutzer gratis sind.
  • Die Self-Serve-Tarife sind Free mit 10.000 Credits, Flex für 125 Dollar mit 50.000 Credits und Flex Plus für 375 Dollar mit 200.000 Credits, SOC 2 Type II und ein HIPAA-BAA bleiben der Enterprise-Stufe vorbehalten.
  • Zep Community Edition wurde im April 2025 eingestellt, deshalb ist Graphiti der einzige Teil, den man selbst betreiben kann.
  • Die Extraktion läuft bei jedem Schreiben über ein Modell, wodurch die Kosten davon abhängen, wie gesprächig der Agent ist, und Extraktionsfehler zu still falschem Kontext werden.

Zep ist ein Agenten-Memory-Dienst: die Anwendung schickt Nachrichten und Aussagen, der Dienst führt pro Benutzer einen temporalen Knowledge Graph, und bei jedem Aufruf liefert er den Kontext, den ein Assistent als Nächstes sehen soll. Er ist der richtige Kauf für ein Team, dessen Agenten daran scheitern, dass sie vergessen, und der falsche für ein Team, das alles selbst betreiben muss, denn der einzige selbst hostbare Teil ist die Bibliothek Graphiti.

Der Dienst sitzt zwischen Anwendung und Modell und ersetzt selbst gebaute Summary-Buffer, Vektorspeicher voller alter Chat-Protokolle und die Memory-Helfer in LangChain und LlamaIndex. Konkurrenz sind Mem0, LangMem, ein Postgres-Tisch plus Embeddings und die Long-Term-Memory-Endpunkte der Modell-Anbieter; der Unterschied: Zep speichert Aussagen mit Gültigkeitsbeginn und -ende statt als flache Liste vergangener Nachrichten.

Was es ist

Das Produkt ist eine verwaltete API: user.add für dauerhafte Aussagen, thread.create und thread.add_messages für Gespräche, graph.get_user_context für Retrieval. Gearbeitet wird beim Eingang: ein Extraktionsschritt macht aus jeder Episode Entitäten, Relationen und Beobachtungen mit Zeitstempel, und der Retrieval montiert einen Kontextblock samt der ihn tragenden Fakten. Die Open-Source-Hälfte ist Graphiti, eine Apache-2.0-Bibliothek, die dieselbe zeitliche Graphenpflege erledigt, inklusive inkrementeller Aktualisierung auf Fakten-Ebene statt eines nächtlichen Voll-Reindex.

  • Lizenz und Eigentümer: Graphiti ist Apache-2.0 und wird von Zep Software gepflegt; der Zep-Memory-Dienst selbst ist ein geschlossenes, gehostetes Produkt.
  • Self-Hosting: Zep Community Edition wurde im April 2025 eingestellt und der Code in einen Legacy-Ordner verschoben, deshalb läuft die Graph-Engine lokal, der volle Dienst aber nicht.
  • Abrechnung: eine Credit pro Episode bis 350 Byte, eine weitere je weiteren 350 Byte oder Teil davon, und ein Achtel-Credit pro Webhook-Aufruf.
  • Nicht abgerechnet: Retrieval, Speicherung, Threads, Benutzer und Graph-Speicher kosten nichts, ein leseintensiver Agent bleibt also billig in Betrieb.
  • Performance: der Anbieter meldet p95-Retrievallatenz von 148 ms bei 10.000 Knoten und 168 ms bei 100 Millionen Knoten.
  • Benchmarks: vom Anbieter gemeldet 94,7 Prozent auf LoCoMo und 90,2 Prozent auf LongMemEval, zwei Memory-Benchmarks mit langen Gesprächen.
  • Deployment: Cloud, Cloud mit kundenverwalteten Schlüsseln oder Bring-Your-Own-Cloud in der VPC des Kunden; SOC 2 Type II und ein HIPAA-BAA gehören zur Enterprise-Stufe.

Wie es funktioniert

Jede gesendete Nachricht oder Aussage ist eine Episode. Ein Extraktionsschritt lässt ein Modell Entitäten und Relationen erkennen, schreibt sie mit Gültigkeitsfenster in den Graph und berührt nur die Knoten, die diese Episode betrifft: eine Korrektur schließt das vorherige Intervall, statt es zu überschreiben. Der Retrieval läuft danach durch den Graph rund um das Thema der aktuellen Frage, nimmt die weiterhin gültigen Fakten und die jüngsten Episoden und liefert einen Kontextstring innerhalb eines Token-Budgets.

Wie eine Aussage in den Prompt kommtVon der Anwendung geschriebene Nachrichten und Aussagen werden in einen benutzerspezifischen Context Graph aus Entitäten und Beziehungen extrahiert, jeweils mit einem Gültigkeitsfenster. Bei jedem Aufruf durchläuft der Retrieval-Aufruf diesen Graphen, überschrittene Aussagen auslässt und einen Kontextblock samt belegender Fakten zurückgibt.Context GraphEntitäten und Fakten über ZeitAliceCRM-MigrationSnowflakeQ3-Terminarbeitet anabgelöst durchget_user_context
Der Graph wird pro Benutzer und pro Thread gepflegt, und der Retrieval montiert einen Kontextblock statt einer nach Ähnlichkeit sortierten Chunk-Liste.

Die entscheidende Designentscheidung ist temporal und nicht vektorbasiert. Eine Aussage hat eine Lebensdauer, deshalb beantwortet der Graph, was jetzt wahr ist, was sich wann geändert hat und welche von zwei widersprüchlichen Aussagen die andere ablöst. Ein zusammenfassender Puffer kann das ohne ein zweites System nicht, und reines Vector-Retrieval liefert, was textlich ähnlich ist, einschließlich der veralteten Version einer Aussage, die man letzte Woche korrigiert hat.

Erste Schritte

Das Quickstart der gehosteten Version besteht aus vier Aufrufen. Das Snippet unten speichert eine Aussage, öffnet einen Thread, hängt eine Nachricht an und fragt den Kontext ab, den ein Assistent erhalten soll.

from zep_cloud.client import Zep

client = Zep(api_key="zep-...")

# durable facts, extracted into the context graph
client.user.add(user_id="alice", fact="Alice leads the migration off the legacy CRM")

# episodic history: writes are charged as credits by size, retrieval is free
client.thread.create(thread_id="t-1", user_id="alice")
client.thread.add_messages(
    thread_id="t-1",
    messages=[{"role": "user", "content": "Where did we stop on the CRM migration?"}],
)

# what the assistant should see on this turn
context = client.graph.get_user_context(user_id="alice", max_facts=25)
print(context.context)

Zwei Dinge verhalten sich anders als in einem Vektorspeicher. Erstens ist der Eingang asynchron und kostenpflichtig, deshalb ist das natürliche Muster, Nachrichten beim Auflaufen zu schicken und Kontext einmal pro Runde zu lesen. Zweitens liefert der Retrieval Fließtext mit den tragenden Fakten statt Chunk-Ids, was die Zusammenfassungsentscheidung aus dem Prompt in den Dienst verlegt; bequem, aber die Qualität dessen, was das Modell jetzt sieht, ist nun zu einem guten Teil die Extraktionsqualität von Zep und nicht mehr nur der eigene Prompt.

Performance und Kosten

Kosten sind Credits, und Credits sind Byte: eine 700-Byte-Nachricht kostet zwei Credits, Flex mit 50.000 Credits im Monat fasst also etwa 25.000 durchschnittliche Nachrichten, bevor die Überlauf-Rechnung mit 25 Dollar pro 10.000 Credits kommt. Ungewöhnlich ist, dass Retrieval nicht abgerechnet wird, denn genau diesen Aufruf macht ein Agent in jeder Runde; gezahlt wird nur, wenn Memory geschrieben wird.

OperationCredit-KostenWann abgerechnetWorauf achten
Episode bis 350 Byte1Bei jedem Schreiben: Nachricht, Aussage oder JSON-PayloadRohes Tool-Ergebnis in Nachrichten ist der übliche Überschreiter
Weitere 350 Byte+1Pro Episode, aufgerundetEine Episode von 1.200 Byte kostet schon 4 Credits
Webhook-Aufruf1/8Wo Webhooks aktiviert sindRed automatisierte Abläufe summieren sich still
Retrieval, Speicher, Benutzer0NieLeseintensive Agenten bleiben billig

Die Self-Serve-Tarife sind Free mit 10.000 Credits im Monat, Flex für 125 Dollar mit 50.000 Credits und Flex Plus für 375 Dollar mit 200.000 Credits, mit Überlauf zu 25 Dollar pro 10.000 beziehungsweise 75 Dollar pro 40.000 Credits. Die Latenzzahlen stammen vom Anbieter: p95-Retrieval von 148 ms bei 10.000 Knoten und 168 ms bei 100 Millionen, also kein sichtbares Abfallen mit der Größe, und nichts über die Latenz des darvorlaufenden Extraktionsschritts.

  • Den Tarif nach Schreibvorgängen bemessen und nicht nach Lesevorgängen: Nachrichten pro Tag mal durchschnittliche Byte mal Credits mal dreißig.
  • Rohes Tool-Material entfernen, bevor es Episode wird; ein zusammengefasstes Tool-Ergebnis kostet einen Bruchteil eines Transkripts.
  • Ein Fakten-Budget für den Retrieval setzen, damit der Kontextblock nicht zu einem System-Prompt wächst, den niemand liest.

Nichts davon ist unüblich für einen Memory-Anbieter, sie rechnen alle Schreibvorgänge ab und versprechen billige Lesevorgänge. Das spezifische Risiko liegt im Extraktionsschritt, denn was der Extraktor übersieht, lässt sich später nicht abrufen: über die rohen Nachrichten gibt es, sobald sie zu Fakten reduziert sind, keinen zweiten Durchgang mehr.

Preise

Die Preisliste zeigt kreditbasierte Self-Serve-Tarife und einen verhandelten Enterprise-Tarif. Der bezahlte Einstieg auf der aktuellen Seite ist Flex für 125 Dollar im Monat, darunter gibt es nur noch die Gratis-Stufe; Enterprise ergänzt individuelle Credits, garantierte Rate Limits und die Compliance-Unterlagen.

  • Free: 10.000 Credits im Monat, zwei Projekte, ein Memory-MCP-Server-Platz, variable Rate Limits, kein Übertrag.
  • Flex: 125 Dollar im Monat für 50.000 Credits, danach 25 Dollar pro 10.000, 600 Anfragen pro Minute, fünf Projekte, 30 Tage Übertrag, Community-Support.
  • Flex Plus: 375 Dollar im Monat für 200.000 Credits, danach 75 Dollar pro 40.000, 1.000 Anfragen pro Minute, Observations, Webhooks, Analytics und sieben Tage API-Logs.
  • Enterprise: individuelle Credits und Preise, SOC 2 Type II, HIPAA-BAA, ein Jahr Audit- und API-Logs, DPA für EU-Kunden, Deployment in der eigenen VPC.

Wo es scheuert

Mit der Deployment-Schwäche beginnen: Seit die Community Edition im April 2025 eingestellt wurde, läuft die Graph-Engine, Graphiti, lokal, das Produkt aber nicht, deshalb ist ein air-gapped oder reguliertes Deployment eine Enterprise-Geschichte und die Self-Serve-Stufen enthalten weder SOC 2 Type II noch ein BAA. Zweitens ist nur Memory so gut wie die Extraktion, und die Extraktion ist ein Modell-Aufruf, deshalb ist eine halluzinierte Relation oder ein verpasstes Update kein abfragbarer Fehler, sondern still falscher Kontext. Drittens macht die Kreditabrechnung die Kosten davon abhängig, wie gesprächig der Agent ist, und nicht davon, wie viele Benutzer er bedient. Viertens ist ein Graph eine andere Debugging-Fläche als ein Chat-Log: Warum das Modell eine Aussage gesehen hat, erklärt nur der Graph, nicht das Transkript.

WerkzeugWas es istWo es gewinntWas man aufgibt
ZepGehostete Memory-API über einen temporalen Context GraphAussagen mit Gültigkeitsfenstern und p95 laut Anbieter unter 170 msKein selbst gehostetes Produkt, jedes Schreiben kostet Credits
Mem0Open-Source-Memory-Schicht mit gehosteter OptionEinfachere API und ein selbst betreibbarer ServerFlacheres Memory-Modell mit weniger temporaler Buchführung
LangMem und LangGraphMemory-Bausteine innerhalb eines Graph-FrameworksMemory direkt neben den Agenten und Speichern, die man ohnehin betreibtSpeicher, Extraktion und Retrieval muss man selbst zusammensetzen
Postgres plus EmbeddingsChat-Verlauf in einer Tabelle, Ähnlichkeitssuche darüberKein neuer Anbieter, volle Kontrolle über die DatenKein temporales Reasoning, veraltete Aussagen bleiben abrufbar

Die eigentliche Frage ist, ob Vergessen der Fehlermodus ist. Wenn Agenten sich wiederholen, Entscheidungen zwischen Sitzungen verlieren oder nicht sagen können, was sich geändert hat, beantwortet ein Graph mit Gültigkeitsfenstern das direkt. Wenn das Retrieval ständig das falsche Dokument liefert, ist Memory die falsche Schicht überhaupt, und derselbe Aufwand bei Chunking und Reranking zahlt sich schneller zurück.

Fazit

Zep ist ein gutes Produkt mit klarem Eintrittspreis: Es löst das Vergessen gut, und was es kostet, ist die Möglichkeit, das Ganze selbst zu betreiben. Teams, die Agenten an zahlende Nutzer ausspielen, wo der sichtbare Fehler der Kunde ist, der dieselbe Frage zweimal bekommt, sollten es nehmen. Teams mit Data-Residency-Auflage sollten auf Graphiti aufbauen und den Dienst darum herum selbst besitzen.

  1. Nehmen, wenn Agenten daran scheitern zu vergessen, und der Fehler als wiederholte Fragen oder verlorene Entscheidungen zwischen Sitzungen auftaucht.
  2. Nehmen, wenn Memory-Schreibvorgänge menschliche Nachrichten sind: Das Credit-Modell ist am billigsten, wenn Episoden kurz und selten sind.
  3. Nicht nehmen als selbst gehostetes Deployment, denn seit April 2025 gehört nur Graphiti einem selbst, alles darum herum lebt in Zeps Cloud.
  4. Nicht nehmen, wenn die Retrieval-Qualität und nicht das Memory das Problem ist, denn keine Memory-Schicht repariert einen schlechten Index.
  5. Den Extraktionsschritt budgetieren: Jedes Schreiben ist ein Modell-Aufruf, deshalb folgen die Kosten der Weitschweifigkeit des Agenten und nicht der Zahl der Nutzer.
Agent Memory ist ein State-Management-Problem im Kostüm der KI: Ein Graph, der Aussagen eine Lebensdauer gibt, ist genau das, was ein Summary-Puffer nicht leisten kann, und die Rechnung ist ein Modell-Aufruf für jede Nachricht, an die man sich erinnern will.

Quellen

  1. Zep-Preise: Tarife, Credits und Limits
  2. Zep-Dokumentation
  3. Graphiti auf GitHub
  4. Graphiti-Produktseite
  5. Neue Richtung für die Open-Source-Strategie von Zep
  6. Graphiti: temporale Knowledge Graphs für KI-Agenten (arXiv)

Häufige Fragen

Wie rechnet Zep Nutzung ab?

Nach Credits beim Schreiben: eine Episode bis 350 Byte kostet ein Credit, eine Episode von 640 Byte zwei und eine von 1.200 Byte vier. Retrieval, Speicherung, Threads, Benutzer und Graph-Speicher kosten nichts, ein leseintensiver Agent läuft also billig weiter.

Lässt sich Zep selbst hosten?

Nicht als Produkt. Zep Community Edition wurde im April 2025 eingestellt, der Code liegt in einem Legacy-Ordner; Graphiti, die temporale Graph-Bibliothek unter Apache-2.0, läuft lokal, und der volle Dienst ist in der eigenen VPC nur über die Enterprise-Stufe erhältlich.

Was kostet Zep?

Die Gratis-Stufe gibt 10.000 Credits im Monat, Flex kostet 125 Dollar im Monat für 50.000 Credits mit Überlauf zu 25 Dollar pro 10.000, Flex Plus 375 Dollar für 200.000 Credits. Der Enterprise-Preis wird verhandelt und ergänzt SOC 2 Type II, ein HIPAA-BAA und Deployment-Optionen.

Was unterscheidet Zep von einem Vektorspeicher für Chat-Verläufe?

Ein Vektorspeicher liefert, was textlich ähnlich ist, einschließlich abgelöster Aussagen, während Zep Entitäten und Relationen mit Gültigkeitsfenstern speichert, sodass Retrieval liefern kann, was jetzt wahr ist und was sich geändert hat. Der Preis dafür ist ein Modell-Aufruf bei jedem Schreiben, dessen Fehler zu Kontext werden.

Klingt nach dem, was du suchst?

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