智能体记忆的正式档案 v0.7.0 · pre-release · AGPL-3.0

智能体记忆的问题

多数智能体记忆什么都存。 不管真假。

Verimem 是一个持久化记忆层:它的 add() 让每次写入都经过反虚构准入门控——来源真的蕴含这个事实吗?——它的 search()每次读取时都返回出处。一个在门口配了公证员的海马体。

100% 免费且开源 —— AGPL-3.0 许可。自托管、本地优先:无需账号、无需 API key、无任何计费。

已准入grounding 0.97
候选写入
「部署使用 PostgreSQL 16。」
来源 ⊢ 事实 —— 所引用的发布说明蕴含该主张。
状态 已准入 · 已带出处存储。
§01 准入门控

其他记忆层会存储其抽取器产出的一切。Verimem 不会。

写入时,候选事实会被准入、降级或拒绝——取决于所引用的来源是否真的蕴含它。一个廉价、无需 LLM 的词法筛查会先给「能用 / 已验证 / 已完成」这类无支撑的说法降级;随后,自 v0.5.0 起默认开启的来源⊢事实蕴含检查会拒绝任何引用来源并不真正支持的说法。在 SNLI 上测得 AUROC 0.971,而且这个数字与评判者无关

对 mem0、Zep、Letta、Cognee 和 MemOS 的结构化复查发现,它们都没有写入准入门控。这个门控——加上每次读取带回的出处——正是全部要点。 —— 而一篇 2026 年关于 always-on 智能体的独立综述(arXiv 2606.30306) 发现该领域对积累和检索智能体状态的关注,远多于对其治理 —— 正是 write-admission 的缺口。

示意 —— 门控的三种裁定

已准入0.97
写入 · 蕴含
「部署使用 PostgreSQL 16。」
已准入 · 已带出处存储
已降级0.41
写入 · 无支撑
「迁移已完成,一切正常。」
已降级 · 保留,标记为低可信
已拒绝0.08
写入 · 相矛盾
「API 限流是 10,000 req/s。」
已拒绝 · 来源说 1,000 —— 未存储

每次读取都带出处

读取不只是返回文本——它为每个事实返回写入时的 statusgrounding_score,让你的代码可以按可信度分流,而不是盲目相信。而 update() 从不销毁旧事实:它会取代它,留下可审计的 history() 轨迹。explain() 返回完整的 TrustReport —— 出处、检查以及任何冲突,要么如实说明,要么带理由弃答。

memory.py · 写入经过门控,读取返回出处

