01写入准入门控
按来源蕴含对每次写入准入、降级或拒绝。这里没有竞品具备。
其他记忆层会存储其抽取器产出的一切。Verimem 不会。
写入时,候选事实会被准入、降级或拒绝——取决于所引用的来源是否真的蕴含它。一个廉价、无需 LLM 的词法筛查会先给「能用 / 已验证 / 已完成」这类无支撑的说法降级;最严格的模式再加上来源⊢事实的蕴含检查。在 SNLI 上测得 AUROC 0.971,而且这个数字与评判者无关。
对 mem0、Zep、Letta、Cognee 和 MemOS 的结构化复查发现,它们都没有写入准入门控。这个门控——加上每次读取带回的出处——正是全部要点。
示意 —— 门控的三种裁定
读取不只是返回文本——它为每个事实返回写入时的 status 和 grounding_score,让你的代码可以按可信度分流,而不是盲目相信。而 update() 从不销毁旧事实:它会取代它,留下可审计的 history() 轨迹。
memory.py · 写入经过门控,读取返回出处
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 | 指标 | 结果 | 存档在案 |
|---|---|---|
| 写入门控 entailment | AUROC 0.971 | 来源⊢事实,与评判者无关(SNLI)。写入路径的护城河。 |
| 下游幻觉 | 95.9% → 12.2% | −83.7 pp;McNemar p≈6e-44,在 2 个随机种子上复现。它的机制是把虚构转化为弃答(遗漏 3%→85%),而不是提高正确率——且此项与评判者耦合。 |
| 干净事实的过度拒绝 | 30–39% | 严格阈值下的诚实代价。蒸馏的本地门控(v2)准入 0.924 的干净事实,基本弥合了这一点。 |
| Retrieval recall@5 · LongMemEval-s | 0.8745 | 完整 500、无评判者、同一 e5 嵌入器、零外部 API。Fusion ON 对 0.8525 OFF(+2.2 pp)。此前 n=300 得 0.909 —— 偏乐观;完整 500 的数字才是诚实的。这是 recall@k,不是端到端 QA 准确率。 |
| 意大利语 retrieval | MRR +52% | 切换到 e5 嵌入器后 0.466 → 0.710,英文零退化。 |
| 矛盾检测 · HaluMem | TPR 0.66 / FPR 0.0125 | 在时间性取代修复之后。 |
| 测试套件 | 5,830 全绿 | 764 个测试文件,约 8.4 万行。自行运行,可从仓库复现。 |
这里每个数字都自行运行且可从仓库复现——不是第三方榜单排名。retrieval 数字是 recall@k,不是 Mem0 和 Zep 主打的端到端 QA 准确率,因此不能直接比较。
按来源蕴含对每次写入准入、降级或拒绝。这里没有竞品具备。
每个事实返回 status + grounding_score;update() 取代,history() 保持可审计。
valid_until 硬过期 —— 一段知道事实何时不再为真的记忆。
Hosted MCP 模式:无 API key、无按 token 计费 —— 由宿主的 LLM 干活。
写入时的 prompt-injection 防护 —— 含意大利语,不只英语。
会话开始即有 228 个记忆工具,适用于 Claude Code、Cursor、Cline、Continue、Zed。
| 系统 | 写入门控 | 读取出处 | 方式 | 成熟度 |
|---|---|---|---|---|
| Mem0 | ✗ | ✗ | 扁平向量 + LLM 摘要 | 成熟,广泛采用 |
| Zep / Graphiti | ✗ | 部分(时态) | 时态知识图谱 | 商用,成熟 |
| HippoRAG | ✗ | ✗ | OpenIE + PageRank | 研究 |
| Verimem | ✓ | ✓ | 融合召回 + 门控 + 睡眠巩固 | 全新 · 尚 0 采用 |
竞品分数与采用情况随来源与时间而变;我们立足的两列 —— 写入门控与读取出处 —— 来自一次结构化复查,而非营销表格。
全新公开发布。目前还没人依赖它 —— 我们也一样,除了维护者的日常自用。
目前从源码 / git 安装。engram-memory 包是 v0.4.0 之后的目标。
每个数字都可从仓库复现,但没有一个经第三方审计。请当作可复现,而非已认证。
单用户、本地。多租户作用域存在于事实层;托管 / 分布式存储没有。
实体+PageRank 引擎在真实数据上运行,但抽取器是确定性 regex,作为回填运行 —— 尚未接入实时写入路径。
一次对抗性复查发现首个 answer-conditioning 演示被夸大。只有写入路径的护城河靠自身证据成立 —— 所以我们只主张这一点。
① Python —— 从源码
pip install "git+https://github.com/aureliocpr-ctrl/verimem.git" 提供 engram 命令与 from engram import Memory SDK。本地 SQLite,离线,门控默认开启。
github.com/aureliocpr-ctrl/verimem ↗ · MIT · README · BENCHMARKS.md
② 作为 MCP 服务器 —— Claude Code、Cursor、Cline、Zed
{
"mcpServers": {
"engram": {
"command": "engram",
"args": ["mcp"],
"env": { "ENGRAM_HOSTED": "1" }
}
}
} 重启你的宿主;记忆工具即可调用,无需 API key。引擎目前以 engram 分发 —— 更名为 Verimem 正在进行中。