<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>AI记忆 on KnightLi的博客</title>
        <link>https://knightli.com/tags/ai%E8%AE%B0%E5%BF%86/</link>
        <description>Recent content in AI记忆 on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Thu, 11 Jun 2026 14:30:23 +0800</lastBuildDate><atom:link href="https://knightli.com/tags/ai%E8%AE%B0%E5%BF%86/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>AI 记忆系统怎么选：Mem0、Letta、Zep、Cognee、Memobase 对比</title>
        <link>https://knightli.com/2026/06/11/ai-memory-systems-comparison/</link>
        <pubDate>Thu, 11 Jun 2026 14:30:23 +0800</pubDate>
        
        <guid>https://knightli.com/2026/06/11/ai-memory-systems-comparison/</guid>
        <description>&lt;p&gt;AI 应用一旦从一次性问答走向长期使用，就会遇到同一个问题：它怎么记住人、项目、偏好、历史和状态变化？&lt;/p&gt;
&lt;p&gt;现在的记忆方案已经分成几条路线。有的像“外置记忆条”，夹在应用和数据库之间；有的把 Agent 本身改造成带记忆管理能力的系统；有的强调时间和失效状态；也有的专门服务用户画像、跨文档推理或编程助手。&lt;/p&gt;
&lt;p&gt;如果只看项目名，很容易混在一起。更实用的判断方式是：你到底要让 AI 记住什么，以及你愿意为这份记忆付出多少架构复杂度。&lt;/p&gt;
&lt;h2 id=&#34;先看结论&#34;&gt;先看结论
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;方案&lt;/th&gt;
          &lt;th&gt;更像什么&lt;/th&gt;
          &lt;th&gt;适合场景&lt;/th&gt;
          &lt;th&gt;主要代价&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Mem0&lt;/td&gt;
          &lt;td&gt;外置记忆中间件&lt;/td&gt;
          &lt;td&gt;给现有 AI 应用快速加长期记忆&lt;/td&gt;
          &lt;td&gt;需要处理成本、存储和命中质量&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Letta&lt;/td&gt;
          &lt;td&gt;自带记忆的 Agent 运行时&lt;/td&gt;
          &lt;td&gt;从零做一个越用越懂你的 Agent&lt;/td&gt;
          &lt;td&gt;要接受它的 Agent 架构&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Zep / Graphiti&lt;/td&gt;
          &lt;td&gt;带时间轴的记忆层&lt;/td&gt;
          &lt;td&gt;客户档案、合同状态、偏好变化&lt;/td&gt;
          &lt;td&gt;架构较重，通常要图数据库&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Cognee&lt;/td&gt;
          &lt;td&gt;文档到知识网的加工层&lt;/td&gt;
          &lt;td&gt;多文档知识库、跨文档推理&lt;/td&gt;
          &lt;td&gt;数据处理链路更复杂&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Memobase&lt;/td&gt;
          &lt;td&gt;用户画像记忆&lt;/td&gt;
          &lt;td&gt;AI 陪伴、教育、推荐、C 端产品&lt;/td&gt;
          &lt;td&gt;记的是“人”，不是通用事件流&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;AgentMemory&lt;/td&gt;
          &lt;td&gt;编程助手跨会话记忆&lt;/td&gt;
          &lt;td&gt;AI 编程助手、项目上下文复用&lt;/td&gt;
          &lt;td&gt;更垂直，适用面较窄&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Text2Mem&lt;/td&gt;
          &lt;td&gt;记忆操作规范&lt;/td&gt;
          &lt;td&gt;给记忆系统定义可验证操作协议&lt;/td&gt;
          &lt;td&gt;更偏抽象层，不是完整产品替代&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ReMe&lt;/td&gt;
          &lt;td&gt;文件即记忆&lt;/td&gt;
          &lt;td&gt;希望用户可直接查看和编辑记忆&lt;/td&gt;
          &lt;td&gt;需要接受透明文件化管理方式&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;memU&lt;/td&gt;
          &lt;td&gt;后台主动记忆 Agent&lt;/td&gt;
          &lt;td&gt;希望记忆系统自己持续整理上下文&lt;/td&gt;
          &lt;td&gt;范式更激进，工程不确定性更高&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;mem0最百搭的外置记忆层&#34;&gt;Mem0：最百搭的外置记忆层
