4 种 Agent 长时记忆方案对比:Mem0 到 LLM Wiki
为 Agent 选长时记忆方案时我卡住了。你说让 Agent 记住用户偏好算简单吧但一跑起来就露馅了要么把整段对话历史塞进 context 窗口token 烧得比算力还快要么搞个摘要压缩结果是 Agent 越来越健忘3 轮对话之后就忘了用户刚才说的事。这不是我技术选型不够谨慎的问题——是目前所有大模型自带的上下文都撑不住真正长期的记忆需求。全历史注入token 爆炸摘要压缩细节丢失。两个方向都走不通。我研究了当前主流的三个方案Mem0、Memora、Atlas。各自背后的范式完全不同这篇不聊虚的直接讲三种范式的架构差异和选型建议。问题究竟在哪——当前记忆方案的三重困境先说清楚 Agent 长时记忆的痛点到底在哪。从工程角度任何一个记忆系统都要回答三个问题记什么、怎么存、怎么查。目前的方案在两个极端之间反复横跳全历史注入把整段对话揉进 prompt。优点是信息完整缺点是 token 数随轮次线性增长跑 20 轮就能把 context 窗口塞满。GPT-5.5 的 128K context 也扛不住持续的日常对话。摘要压缩让 LLM 定期给对话打压缩摘要。优点是 token 省了缺点是细节几乎全丢——用户上轮说的具体需求、代码里的变量名、约定的接口格式摘要里一句带过。RAG 外挂把对话记录向量化存到向量库检索时召回。比前两者灵活但检索精度取决于 embedding 质量且“原子事实”的提取粒度很难把控。从 Memora 在 ICML 2026 发表的论文来看上述方案的问题被归结为同一个存储与索引没有解耦。全历史注入是把所有内容既当存储又当索引摘要是把压缩后的内容既当存储又当索引。一旦索引丢失细节检索召回的信息就是残缺的。在这个背景下三种不同的记忆范式出现了。与其说它们是技术路线的差异不如说是对“记忆应该长什么样”的不同理解。Mem0最成熟的事实提取范式Mem0 是目前社区最活跃的选择——GitHub 59.8k stars2,421 次提交Apache 2.0 许可。它的核心思路很直接从对话中提取“原子事实”存到向量库检索时做语义召回。用起来极其简单frommem0importMemory# 初始化mMemory()# 加入一条对话记忆m.add(用户喜欢 Python 异步编程特别关注 asyncio 在 Web 框架中的应用,user_idu1)# 检索相关记忆resultsm.search(这个用户对 Python 哪部分感兴趣,user_idu1)print(results)# 返回用户偏好它真正的成熟度体现在生态上——支持 Claude Desktop 插件、Cursor 插件、Codex 集成甚至有一个 Desktop App。也就是说你不需要自己写记忆逻辑直接装个插件就有记忆能力。但 Mem0 的“事实提取”范式有一个根本性问题事实是碎片化的。当用户说“我喜欢 FastAPI 而且最近在学 Pydantic v2 的改进”Mem0 可能会提取两条事实用户喜欢 FastAPI用户在学习 Pydantic v2但它不会记录“这两件事是紧密关联的因为 FastAPI 就是基于 Pydantic 的”。这种叙事连贯性的丢失在长期对话中会变成一个问题——Agent 能查到用户喜欢 FastAPI但不知道为什么。Memora 论文中专门指出了这个问题并把它归为“索引与存储耦合”的缺陷Mem0 把提取出来的事实同时当存储和索引事实之间缺少关联结构。Memora抽象层解耦存储与索引Memora 是 2026 年 6 月微软研究院开源的方案刚被 ICML 2026 接收。它的核心创新是harmonic memory核心思路是“存储归存储、索引归索引”。# Memora 的核心抽象frommemoraimportMemoraClient,HarmonicConfig configHarmonicConfig(llm_providerazure,# 需要 Azure/OpenAIembedding_modeltext-embedding-3-large,retrieval_strategyhybrid# semantic / prompted / hybrid / GRPO)clientMemoraClient(config)# 写入记忆client.remember(content用户说他的生产环境用的是 k3s资源吃紧不想用完整的 Prometheus 监控栈,session_ids1)# 检索——通过抽象层定位到完整值relevantclient.recall(query用户对监控有什么偏好,session_ids1,top_k3)关键区别在于内部架构。Memora 把每条记忆拆成三个部分Memory Value原始内容的完整记录不建立索引Primary Abstraction对 memory value 的一对一抽象类似于结构化摘要只有这部分被索引Cue Anchors多对多的语义接入点用于关联不同记忆检索时系统通过 Cue Anchors 匹配查询意图先定位 Primary Abstraction再由 Primary Abstraction 引导到完整的 Memory Value。这样既保留了细节Memory Value 不被压缩又控制了索引开销只有 Primary Abstraction 被索引。Memora 在 LoCoMo 和 LongMemEval 两个基准上拿了 SOTA比全历史注入节省了 98% 的 context tokens——这在生产环境里是实打实的成本差异。但 Memora 有两个现实的麻烦只有 2 周——截至写这篇文章它的 GitHub 仓库只有 1 个 commit妥妥的科研项目。代码成熟度远不到生产级。需要 Azure 或 OpenAI 的 embeddingLLM——这意味着一运行就开始计费没有本地运行的选项。Atlas认知科学三分法结构化程度最高Atlas 是 Elastic 搜索实验室的工程师 Noam Schwartz 在 2026 年 5 月开源的个人项目但它背后的思路值得所有做长时记忆的人关注。Atlas 直接借鉴了认知科学对记忆的分类Episodic情景记忆→ Semantic语义记忆→ Procedural程序性记忆。Episodic memory记录“发生了什么”——带时间戳的原始事件支持自然衰减不常访问的事件权重下降Semantic memory记录“什么是对的”——从 episodic 中由 LLM consolidation 提取的持久事实每个事实附带 supporting evidence支持 supersession新证据覆盖旧结论Procedural memory记录“什么好用”——playbook 步骤附带成功/失败计数器影响检索时的排序权重# Atlas 的 API 设计FastAPI MCP ServerfromatlasimportAtlasClient clientAtlasClient(es_hostlocalhost:9200)# 写入一个情景client.add_episodic(agent_ida1,event用户要求重构 auth 模块从 Django REST - FastAPI,timestamp2026-06-15T10:00:00Z)# 检索——三索引联合搜索resultsclient.search(query用户对 auth 栈的偏好,agent_ida1,memory_types[episodic,semantic],top_k5)# 返回综合排序结果带来源标注Atlas 的灵活性很高——一套 ES 集群跑三个独立的索引检索时 BM25 dense hybrid reranker 三级 pipeline。根据官方数据R10 达到 0.89。但 Atlas 的问题也很明显需要 Elasticsearch 集群——Elastic Cloud 要付费自建要运维个人项目——不是 Elastic 官方产品代码成熟度需自行评估Inference Service——需要额外的 LLM 服务做 consolidationLLM WikiFilesystem 优先Zero 基础设施第四种范式来自 Andrej Karpathy 的一个 gist。思路简单到令人怀疑让 LLM 自己维护一份 markdown wiki直接把记忆写成文件、从文件读回。没有向量库、没有索引层、没有特殊服务——就是文件系统读写。听起来太简单了但它解决了一个其他方案都绕不过去的问题记忆的可组合性。# Home.md — Agent 启动时自动读取 ## 当前项目状态 - Auth 模块已从 Django REST 迁移到 FastAPI待合并 - 部署架构k3s 集群资源吃紧监控栈暂不部署 ## 已知决策记录 - 2026-06-15决定用 FastAPI 替代 Django REST理由是团队熟悉 Python 异步 - 2026-06-18决定监控方案先跳过 Prometheus用轻量 self-host 替代 ## 开放问题 - 迁移后的性能基准测试未做阻塞项工作流是这样的Agent 启动时读 Home.md 和当前域的几个核心 wiki 页了解上下文。整个工作会话中Agent 会不断更新 wiki 页——加新决策、更新状态、归档已完成的任务。结束时用/crystallizeKarpathy 术语把会话中沉淀的知识蒸馏成 wiki 页供下一次会话使用。这个模式的核心竞争力不在检索精度它根本没有检索而在零基础设施的增量知识积累每轮对话产生的深度内容都被结构化存入 markdown下一轮会话的 Agent 直接读。知识随使用次数复合增长而不是每次从零开始检索。社区已经有了几个实现——vanillaflava/llm-wiki-skills42 stars把 Karpathy 的思路做成了 6 个 agent skill支持 Claude Desktop、Claude Code、Gemini CLI、Codex CLI。读取、写入、lint、复合查询全是独立的 skill用 filesystem MCP 直接操作本地 markdown 文件。r0b0tlab 做了 Obsidian 集成版26 stars把 wiki 和笔记系统的交互打通了。LLM Wiki 的代价很明确没有语义检索。文件是按名字和目录组织的不是按语义向量。如果你需要从 5000 条对话中找出用户对异步编程的偏好变化LLM Wiki 不如 Mem0。但如果你需要 Agent “知道自己正在做什么、之前做了什么决策”LLM Wiki 在工程简洁性上完胜——零依赖、零运维、零成本。四范式对比维度Mem0事实提取Memora抽象层Atlas认知分类LLM Wiki文件系统核心思路提取原子事实→向量存储→语义检索存储与索引解耦抽象层做索引认知科学三分法按类型分索引LLM 读写 markdown 文件作记忆基础设施向量数据库默认嵌入ChromaDB Azure/OpenAIElasticsearch 集群本地文件系统检索方式语义向量搜索4种策略含GRPO RLBM25 dense hybrid文件名 目录索引无语义叙事连贯性❌ 碎片化✅ 通过抽象层保留上下文✅ 通过 consolidation 保留✅ 文件本身就是叙事生产就绪度✅ 成熟59.8k stars❌ 科研项目1 commit⚠️ 个人 Demo⚠️ 早期42 stars集成方式pip install 插件pip install -e .FastAPI MCP ES文件读写 MCP filesystem隐藏成本无自带默认 embeddingAzure/OpenAI API 费用ES 集群 Inference Service零已有文件系统即可适合场景快速召回、事实问答长对话、细节敏感多角色、行为优化项目上下文、决策记录四套方案的实际感受拆一下四个方案的工程落地要点Mem0 真的能用。装个 pip 包、写两行代码就能跑起来Claude Desktop 插件直接装上就能体验。但它的事实提取范式有边界Agent 能记住用户说过用 k3s记不住用户说因为团队只有两个运维所以选择 k3s——后一句的因果关系到检索时就丢了。Memora 架构漂亮但得先忍一忍。Harmonic memory 的设计是四个方案里最有工程直觉的。但只有 1 个 commit 意味着什么意味着如果你现在就把它搬进生产连 bug report 都没人回。建议关注它的论文arxiv.org/abs/2602.03315等代码成熟到 v0.5 再考虑集成。Atlas 的认知分类设计最自然。把记忆按发生过的、知道的、熟悉的三个层级组织在工程上很对应真实的记忆管理需求——程序性记忆的playbook成功率设计直接对应了 Agent 行为优化的需求。但 Elasticsearch 集群的成本不能忽略尤其是如果你只是为了记忆功能专门起一套 ES。LLM Wiki 是最意想不到的惊喜。我试了 vanillaflava 的 llm-wiki-skills 跑自己的项目 wiki效果不错。每次新会话启动Agent 不问我项目当前状态是什么直接读 wiki 就知道了。代价是它不适合做事实检索——问用户三个月前说过什么具体需求它翻文件比 Mem0 慢得多。如何选四套方案的适用场景回到工程视角选型不能只看架构设计得考虑你的团队和现有基础设施选 Mem0如果你要在 1 周内给 Agent 加上基本的长时记忆团队没有运维 Elasticsearch 的能力你的 Agent 对叙事连贯性要求不高比如工具调用类 Agent关注 Memora如果你的 Agent 需要处理长对话30轮以上且对细节敏感你有预算跑 Azure/OpenAI 的 embedding 服务你愿意等几个月直到它成熟到 v1.0考虑 Atlas如果你已经在用 Elasticsearch 做搜索或日志你需要灵活的记忆分类——比如对程序性记忆做版本管理你的 Agent 行为优化基于经验学习是核心需求先用 LLM Wiki如果你要的是Agent 知道自己当前在做什么而不是Agent 能找到去年的一条对话你不想引入任何额外基础设施——文件系统就够了你已经在用 Obsidian/Logseq 管理笔记wiki 可以直接复用从选型角度看这是个很自然的问题能不能混搭我的回答是——可以。Mem0 做事实抽取作为语义记忆的基础层Atlas 做程序性记忆存放 playbook 经验LLM Wiki 做项目上下文管理。但混搭意味着多套运维成本如果不是特别必要优先选一套用透。四种范式并不是非此即彼的选择。真正的生产环境很可能是一个叠加层底层用 Mem0 的事实提取作为快速召回上层用 LLM Wiki 做项目上下文管理。不管是哪种路线核心原则是一样的——存储与索引分开管记忆按生命周期分层检索策略随场景变。抱着这个原则去选型比追着项目 star 数跑要靠谱得多。项目的代码和文档都是公开的Mem0 在 github.com/mem0ai/mem0Memora 在 github.com/microsoft/MemoraAtlas 在 github.com/noamschwartz/atlas-memory-demo。三个仓库都建议自己去读一遍尤其是各自的 README 里的“动机”部分——每个方案的设计者为什么选择这条路线往往比 API 文档更能帮你做判断。不是选 star 数最多的不是选架构最漂亮的而是选与你们系统的记忆生命周期最贴近的。长时记忆这个话题在未来 6-12 个月只会越来越重要——随着 Agent 进入生产化部署记忆不再是「锦上添花」的功能而是决定 Agent 能否持续性工作的核心基础设施。现在花时间理解三种范式的差异到需要选型的时候比临时翻 GitHub 要从容得多。

