01Puerta de admisión en escritura
Admite, degrada o rechaza cada escritura por implicación de la fuente. Ningún competidor aquí lleva una.
El problema de la memoria de los agentes
Verimem es una capa de memoria persistente cuyo add() hace pasar cada escritura por una puerta de admisión anti-confabulación — ¿la fuente realmente implica el hecho? — y cuyo search() devuelve procedencia en cada lectura. Un hipocampo con un notario en la puerta.
✓ 100% gratuito y open source — licencia MIT. Autoalojado y local-first: sin cuenta, sin API key, sin facturación.
Las demás capas de memoria guardan lo que sea que emita su extractor. Verimem no.
Al escribir, un hecho candidato es admitido, degradado o rechazado — según si la fuente citada realmente lo implica. Un filtro léxico barato, sin LLM, degrada primero las afirmaciones sin respaldo del tipo «funciona / verificado / hecho»; el modo más estricto añade una comprobación de implicación fuente⊢hecho. Medido en SNLI alcanza AUROC 0.971, y ese número es independiente del juez.
Una revisión estructurada de mem0, Zep, Letta, Cognee y MemOS encontró que ninguno lleva una puerta de admisión en escritura. Esa puerta — más la procedencia que cada lectura trae de vuelta — es todo el punto.
Ilustrativo — la puerta en tres veredictos
Las lecturas no solo devuelven texto — devuelven de cada hecho su status y el grounding_score del momento de escritura, para que tu código condicione por confianza en vez de fiarse a ciegas. Y update() nunca destruye el hecho anterior: lo sustituye, dejando un rastro history() auditable.
memory.py · la escritura pasa por la puerta, la lectura devuelve la procedencia
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 | Métrica | Resultado | Para que conste |
|---|---|---|
| Entailment de la puerta de escritura | AUROC 0.971 | Fuente⊢hecho, independiente del juez (SNLI). El moat del camino de escritura. |
| Alucinación aguas abajo | 95.9% → 12.2% | −83,7 pp; McNemar p≈6e-44, replicado en 2 semillas. Funciona convirtiendo la confabulación en abstención (omisión 3%→85%), no elevando la corrección — y este brazo está acoplado al juez. |
| Over-rejection de hechos limpios | 30–39% | El coste honesto en el umbral estricto. La puerta local destilada (v2) admite el 0,924 de los hechos limpios, cerrando en gran parte esto. |
| Retrieval recall@5 · LongMemEval-s | 0.8745 | 500 completo, sin juez, mismo embedder e5, cero APIs externas. Fusion ON vs 0.8525 OFF (+2,2 pp). Un n=300 anterior daba 0.909 — optimista; el número sobre 500 completo es el honesto. Esto es recall@k, no exactitud QA de extremo a extremo. |
| Retrieval en italiano | MRR +52% | 0.466 → 0.710 al cambiar al embedder e5, con cero regresión en inglés. |
| Detección de contradicciones · HaluMem | TPR 0.66 / FPR 0.0125 | Tras la corrección de la supersesión temporal. |
| Suite de tests | 5830 en verde | 764 archivos de test, ~84k líneas. Auto-ejecutados, reproducibles desde el repo. |
Cada cifra aquí es auto-ejecutada y reproducible desde el repositorio — no es un puesto en una clasificación de terceros. Los números de retrieval son recall@k, no la exactitud QA de extremo a extremo que Mem0 y Zep destacan, así que no son directamente comparables.
Admite, degrada o rechaza cada escritura por implicación de la fuente. Ningún competidor aquí lleva una.
Cada hecho devuelve status + grounding_score; update() sustituye, history() sigue siendo auditable.
valid_until con caducidad neta — una memoria que sabe cuándo un hecho dejó de ser verdad.
Modo MCP hosted: sin API key, sin facturación por token — el LLM del host hace el trabajo.
Una pantalla anti prompt-injection en escritura — italiano incluido, no solo inglés.
228 herramientas de memoria al inicio de sesión en Claude Code, Cursor, Cline, Continue, Zed.
| Sistema | Puerta de escritura | Procedencia en lectura | Enfoque | Madurez |
|---|---|---|---|---|
| Mem0 | ✗ | ✗ | Vector plano + resumen LLM | Consolidado, ampliamente adoptado |
| Zep / Graphiti | ✗ | parcial (temporal) | Grafo de conocimiento temporal | Comercial, maduro |
| HippoRAG | ✗ | ✗ | OpenIE + PageRank | Investigación |
| Verimem | ✓ | ✓ | Fusion recall + puerta + consolidación en el sueño | Recién salido · 0 adopción todavía |
Los puntajes y la adopción de competidores varían por fuente y con el tiempo; las dos columnas en las que nos apoyamos — una puerta de escritura y procedencia en lectura — vienen de una revisión estructurada, no de una tabla de marketing.
Un lanzamiento público recién salido. Nadie depende de él aún — nosotros incluidos, más allá del uso diario del maintainer.
Por ahora se instala desde fuente / git. Un paquete engram-memory es un objetivo post-v0.4.0.
Cada número es reproducible desde el repo, pero ninguno está auditado por terceros. Trátalos como reproducibles, no certificados.
Un solo usuario y local. El scoping multi-tenant existe en la capa de hechos; un store hosted / distribuido no.
El motor entidad+PageRank está vivo sobre datos reales pero el extractor es regex determinista, ejecutado como backfill — aún no conectado al camino de escritura en vivo.
Una revisión adversaria encontró inflada la primera demo de condicionamiento en respuesta. Solo el moat del camino de escritura se sostiene con su propia evidencia — así que es todo lo que afirmamos.
① Python — desde fuente
pip install "git+https://github.com/aureliocpr-ctrl/verimem.git" Proporciona el comando engram y el SDK from engram import Memory. SQLite local, offline, puerta activa por defecto.
github.com/aureliocpr-ctrl/verimem ↗ · MIT · README · BENCHMARKS.md
② Como servidor MCP — Claude Code, Cursor, Cline, Zed
{
"mcpServers": {
"engram": {
"command": "engram",
"args": ["mcp"],
"env": { "ENGRAM_HOSTED": "1" }
}
}
} Reinicia tu host; las herramientas de memoria quedan disponibles con cero API key. El motor se distribuye ahora como engram — el cambio de nombre a Verimem está en curso.