from verimem 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 证据 —— 实测,而非声称
指标结果存档在案
写入门控 entailment AUROC 0.971 来源⊢事实,与评判者无关(SNLI)。写入路径的护城河。
端到端 QA · HaluMem,完整流水线 0.66–0.68 我们的抽取 → 带门控的存储 → 回答:连续七次完整运行聚集在 0.66–0.68(均值 0.667,n=3 干净存储),对比 MemOS 自报的 0.672 —— 持平,而非胜出,我们也如此表述。评判是 Claude 而非 GPT-4;原始文件在仓库中。
跨用户泛化 0.716 同一配方用于从未见过的用户(n=169):0.716。配方并未针对单一用户的数据调优。
记忆边界弃答 1.000 × 7 次运行 当存储无法支撑答案时拒绝编造 —— 连续七次端到端运行均为 1.000。这是竞品不去测量的维度。
多语言门控漏洞 —— 已关闭 8/10 → 0/10 从实际测试复现:同一条无依据的夸大声明在 10 种语言中的 8 种畅通无阻(词法筛查只覆盖英/意)。修复方案是把多语言嵌入器本身用作检测器的语义双重校验,随后经过对抗性评审的锤炼 —— 该评审在 held-out 句子上证伪了最初的“0 误报”声明:问题句、否定句和转述句现在由确定性守卫按设计排除。修复后在真实写入路径上:夸大声明 10/10 种语言全部拦截,held-out 误报 0/14 —— 校准脚本、评审发现与原始文件均在仓库中。
记忆冲突消解 0.15 → 0.82 修复后,矛盾更新胜出频率提升 5.5×;错误撤回从 99 → 7(精度下限,0 跨属性)。对抗性 critic 裁定:claim_holds。
幻觉率(一个旋钮) 0.233 → 0.111 作为开关下降 −52%(ENGRAM_GROUNDING_GATE),同时保住正确答案。你选择 recall-first 或 trust-first —— 在 QA 与写入路径上皆可。
Retrieval recall@5 · LongMemEval-s 0.8745 完整 500、无评判者、同一 e5 嵌入器、零外部 API。Fusion ON 对 0.8525 OFF(+2.2 pp)。这是 recall@k,不是端到端 QA 准确率。
延迟 · 并发 38ms / 166–237ms 写入 38ms p50(完整门控);读取 166–237ms(含历史 + TrustReport,5k 事实)。单个 SQLite 上 500 个并发进程0 错误(轻量 worker)。
测试套件 7,761 全绿 自行运行,可从仓库复现。无第三方榜单。 一个面向 LLM 提供方的实时冒烟测试依赖环境(需要托管提供方),不计入统计。
TrustMem-Bench · 信任维度 Verimem 60/60 我们自建的确定性信任基准 —— 无 LLM、无网络:六个维度,一条命令。Verimem 通过 60/60;mem0 OSS 覆盖 40/60(在缺失、遗忘、来源上为 0/10)。刻意采用 raw-store 基线 —— 欢迎竞品自行运行。
VeriBench · 信任标准 确定性 · self-run 面向可信记忆的开放基准 —— 它衡量 recall@k 看不到的东西:对称的召回分数无法区分自信的错误回答与诚实的「我不知道」。在因果轴上,仅靠 trust 的 store 佐证了伪相关后即使在 λ=1 也净得负分(来源 ≠ 因果)。在对抗轴上 —— 合谋加受信 sleeper —— 只有双通道策略(独立佐证结果反馈)保持净正;任一单通道都会败于一种攻击。无模型、一条命令、规范在仓库中 —— 欢迎竞品运行。 完整结果、协议与 head-to-head →
Source trust · 真实语料 卡特尔 0.90 → 0.20 · 3/3 seeds HaluEval held-out,判据在首次运行前预注册:4 个身份的卡特尔在朴素 ≥2 来源计数下自我确认至 0.90,被独立性 + 审计去混淆拆解至 0.20;诚实来源回升至 0.95,卡特尔推送的幻觉答案从召回中彻底消失(→ 0.0)。鲁棒性曲线(18 个点):由欺骗者写入的错误答案 = 0/18,任何噪声水平;残余全是诚实失误 —— per-claim 的病,公开申明,不加掩饰。
SLA 旋钮 · 按申明风险运行 TCE ≤ 0.011 · 风险 1.1% @ 73% 覆盖 强 AUROC 说明分数能区分;它不说明 λ 旋钮按申明风险运行(Oxford 2603.21172)。held-out 实测、校准仅在 dev 上拟合:原始分数排序近乎神谕(E-AURC 0.0008),但承诺的风险与交付的不符;经纯保序校准后每个申明的 λ 目标都达成 —— λ ∈ {0.5–9} 全程 TCE ≤ 0.011,观测风险 1.1%、覆盖 73%。申明的权衡:校准会压平精细排序 —— 排序用 raw,运营用校准。

这里每个数字都自行运行且可从仓库复现——不是第三方榜单排名。retrieval 数字是 recall@k,不是 Mem0 和 Zep 主打的端到端 QA 准确率,因此不能直接比较。

§03 差异 —— 一个诚实的组合

01写入准入门控

按来源蕴含关系对每次写入做准入、降级或拒绝。这里没有任何竞品提供 —— 而且自 7 月起它是多语言的:同一语义筛查覆盖 10 种语言,校准至 0 误报。

02来源 + TrustReport

每条事实返回 status + grounding_score;update() 是取代而非覆盖,history() 保持可审计;explain() 给出完整的“你怎么知道?”卷宗。

03双时间轴 + 时间旅行

两个时钟(何时得知 vs 何时为真)、带历史的回答(“在 Z 日从 X 变为 Y”)、as_of 时间旅行,以及休眠事实的深度召回 —— 不只是 valid_until。

04自托管团队网关

verimem gateway serve:在你自己的机器上运行多租户 HTTP API —— 哈希密钥、按租户隔离的存储、限流、热备份、远程开通。你的数据永不离开你的基础设施。

05信任里程表 + 仪表盘

持久记录门控真正做过什么 —— 准入、隔离、拒绝的写入与诚实的弃答 —— 按存储与租户统计,并配有零依赖的 /dashboard 页面。可观察的行为,不是营销话术。

06带精确引用的文档记忆

索引 PDF / DOCX / HTML / EPUB;段落带着文件、版本与字符偏移返回,并可经由门控晋升为记忆。

07先征得同意的导入

从你的 ChatGPT / Claude 导出启动:会话先列出,可按标题、日期或项目过滤 —— 没有明确选择就不会摄取任何内容。

08真正生效的 GDPR 遗忘

delete(purge_history=True) 折叠整条链 —— 被删除的数据不会从 history、as_of 或深度召回中再次浮现。

09MCP 原生 + TypeScript SDK

在 Claude Code、Cursor、Cline、Zed 的会话开始即有记忆工具 —— 另有面向网关的类型化零依赖 TypeScript 客户端,针对真实服务器做契约测试。

10跑在你的订阅上

托管 MCP 模式:无 API 密钥、无按 token 计费 —— 由宿主的 LLM 完成工作。可离线气隙运行(verimem airgap 校验零外联)。

11派生知识,同门而入