相关新闻

AEUX:3步实现设计到动画的无缝转换,彻底告别重复劳动

AEUX:3步实现设计到动画的无缝转换,彻底告别重复劳动

AEUX:3步实现设计到动画的无缝转换,彻底告别重复劳动 【免费下载链接】AEUX Editable After Effects layers from Sketch artboards 项目地址: https://gitcode.com/gh_mirrors/ae/AEUX 还在为设计稿到动画制作的繁琐转换而头疼吗?AEU…

2026/7/2 9:59:43阅读更多 →
装备制造企业必看:售后服务数字化转型的破局之道与选型逻辑

装备制造企业必看:售后服务数字化转型的破局之道与选型逻辑

中大型装备制造企业的售后服务复杂度,与中小型企业不可同日而语。它们往往拥有遍布全国甚至全球的服务网络、成百上千名工程师、数以万计的活跃设备、以及与ERP/CRM深度绑定的复杂业务流程。然而传统售后服务的泥潭——电话报修记录混乱、派单全靠人工“拍脑袋”、维…

2026/7/2 9:59:43阅读更多 →
热门外包公司幸福度排行榜:大学生第一份工作进外包,到底是跳板还是坑?

热门外包公司幸福度排行榜:大学生第一份工作进外包,到底是跳板还是坑?

