MemPalace:零 API 调用拿下 LongMemEval 96.6% R@5 的开源 AI 记忆系统
MemPalace 是一个本地优先(local-first)的开源 AI 记忆系统,在 LongMemEval 基准的 500 道题上,仅靠原始语义搜索就拿到 96.6% 的 R@5,全程零 API 调用、不依赖任何大模型。它把对话历史逐字存储、不做总结提炼,用 wings / rooms / drawers 三级结构组织索引,检索后端可插拔,默认使用 ChromaDB。仓库 MemPalace/mempalace 目前 star 数 58.7k、fork 7.5k,MIT 许可证,Python 占比 95.1%。对受困于「AI 助手一开新会话就失忆」的开发者来说,这是一个可以直接在本机跑起来的方案。
AI 记忆要解决的问题
使用 Claude Code、Codex、Cursor 这类编码 agent 的开发者都遇到过同一个问题:会话一关,agent 就忘了上一轮讨论过的架构决策和代码约定。官方文档点名的痛点是默认 30 天没有 hooks 记录,会话内容就会过期消失。
主流的记忆方案大多靠大模型把历史压缩成摘要,再存进向量库。摘要会丢细节,压缩过程本身还要反复调用 API,既花钱又慢。MemPalace 选择另一条路:不总结、不提炼、不改写,原文照存,把「记什么」交给检索,而不是交给压缩。
逐字存储与三级索引
MemPalace 的核心设计是逐字(verbatim)存储对话历史。语义搜索直接作用在原始文本上,避免了摘要带来的信息损耗。
索引不是平铺的,而是三级结构:wings / rooms / drawers。人和项目对应 wing,话题对应 room,原始内容存在 drawer 里。检索时可以限定范围,不用每次都对整个语料库做全量搜索。
检索层是可插拔的。默认后端是 ChromaDB,接口定义在 mempalace/backends/base.py,另外支持 sqlite_exact、Milvus、Qdrant、pgvector。换后端不需要动系统其他部分。
基准数字与评测方法
仓库公布了六组可在本地复现的基准数字:
- LongMemEval 500 题 R@5:raw 语义搜索 96.6%,零 API、零 LLM;
- LongMemEval held-out 450 题(Hybrid v4):98.4%;
- Hybrid v4 + LLM rerank:不低于 99%;
- LoCoMo R@10:60.3%(无 rerank)→ 88.9%(hybrid v5);
- ConvoMem 平均召回:92.9%;
- MemBench(ACL 2025)R@5:80.3%。
官方对这些数字的使用很克制。raw 96.6% 被明确称为「最诚实的基线」——无 LLM、无云、无 key,任何人 clone 下来都能复现。98.4% 标注为 held-out 泛化数字,即从 500 题中留出 450 题训练外评估,不把测试集编进索引。文档里没有出现过「100%」或「第一」这类说法。
官方还明确拒绝与 Mem0、Mastra、Hindsight、Supermemory、Zep 做并排对比,理由是各家指标与数据划分不同,把召回率直接对比端到端问答精度不诚实。
本地部署与接入方式
安装走 CLI 工具链。推荐用 uv 隔离安装:uv tool install mempalace,之后 mempalace init ~/projects/myapp 初始化一个 palace。pipx 用法相同,也可以建虚拟环境后用 pip 安装。官方建议装在隔离环境,避免 chromadb、numpy、grpcio 等依赖与全局环境冲突。
常用命令包括 mempalace mine(把指定目录或会话记录写入记忆)和 mempalace search "关键词"(语义检索)。默认嵌入模型 minilm 约 80 MB,可选 embeddinggemma 约 300 MB,模型首次使用下载后缓存在本地。
不需要本地 Python 环境时,可以跑容器镜像 ghcr.io/mempalace/mempalace:latest,多架构(amd64 + arm64)支持 Apple Silicon。数据统一落在 /data 卷,MCP 服务走 stdio 协议,可直接挂进 Claude Code 等 MCP 客户端。Android Termux 原生安装目前不支持,原因是 ChromaDB 与 ONNX Runtime 没有 Android 轮子,官方给出的替代方案是在 Debian PRoot 容器里跑 Linux 包。
官方安全提醒
仓库首页显著位置有一则警示:MemPalace 没有其他官方网站,唯一官方渠道是 GitHub 仓库、PyPI 包和 mempalaceofficial.com 文档站。其他域名(包括 .tech、.net 及其他 .com 变体)都是仿冒站,可能携带恶意软件。安装时认准 PyPI 包名 mempalace。
结论
MemPalace 用一组可复现的数字说明了一件事:AI 记忆系统的上限取决于检索质量,而不是摘要模型的聪明程度。逐字存储加语义检索,在 LongMemEval 上做到 96.6% R@5 且零 API 调用,这个成绩在本地即可验证;官方对评测口径的限定——区分 raw 与 held-out、拒绝跨基准并排对比——也让这些数字比常见的「效果第一」宣称更可信。对想给编码 agent 补上一段持久记忆的团队,值得先花十分钟在本机跑一遍 raw 基线的复现,再决定要不要接入。