01Zulassungsgate beim Schreiben
Lässt jeden Schreibvorgang per Quellen-Implikation zu, stuft ihn herab oder lehnt ihn ab. Kein Wettbewerber hier hat eines.
Das Problem mit dem Gedächtnis von Agenten
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.
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
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 | Metrik | Ergebnis | Aktenkundig |
|---|---|---|
| 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.
Lässt jeden Schreibvorgang per Quellen-Implikation zu, stuft ihn herab oder lehnt ihn ab. Kein Wettbewerber hier hat eines.
Jeder Fakt liefert status + grounding_score; update() ersetzt, history() bleibt prüfbar.
valid_until mit hartem Ablauf — ein Gedächtnis, das weiß, wann ein Fakt aufgehört hat, wahr zu sein.
Hosted-MCP-Modus: kein API-Key, keine Token-Abrechnung — das LLM des Hosts erledigt die Arbeit.
Ein Prompt-Injection-Schutz beim Schreiben — Italienisch inklusive, nicht nur Englisch.
228 Gedächtnis-Tools beim Sessionstart in Claude Code, Cursor, Cline, Continue, Zed.
| System | Schreib-Gate | Provenienz beim Lesen | Ansatz | Reife |
|---|---|---|---|---|
| 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.
Eine brandneue öffentliche Veröffentlichung. Noch niemand hängt davon ab — wir eingeschlossen, über den Daily Driver des Maintainers hinaus.
Vorerst Installation aus Quelle / git. Ein engram-memory-Paket ist ein Ziel nach v0.4.0.
Jede Zahl ist aus dem Repo reproduzierbar, aber keine ist von Dritten auditiert. Als reproduzierbar behandeln, nicht als zertifiziert.
Ein Nutzer und lokal. Multi-Tenant-Scoping existiert auf der Fakten-Ebene; ein gehosteter / verteilter Store nicht.
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.
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.
① 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.