很多大学生第一次找工作,最容易遇到一个词:外包。 投简历的时候,岗位写着“大厂项目”“银行项目”“长期稳定”“技术氛围好”; 面试的时候,HR说“进去和正式员工一起办公”; 入职以后才发现,自…

2026/7/2 9:59:43阅读更多 →
JUnit 5在IDEA里总报ClassNotFoundException,你还在手动Add Library?——Maven+Gradle双模式自动依赖注入实战手册

JUnit 5在IDEA里总报ClassNotFoundException,你还在手动Add Library?——Maven+Gradle双模式自动依赖注入实战手册

更多请点击: https://kaifayun.com 第一章:JUnit 5在IDEA中ClassNotFoundException的根源诊断 当在 IntelliJ IDEA 中运行 JUnit 5 测试时出现 java.lang.ClassNotFoundException: org.junit.jupiter.api.Test 或类似异常,本质并非测试代码…

2026/7/2 11:20:08阅读更多 →
rust语言学习笔记(指针八)Mutex<T>(跨线程安全的RefCell<T>)

rust语言学习笔记(指针八)Mutex<T>(跨线程安全的RefCell<T>)

Mutex<T>&#xff08;互斥锁&#xff0c;Mutual Exclusion&#xff09;是标准库 std::sync 模块提供的核心同步原语。它的主要作用是‌在多线程环境下保护共享数据&#xff0c;确保同一时刻只有一个线程可以访问或修改该数据‌&#xff0c;从而避免数据竞争&#xff08;D…