&lt;/h2&gt;&lt;p&gt;Mem0 适合当作第一选择来理解 AI 记忆系统。它的定位不是重写你的 Agent 架构，而是夹在应用、模型和数据库之间，帮你把对话、用户偏好、项目事实等内容抽取成可复用记忆。&lt;/p&gt;
&lt;p&gt;它的优势是通用、生态广、接入门槛相对低。你已经有一个聊天应用、助手应用或工作流系统，想加一句“它记得我”，通常会先想到这类中间件。&lt;/p&gt;
&lt;p&gt;Mem0 的另一个方向是本地版 &lt;code&gt;OpenMemory&lt;/code&gt;。这个方向的吸引力在于：记忆可以保存在自己的电脑里，并在多个工具之间共享。对隐私敏感、又不想每个工具都重新积累上下文的用户，这一点很重要。&lt;/p&gt;
&lt;p&gt;不过 Mem0 不是魔法开关。真正落地时要关心三件事：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;记忆抽取会不会过度，导致无关信息越积越多。&lt;/li&gt;
&lt;li&gt;检索出来的记忆是否稳定命中当前任务。&lt;/li&gt;
&lt;li&gt;长期调用模型和存储带来的成本是否可控。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一句话：想给现有项目快速加记忆，先看 Mem0；想让记忆系统自己定义 Agent 的运行方式，它还不是最重的那类方案。&lt;/p&gt;
&lt;h2 id=&#34;letta把记忆放进-agent-本体&#34;&gt;Letta：把记忆放进 Agent 本体
&lt;/h2&gt;&lt;p&gt;Letta 的前身是 MemGPT，它和 Mem0 不是同一种东西。&lt;/p&gt;
&lt;p&gt;Mem0 更像外置记忆条，Letta 更像一个带记忆管理能力的 Agent 运行时。它把大模型放进一套类似操作系统的框架里，让 Agent 自己判断哪些信息要留在工作上下文，哪些要归档，哪些以后再取回来。&lt;/p&gt;
&lt;p&gt;这条路线的好处是记忆和 Agent 行为结合得更深。你不是在一个普通应用外面挂一层记忆，而是在设计一个“本来就会管理自己记忆”的 Agent。&lt;/p&gt;
&lt;p&gt;代价也很直接：它更重。你需要把项目放进 Letta 的世界里，接受它的运行模型、状态管理方式和开发习惯。&lt;/p&gt;
&lt;p&gt;适合 Letta 的场景是：你从零开始做一个长期运行的个人 Agent、研究助手、业务助手，希望它越用越懂用户，并且愿意围绕它的框架搭系统。&lt;/p&gt;
&lt;h2 id=&#34;zep--graphiti把时间当成一等公民&#34;&gt;Zep / Graphiti：把时间当成一等公民
&lt;/h2&gt;&lt;p&gt;很多记忆系统的问题不是“记不住”，而是“记住了旧答案，却不知道它已经过期”。&lt;/p&gt;
&lt;p&gt;Zep / Graphiti 这类方案的关键点是时间。它不只是保存一条偏好或事实，还会记录它在什么时候成立、什么时候失效。用户改口时，旧记忆不一定被硬删除，而是变成历史状态。&lt;/p&gt;
&lt;p&gt;这让它适合处理会变化的关系和事实，例如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;客户资料和跟进阶段。&lt;/li&gt;
&lt;li&gt;合同条款与状态更新。&lt;/li&gt;
&lt;li&gt;用户偏好随时间变化。&lt;/li&gt;
&lt;li&gt;“现在喜欢什么”和“三月时喜欢什么”都需要查询的场景。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这条路线通常会走向图结构，因为状态变化、人物关系、事件链和时间线天然适合连成网络。好处是证据链更清楚，坏处是架构更重，部署和维护成本也更高。&lt;/p&gt;
&lt;p&gt;如果你的记忆主要是“当前偏好”，不一定需要这么重；如果你的记忆经常有版本、时间、失效和追溯需求，Zep / Graphiti 这类方案就很有价值。&lt;/p&gt;
&lt;h2 id=&#34;cognee把文档熬成可推理的知识网&#34;&gt;Cognee：把文档熬成可推理的知识网
&lt;/h2&gt;&lt;p&gt;传统 RAG 更像“按相似度捞片段”。它能找到相似文本，但不一定理解文档之间的关系。&lt;/p&gt;
&lt;p&gt;Cognee 的方向是把一堆资料加工成图谱和向量混合的记忆系统。它不只存片段，还尝试抽取实体、关系和结构，让系统能顺着关系网继续推。&lt;/p&gt;
&lt;p&gt;这适合大量文档场景，例如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;公司内部知识库。&lt;/li&gt;
&lt;li&gt;技术文档和项目资料。&lt;/li&gt;
&lt;li&gt;法务、合同、产品规格等跨文件材料。&lt;/li&gt;
&lt;li&gt;需要从多个文件里拼出结论的研究任务。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它的代价也明显：数据加工链路更长，系统组件更多，更新、清洗、去重、关系抽取都需要设计。它不是“给聊天机器人加一点记忆”的轻量路线，更像“把资料库变成可推理知识网络”。&lt;/p&gt;
&lt;h2 id=&#34;memobase专门记你是个什么样的人&#34;&gt;Memobase：专门记“你是个什么样的人”
&lt;/h2&gt;&lt;p&gt;Memobase 的重点不是记每件事，而是整理用户画像。&lt;/p&gt;
&lt;p&gt;别人更关注“发生过什么”，它更关注“这个用户是什么样的人”：兴趣、习惯、属性、偏好、长期特征。它把这些信息整理成更清楚的字段，方便读取、修改和产品化使用。&lt;/p&gt;
&lt;p&gt;这对 C 端产品很有用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AI 陪伴需要理解用户性格和关系边界。&lt;/li&gt;
&lt;li&gt;教育产品需要记住学习阶段、薄弱点和目标。&lt;/li&gt;
&lt;li&gt;推荐系统需要稳定、可编辑的偏好画像。&lt;/li&gt;
&lt;li&gt;健康、效率、生活类助手需要长期跟随用户习惯。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Memobase 的边界也在这里。它不是最适合做通用事件追踪，也不是复杂文档推理系统。它更像“人物卡记忆层”：把用户是谁、喜欢什么、习惯怎样这类信息整理出来。&lt;/p&gt;
&lt;h2 id=&#34;agentmemory编程助手的跨会话记忆&#34;&gt;AgentMemory：编程助手的跨会话记忆
&lt;/h2&gt;&lt;p&gt;AgentMemory 更垂直，主要解决 AI 编程助手的老问题：每开一个新会话，就要重新解释项目背景。&lt;/p&gt;
&lt;p&gt;开发者真正希望保存的不是闲聊记忆，而是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;项目的技术栈和目录结构。&lt;/li&gt;
&lt;li&gt;约定俗成的代码风格。&lt;/li&gt;
&lt;li&gt;哪些文件不能乱动。&lt;/li&gt;
&lt;li&gt;常用命令和测试方式。&lt;/li&gt;
&lt;li&gt;上一次排查到哪里。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果这些信息能跨会话共享给多个编程助手，就能减少大量重复提示。AgentMemory 适合纯开发场景，尤其是团队或个人长期维护同一批项目时。&lt;/p&gt;
&lt;p&gt;但它不是通用记忆平台。做客服、陪伴、推荐、知识库时，通常会先看前面几类方案。&lt;/p&gt;
&lt;h2 id=&#34;text2mem给记忆系统定义操作指令集&#34;&gt;Text2Mem：给记忆系统定义操作指令集
&lt;/h2&gt;&lt;p&gt;Text2Mem 更像一套记忆操作协议。它关心的是：记忆系统应该怎样新增、更新、合并、删除、验证和输出结构化结果。&lt;/p&gt;
&lt;p&gt;它提出的思路可以概括为三点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用一组原子操作描述记忆变更，而不是让模型随意写。&lt;/li&gt;
&lt;li&gt;用固定 JSON 契约承载记忆操作，减少不可控输出。&lt;/li&gt;
&lt;li&gt;用验证层检查结果，避免把错误记忆直接写入系统。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这类方案适合做记忆系统的“控制面”。如果你已经有 Mem0、Zep、Graphiti 或自研记忆层，Text2Mem 的价值可能不在替代它们，而在约束记忆写入动作。&lt;/p&gt;
&lt;h2 id=&#34;reme文件即记忆用户可以直接看&#34;&gt;ReMe：文件即记忆，用户可以直接看
&lt;/h2&gt;&lt;p&gt;ReMe 来自阿里 AgentScope 生态，它的关键词是“文件即记忆”。&lt;/p&gt;
&lt;p&gt;很多记忆系统的问题是黑盒：用户不知道系统记住了什么，也很难直接修改。ReMe 的方向更透明，把记忆变成用户能看、能改、能管理的文件。&lt;/p&gt;
&lt;p&gt;这对可信度很重要。尤其是在个人助手、企业助手和长期 Agent 里，用户不一定希望记忆全由系统暗中维护。能直接编辑，意味着用户可以纠偏，也可以主动整理上下文。&lt;/p&gt;
&lt;p&gt;它适合重视可解释、可控、可迁移的场景。代价是产品设计要跟上：文件结构、权限、同步、冲突处理，都需要认真设计。&lt;/p&gt;
&lt;h2 id=&#34;memu让记忆本身变成后台-agent&#34;&gt;memU：让记忆本身变成后台 Agent
&lt;/h2&gt;&lt;p&gt;memU 的范式更激进：记忆不只是被动存储，而是一个持续运行的后台 Agent。&lt;/p&gt;
&lt;p&gt;普通记忆系统大多是在对话发生时抽取、查询、更新。memU 的设想更像是让记忆层 24/7 工作：主动整理、归档、压缩、更新和准备上下文。&lt;/p&gt;
&lt;p&gt;这个方向很有想象力，因为真正长期运行的 Agent 不应该只在用户说话时才思考记忆。但它也意味着更多工程问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;后台整理会不会误改重要记忆。&lt;/li&gt;
&lt;li&gt;主动更新的触发条件怎么定义。&lt;/li&gt;
&lt;li&gt;成本如何控制。&lt;/li&gt;
&lt;li&gt;用户如何审计它做过什么。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你在做实验性 Agent 或个人长期助手，可以关注这个方向；如果是生产系统，仍要先确认可控性和可观测性。&lt;/p&gt;
&lt;h2 id=&#34;选型建议&#34;&gt;选型建议
&lt;/h2&gt;&lt;p&gt;如果你只是想给现有应用加长期记忆，优先看 Mem0。它足够通用，接入成本也更容易接受。&lt;/p&gt;
&lt;p&gt;如果你要从零做一个长期 Agent，而且愿意围绕 Agent 运行时重构项目，可以看 Letta。它更像“带记忆的 AI 本体”，不是普通插件。&lt;/p&gt;
&lt;p&gt;如果你的业务强依赖时间、状态变化和历史追溯，优先看 Zep / Graphiti。客户、合同、偏好、关系网络，这些都需要知道“什么时候成立、什么时候失效”。&lt;/p&gt;
&lt;p&gt;如果你要处理大量资料并做跨文档推理，看 Cognee。它更适合把文档变成知识网，而不是只做相似度检索。&lt;/p&gt;
&lt;p&gt;如果你的产品重点是理解用户本人，看 Memobase。AI 陪伴、教育、推荐、生活助手，都需要一个可读可改的用户画像层。&lt;/p&gt;
&lt;p&gt;如果你关心的是 AI 编程助手跨会话记忆，看 AgentMemory。它的场景窄，但问题很真实。&lt;/p&gt;
&lt;p&gt;如果你在自研记忆系统，Text2Mem、ReMe、memU 更像三个补充方向：一个管操作规范，一个管透明可编辑，一个把记忆变成主动后台过程。&lt;/p&gt;
&lt;h2 id=&#34;一个简单判断框架&#34;&gt;一个简单判断框架
&lt;/h2&gt;&lt;p&gt;可以按四个问题筛选：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;记忆对象是什么？&lt;/p&gt;
&lt;p&gt;是用户画像、项目背景、对话事实、文档知识，还是会随时间变化的业务状态？&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;记忆是否需要时间线？&lt;/p&gt;
&lt;p&gt;如果旧状态也有价值，就不要只做覆盖式更新。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;你愿意改多少架构？&lt;/p&gt;
&lt;p&gt;Mem0 更适合外挂，Letta 更适合重建 Agent 运行方式，Cognee 和 Zep/Graphiti 往往会带来更重的数据层。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;用户需不需要直接编辑记忆？&lt;/p&gt;
&lt;p&gt;如果需要透明和可控，ReMe、Memobase 这类思路会更有参考价值。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;AI 记忆系统没有一个统一答案。轻量接入看 Mem0，自带记忆 Agent 看 Letta，时间状态看 Zep / Graphiti，跨文档推理看 Cognee，用户画像看 Memobase，编程助手看 AgentMemory。&lt;/p&gt;
&lt;p&gt;更关键的是不要先问“哪个最强”，而是先问“我要记住什么”。记忆对象一变，最合适的技术路线也会变。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