组合环从已验证事实推导出「新」事实,并让它们通过与任何写入者<b>相同</b>的准入门 —— 幸存者带签名入库(引擎写入绝不为自己作证)、带溯源(父事实倒下即可撤回)、带标签(记录恰好通过的检查):proven / unbeaten(bound) / refuted(反例)。「撑到 10^6」与「已证明」永不混淆。

12读路径守卫 + 主动探针

读取不只是弃答 —— 当 store 对同一主体持有更有保证的真相时,它会「纠正」,并引用双方事实(被反驳的事实绝不供出)。而且 store 会探测「自己」:它构造能反驳某事实的查询 —— 独立反证提出 refuted 标签,存活则让 unbeaten 界增长。无需等待的可证伪性。

13来源签名

一个不可伪造的 HMAC —— 标明「谁在说」—— 随每次写入的来源 ref 一同传递,与 entailment 门对「什么值得准入」形成互补。内容真实性与通道真实性 —— 这是任何确定性内容过滤器单独都无法针对自适应对手认证的两半。可选启用;审计报告覆盖率并点名违规者。

系统写入门控读取出处方式成熟度
Mem0 扁平向量 + LLM 摘要 成熟,广泛采用
Zep / Graphiti 部分(时态) 时态知识图谱 商用,成熟
HippoRAG OpenIE + PageRank 研究
Verimem 融合召回 + 门控 + 睡眠巩固 全新 · 尚 0 采用

竞品分数与采用情况随来源与时间而变;我们立足的两列 —— 写入门控与读取出处 —— 来自一次结构化复查,而非营销表格。

§04 Verimem 不是什么
存档在案
  • 0 采用。

    全新公开发布。目前还没人依赖它 —— 我们也一样,除了维护者的日常自用。

  • 已上 PyPI · 公开仓库。

    pip install verimem —— v0.7.0 已上 PyPI(AGPL-3.0);公开仓库在 GitHub,首次 CI 全绿。不过仍是全新。

  • Source-trust 守卫 —— 已在真实语料复现,仍为可选。

    来源独立性与审计去混淆如今在真实 held-out 语料上成立(HaluEval,预注册判据,3/3 seeds):伪造共识的卡特尔在朴素计数下自我确认至 0.90,被拆解至 0.20,诚实来源回升至 0.95,其幻觉答案从召回中消失。诚实且已测量的边界:在重度诚实噪声下(可信来源约 15%+ 出错)分离退化 —— 残余 100% 是诚实失误,per-claim 的病,不是攻击。开关保持默认关闭:证据为切换提供依据,切换是产品决策。

  • 范围:来源,非因果。

    每份 TrustReport 现已申明 —— Verimem 认证断言了事实、佐证有多独立、有多新鲜,而非它因果为真do(X) 问题需要干预性事实;被佐证的观察性事实无法回答它。

  • 自行运行的基准。

    每个数字都可从仓库复现,但没有一个经第三方审计。QA 对比 MemOS 的数字使用 Claude 评判者(非 GPT-4),基于 n=2 用户。请当作可复现,而非已认证。

  • 端到端持平 —— 自评。

    完整流水线(我们自己的抽取 → QA)在连续七次运行中聚集于 0.66–0.68(n=3 干净存储上均值 0.667),对比 MemOS 的 0.672,并在从未见过的用户上保持 0.716。前提不变:评判是 Claude 而非 GPT-4,无第三方审计。我们说持平,不说“胜出”。

  • 自托管可以 —— 托管云还没有。

    多租户网关(按租户隔离的存储、哈希密钥、备份、计量)真实且经过测试 —— 在你的基础设施上。托管云服务尚不存在。

  • 实体图谱:类型化、可选启用、尚年轻。

    会话实体抽取(类型化层)已交付但默认关闭;图上的多跳推理是实测最弱的维度(0.39–0.44),也是当前的工作面。

§05 安装

① Python —— 从源码

pip install verimem

提供 verimem 命令与 from verimem import Memory SDK —— add() / search() / history() / explain()。本地 SQLite,离线,门控默认开启。

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

② 作为 MCP 服务器 —— Claude Code、Cursor、Cline、Zed

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

重启你的宿主;记忆工具即可调用,无需 API key —— 由宿主的 LLM 干活。

③ 自托管团队网关

verimem gateway keys create --tenant acme
verimem gateway serve   # 127.0.0.1:8377 · /ui

verimem gateway keys create --tenant acme,再 verimem gateway serve —— 多租户 HTTP API,按租户隔离存储、限流、热备份。打开 /ui 查看信任里程表;仓库内附类型化 TypeScript 客户端。

④ 看它工作 —— 信任控制台

verimem console   # your store · odometer · graph · live

verimem console 在浏览器中打开你自己的本地存储 —— 信任里程表、每个结论都带有证据链的知识图谱、被拦截声明的日志,全部通过 SSE 实时更新。团队网关在 /ui 提供同一控制台;智能体通过 /v1/snapshot 一次读取全部状态。