2026/7/2 11:20:08阅读更多 →
3分钟掌握:如何将Android手机变身为USB键盘鼠标的终极指南

3分钟掌握:如何将Android手机变身为USB键盘鼠标的终极指南

3分钟掌握&#xff1a;如何将Android手机变身为USB键盘鼠标的终极指南 【免费下载链接】android-hid-client Android app that allows you to use your phone as a keyboard and mouse WITHOUT any software on the other end (Requires root) 项目地址: https://gitcode.com…

2026/7/2 11:20:08阅读更多 →
【VMware虚拟机IP固化终极指南】:20年运维专家亲授3种永久固定IP方案,99%用户忽略的DHCP陷阱曝光

【VMware虚拟机IP固化终极指南】:20年运维专家亲授3种永久固定IP方案,99%用户忽略的DHCP陷阱曝光

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;VMware虚拟机IP固化的核心原理与风险全景 VMware虚拟机IP固化并非操作系统层面的静态配置&#xff0c;而是通过网络栈、DHCP客户端行为与vSphere底层网络策略三者协同作用的结果。其核心原理在于&#xff1a;当…

2026/7/2 11:20:08阅读更多 →
CVE-2025-33073漏洞防御:从SSRF原理到企业级纵深防护实战

CVE-2025-33073漏洞防御:从SSRF原理到企业级纵深防护实战

