Das amtliche Register für Agenten-Gedächtnis v0.3.0 · pre-release · MIT

Das Problem mit dem Gedächtnis von Agenten

Agenten-Gedächtnis speichert alles. Ob wahr oder nicht.

Verimem ist eine persistente Gedächtnisschicht, deren add() jeden Schreibvorgang durch ein Anti-Konfabulations-Zulassungsgate leitet — impliziert die Quelle den Fakt wirklich? — und deren search() bei jedem Lesen die Provenienz zurückgibt. Ein Hippocampus mit einem Notar an der Tür.

100 % kostenlos & Open Source — MIT-Lizenz. Selbst gehostet, local-first: kein Konto, kein API-Key, keine Abrechnung.

Zugelassengrounding 0.97
Schreibkandidat
„Das Deployment nutzt PostgreSQL 16.“
Quelle ⊢ Fakt — die zitierte Release-Note impliziert die Aussage.
Status ZUGELASSEN · mit Provenienz gespeichert.
§01 Das Zulassungsgate

Andere Gedächtnisschichten speichern, was immer ihr Extraktor ausgibt. Verimem nicht.

Beim Schreiben wird ein Kandidat-Fakt zugelassen, herabgestuft oder abgelehnt — je nachdem, ob die zitierte Quelle ihn tatsächlich impliziert. Ein günstiger, LLM-freier lexikalischer Filter stuft zuerst unbelegte Aussagen wie „funktioniert / verifiziert / erledigt“ herab; der strengste Modus fügt eine Quelle⊢Fakt-Implikationsprüfung hinzu. Auf SNLI gemessen erreicht sie AUROC 0.971, und diese Zahl ist richter-unabhängig.

Eine strukturierte Überprüfung von mem0, Zep, Letta, Cognee und MemOS ergab, dass keines von ihnen ein Zulassungsgate beim Schreiben hat. Dieses Gate — plus die Provenienz, die jedes Lesen zurückbringt — ist der ganze Punkt.

Illustrativ — das Gate in drei Urteilen

Zugelassen0.97
Schreiben · impliziert
„Das Deployment nutzt PostgreSQL 16.“
ZUGELASSEN · mit Provenienz gespeichert
Herabgestuft0.41
Schreiben · unbelegt
„Die Migration ist fertig und alles funktioniert.“
HERABGESTUFT · behalten, als wenig vertrauenswürdig markiert
Abgelehnt0.08
Schreiben · widersprochen
„Das API-Rate-Limit ist 10.000 req/s.“
ABGELEHNT · Quelle sagt 1.000 — nicht gespeichert

Provenienz bei jedem Lesen

Lesevorgänge geben nicht nur Text zurück — sie geben für jeden Fakt seinen status und den grounding_score zum Schreibzeitpunkt zurück, sodass dein Code auf Vertrauen konditionieren kann, statt blind zu vertrauen. Und update() zerstört den alten Fakt nie: es ersetzt ihn und hinterlässt eine prüfbare history()-Spur.

memory.py · das Schreiben passiert das Gate, das Lesen liefert die Provenienz

from engram import Memory

mem = Memory()                                  # local SQLite, offline
mem.add("The deployment uses PostgreSQL 16.")   # write goes THROUGH the gate

for hit in mem.search("which database?"):       # read returns provenance
    print(hit["text"], hit["status"], hit["grounding_score"])
# -> The deployment uses PostgreSQL 16.  ADMITTED  0.97
§02 Belege — gemessen, nicht behauptet
MetrikErgebnisAktenkundig
Entailment des Schreib-Gates AUROC 0.971 Quelle⊢Fakt, richter-unabhängig (SNLI). Der Burggraben des Schreibpfads.
Halluzination nachgelagert 95.9% → 12.2% −83,7 pp; McNemar p≈6e-44, auf 2 Seeds repliziert. Es funktioniert, indem es Konfabulation in Enthaltung umwandelt (Auslassung 3%→85%), nicht indem es die Korrektheit erhöht — und dieser Arm ist richter-gekoppelt.
Over-Rejection sauberer Fakten 30–39% Die ehrlichen Kosten an der strengen Schwelle. Das destillierte lokale Gate (v2) lässt 0,924 der sauberen Fakten zu und schließt das weitgehend.
Retrieval recall@5 · LongMemEval-s 0.8745 Vollständige 500, richter-frei, gleicher e5-Embedder, null externe APIs. Fusion ON vs 0.8525 OFF (+2,2 pp). Ein früheres n=300 ergab 0.909 — optimistisch; die Zahl über die vollen 500 ist die ehrliche. Das ist recall@k, nicht End-to-End-QA-Genauigkeit.
Retrieval auf Italienisch MRR +52% 0.466 → 0.710 beim Wechsel auf den e5-Embedder, bei null Regression im Englischen.
Widerspruchserkennung · HaluMem TPR 0.66 / FPR 0.0125 Nach der Korrektur der zeitlichen Supersession.
Test-Suite 5.830 grün 764 Testdateien, ~84k Zeilen. Selbst ausgeführt, aus dem Repo reproduzierbar.

