XMem
印度首个开源AI Agent记忆层,多域分类+多后端存储,让AI跨会话永不遗忘
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
印度首个开源AI Agent记忆层,多域分类+多后端存储,让AI跨会话永不遗忘
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有过这种经历——上周让 AI 帮你分析了一个项目,当时给了很多背景信息,这周再开一个新对话,它完全不认识你了。你不得不把上周的上下文重新粘贴一遍。更糟糕的是,你告诉它「我偏好用 Go 写后端」,它下次还是推荐 Python。
这背后的原因很简单:LLM 是无状态设计,每次对话从零开始。上下文窗口(Context Window)再大,也只是当前会话内的记忆。一旦会话结束,一切归零。
传统 RAG(检索增强生成)解决了「知识库」的问题,但它解决不了「我的偏好」「我们项目的技术债务」「上次为什么否定了某个方案」这类私人化、时序化、关系化的记忆。而这,恰恰是 AI 真正理解一个人、在复杂任务中发挥作用的关键。
XMem 瞄准的,就是这个缺口。
XMem 是印度首个开源多模态、多智能体长期记忆层,专为 AI Agent 设计。它的核心思路是:让记忆变成主动推理过程,而不是被动存储。
大多数记忆系统的工作逻辑是「存入 → 检索」,XMem 的逻辑是「分析 → 分类 → 路由 → 存储 → 检索 → 更新 → 遗忘」。它不只存储你说了什么,而是理解你说的内容属于哪种记忆类型,然后路由到最适合的存储后端。
打个比方:传统记忆系统像一个「杂物箱」,什么东西都往里扔。XMem 像一个「分类管家」——收到信息后,立刻判断这是「用户偏好」(存向量数据库)、「时间事件」(存图数据库)还是「代码片段」(存结构化数据库),然后分别用最适合的方式管理。
XMem 2026 年 6 月新增了原生 Golang 实现,专门针对生产级高吞吐、低延迟场景设计,支持数百万次交互级别的记忆操作。
XMem 的 Classifier Agent 是整个系统的核心判断节点。每次收到信息,它会判断属于哪个域:
| 域 | 存储后端 | 示例 |
|---|---|---|
| Profile | Pinecone (向量) | 「我更偏好 Go 而非 Python」 |
| Temporal | Neo4j (图) | 「我昨天晋升为 Staff Engineer」 |
| Summary | 向量 + 图混合 | 长对话的压缩摘要 |
| Snippet | 结构化存储 | 代码片段、配置片段 |
| Code | Scanner 图数据库 | Git 仓库知识图谱 |
| Image | 多模态存储 | 截图、图表 |
| Judge | 决策记忆 | 「上次否决了这个方案因为性能问题」 |
这个分类不是简单的规则匹配,而是由 LLM 驱动的事实提取 + 分类决策。
XMem 支持灵活的后端组合:
存储层通过工厂模式(Storage Factory)统一抽象,可按需切换。src/storage/ 下的 factory.py 负责根据配置实例化对应的存储客户端。
Scanner 是 XMem 最具技术深度的功能之一。它对整个 Git 仓库建立可查询的知识图谱:
底层由 src/scanner/ 和 src/graph/ 模块驱动,graph/neo4j_client.py 负责与 Neo4j 交互,将代码 AST 转换为图数据。
XMem 提供了 Chrome 扩展,能将记忆能力注入到 ChatGPT、Claude、Gemini、DeepSeek 和 Perplexity 等主流 AI 界面:
plugin/ 目录提供了对主流 AI 编程工具的原生集成:Claude Code、Codex、Cursor、OpenClaw、OpenCode,以及本项目的 Hermes 插件。这些插件让编码 Agent 在执行任务时能主动查询历史记忆(如「这个项目之前用了什么技术栈」)和项目上下文。
XMem 提供两种部署路径:
纯本地模式(推荐开发者):通过 npm run setup 自动配置 Ollama(qwen2.5:1.5b 模型)+ nomic-embed-text 向量化模型 + PostgreSQL pgvector,向量存储和 LLM 全部本地运行,数据完全不外传。
云端模式:配置 OpenAI/Claude/Gemini 等 API Key,本地 FastEmbed 做向量嵌入,存储层可选择 Pinecone 或本地 Neo4j。
后端通过 server.py(FastAPI)对外暴露 API,提供 Ingest Pipeline(记忆写入)和 Retrieval Pipeline(记忆检索)。Playwright 驱动 Chrome 扩展时使用逆向渲染——通过浏览器自动提取对话内容,而非依赖平台 API。
部署难点主要在 Neo4j 图数据库的初始化和配置,以及理解多后端存储的路由逻辑。文档中 Local.md 写得非常详细,按步骤操作约 10-15 分钟可完成本地部署。
XMem 在 LoCoMo 基准测试中,多跳推理(Multi-Hop)得分 92.3%,远超第二名 Zep 的 66.04%,高出 26.3 个百分点。总体准确率 91.5%,全面领先主流竞品(Zep 75.14%、Mem0 66.88%、LangMem 58.10%)。
在 LongMemEval-S 行业标准基准中,XMem 在 Multi-Session 场景下得分 93.6%,同样领先 Backboard.io(91.7%)和 Supermemory。
这些数据说明 XMem 在需要跨会话推理、关联多段记忆的场景中有显著优势——这恰恰是复杂 AI Agent 工作流中最需要的记忆能力。
1. 依赖外部 LLM 做记忆判断:XMem 的 Classifier Agent 本身依赖 LLM 做事实提取和分类,这意味着记忆的质量直接受制于 LLM 的能力。如果选用的模型较弱,分类准确性会下降。
2. 存储后端复杂度:支持 Neo4j、Pinecone、pgvector、Chroma、SQLite 多种后端提供了灵活性,但也带来了配置和运维复杂度。对于只想快速试用的用户来说,选择困难是真实存在的。
3. 架构已归档:GitHub 页面显示项目于 2026 年 6 月 3 日被归档(Archived),意味着进入维护模式,不再接受新功能 PR。这在快速演进的 AI 领域是一个信号——可能需要 fork 维护或等待官方迁移路径。
4. 印度团队背景:作为印度团队开发的开源项目,在某些地区的社区生态和长期维护上可能面临资源挑战。
XMem 代表的不是又一个 RAG 包装,而是 Memory-as-a-Service(Maas) 这个新兴范式的具体实现。当 AI Agent 从「回答问题」进化到「执行复杂多步任务」时,记忆就从奢侈品变成了基础设施。
随着 MCP(Model Context Protocol)、A2A(Agent-to-Agent)等协议逐步标准化,记忆层的互操作性问题会逐步解决。XMem 的多域分类路由思想——不同类型的信息用不同的存储和检索策略——正在成为共识。
2026 年,Agent Memory 赛道已出现多个竞争者:MinnsDB(49 个连接器 + 图invalid),Zep(老牌但分数低),Mem0(YC 背景但技术指标落后)。XMem 在基准测试中的领先优势,加上 Chrome 扩展 + IDE 插件的完整生态,使其成为当前最具竞争力的开源记忆层之一。