1. 项目概述&#xff1a;直面CVE-2025-33073的威胁最近在安全圈里&#xff0c;CVE-2025-33073这个编号被讨论得挺多。它不是那种一出现就惊天动地的零日漏洞&#xff0c;但恰恰是这种存在于广泛使用的开源组件或中间件中的“潜伏者”&#xff0c;一旦被利用&#xff0c;造成的破…

2026/7/2 11:20:08阅读更多 →
揭秘AMD Ryzen处理器底层调试:SMU Debug Tool完整操作指南

揭秘AMD Ryzen处理器底层调试:SMU Debug Tool完整操作指南

揭秘AMD Ryzen处理器底层调试&#xff1a;SMU Debug Tool完整操作指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…

2026/7/2 11:15:07阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月&#xff0c;Boris Cherny 公开宣布自己卸载了 IDE。一时间&#xff0c;Vibe Coding 成了全行业最热的话题。6个月后&#xff0c;当我们回过头来拉一份真实账本&#xff0c;发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/1 4:42:14阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言&#xff1a;审计结束三个月了&#xff0c;审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间&#xff0c;内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中&#xff0c;审计…

2026/7/1 5:19:01阅读更多 →
塞尔达传说旷野之息存档修改器:3分钟掌握海拉鲁世界自由定制技巧

塞尔达传说旷野之息存档修改器:3分钟掌握海拉鲁世界自由定制技巧

塞尔达传说旷野之息存档修改器&#xff1a;3分钟掌握海拉鲁世界自由定制技巧 【免费下载链接】BOTW-Save-Editor-GUI A Work in Progress Save Editor for BOTW 项目地址: https://gitcode.com/gh_mirrors/bo/BOTW-Save-Editor-GUI 想在《塞尔达传说&#xff1a;旷野之息…

2026/7/2 0:03:01阅读更多 →
告别 AccessKey:多云平台 CLI OAuth 免密认证完全指南

告别 AccessKey:多云平台 CLI OAuth 免密认证完全指南

在本地开发环境使用云厂商 CLI 时,传统的 AccessKey(AK)方式需要手动创建、下载和保管密钥,不仅繁琐,还存在泄漏风险。其实,主流云平台都已提供基于 OAuth 2.0 的免密认证方案,让开发者可以通过浏览器登录一次性完成授权,CLI 自动管理临时凭证的刷新,兼顾了便利与安全…

2026/7/2 0:03:01阅读更多 →
基于13DOF传感器与PIC32MZ的高精度嵌入式导航系统设计

基于13DOF传感器与PIC32MZ的高精度嵌入式导航系统设计

1. 项目背景与核心价值在嵌入式系统开发领域&#xff0c;高精度定位与导航一直是极具挑战性的技术方向。传统方案往往面临成本、精度和实时性难以兼顾的困境。这个项目通过13DOF&#xff08;13自由度&#xff09;传感器组合与PIC32MZ2048EFH100高性能MCU的协同工作&#xff0c;…

2026/7/2 0:03:01阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/2 0:33:58阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/2 1:32:11阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/2 1:50:13阅读更多 →