Jede Zahl hier ist selbst ausgeführt und aus dem Repository reproduzierbar — es ist keine Platzierung in einer Drittanbieter-Rangliste. Retrieval-Zahlen sind recall@k, nicht die End-to-End-QA-Genauigkeit, mit der Mem0 und Zep werben, also nicht direkt vergleichbar.

§03 Der Unterschied — eine ehrliche Kombination

01Zulassungsgate beim Schreiben

Lässt jeden Schreibvorgang per Quellen-Implikation zu, stuft ihn herab oder lehnt ihn ab. Kein Wettbewerber hier hat eines.

02Provenienz beim Lesen

Jeder Fakt liefert status + grounding_score; update() ersetzt, history() bleibt prüfbar.

03Bitemporale Valid-Time

valid_until mit hartem Ablauf — ein Gedächtnis, das weiß, wann ein Fakt aufgehört hat, wahr zu sein.

04Läuft auf deinem Abo

Hosted-MCP-Modus: kein API-Key, keine Token-Abrechnung — das LLM des Hosts erledigt die Arbeit.

05Mehrsprachiger Injection-Schutz

Ein Prompt-Injection-Schutz beim Schreiben — Italienisch inklusive, nicht nur Englisch.

06MCP-nativ

228 Gedächtnis-Tools beim Sessionstart in Claude Code, Cursor, Cline, Continue, Zed.

SystemSchreib-GateProvenienz beim LesenAnsatzReife
Mem0 Flacher Vektor + LLM-Zusammenfassung Etabliert, weit verbreitet
Zep / Graphiti teilweise (temporal) Temporaler Wissensgraph Kommerziell, ausgereift
HippoRAG OpenIE + PageRank Forschung
Verimem Fusion-Recall + Gate + Schlaf-Konsolidierung Brandneu · noch 0 Verbreitung

Wettbewerber-Werte und Verbreitung schwanken je nach Quelle und Zeit; die zwei Spalten, auf denen wir stehen — ein Schreib-Gate und Provenienz beim Lesen — stammen aus einer strukturierten Überprüfung, nicht aus einer Marketing-Tabelle.

§04 Was Verimem NICHT ist
aktenkundig
  • 0 Verbreitung.

    Eine brandneue öffentliche Veröffentlichung. Noch niemand hängt davon ab — wir eingeschlossen, über den Daily Driver des Maintainers hinaus.

  • Nicht auf PyPI.

    Vorerst Installation aus Quelle / git. Ein engram-memory-Paket ist ein Ziel nach v0.4.0.

  • Selbst ausgeführte Benchmarks.

    Jede Zahl ist aus dem Repo reproduzierbar, aber keine ist von Dritten auditiert. Als reproduzierbar behandeln, nicht als zertifiziert.

  • Single-Node-SQLite.

    Ein Nutzer und lokal. Multi-Tenant-Scoping existiert auf der Fakten-Ebene; ein gehosteter / verteilter Store nicht.

  • Regex-Entitätsgraph.

    Die Entität+PageRank-Engine läuft auf echten Daten, aber der Extraktor ist deterministisches Regex, als Backfill ausgeführt — noch nicht in den Live-Schreibpfad eingebunden.

  • Answer-Path unbewiesen.

    Eine adversariale Überprüfung fand die erste Answer-Conditioning-Demo aufgebläht. Nur der Burggraben des Schreibpfads steht auf eigenen Belegen — das ist alles, was wir behaupten.

§05 In 2 Minuten installieren

① Python — aus Quelle

pip install "git+https://github.com/aureliocpr-ctrl/verimem.git"

Stellt den Befehl engram und das from engram import Memory-SDK bereit. Lokales SQLite, offline, Gate standardmäßig aktiv.

github.com/aureliocpr-ctrl/verimem ↗ · MIT · README · BENCHMARKS.md

② Als MCP-Server — Claude Code, Cursor, Cline, Zed

{
  "mcpServers": {
    "engram": {
      "command": "engram",
      "args": ["mcp"],
      "env": { "ENGRAM_HOSTED": "1" }
    }
  }
}

Starte deinen Host neu; die Gedächtnis-Tools werden mit null API-Key aufrufbar. Die Engine wird derzeit als engram ausgeliefert — die Umbenennung in Verimem läuft.