AI 文章摘要
最近 GitHub 上有个项目疯了——claude-mem,一周狂揽 78000+ Star,直接冲上热榜第一。这东西干了一件事:让 AI Agent 拥有跨会话的持久化记忆。
用过 Claude Code 或 Cursor 的人都知道,每次开新会话,之前的上下文全没了。你花了半小时调好的 prompt、喂进去的项目代码、讨论过的架构决策——全白费。claude-mem 就是来解决这个痛点的。
claude-mem 到底是什么?
一句话:它是一个给 AI Agent 装”长期记忆”的中间件。
工作原理很简单:每次会话结束时,它会把对话中的关键信息压缩提取,存到本地的记忆库里。下次新会话启动时,自动把相关的记忆注入到上下文中。
支持的平台相当全:Claude Code、OpenClaw、Codex、Gemini CLI、Copilot、Hermes、OpenCode——基本上主流的 AI 编程工具都能用。
核心架构拆解
claude-mem 的设计思路可以拆成三层:
1. 记录层(Capture)
会话过程中实时捕获 Agent 的行为——执行了什么命令、读了哪些文件、做了什么决策、产生了什么输出。不是简单地存聊天记录,而是提取有记忆价值的事件。
2. 压缩层(Compress)
原始会话数据太大,直接存不现实。claude-mem 用 AI 对原始记录做摘要压缩,把几万 token 的对话浓缩成几百 token 的结构化记忆。这个过程会保留关键上下文:项目结构、技术选型、踩过的坑、待办事项。
3. 注入层(Inject)
新会话启动时,根据当前任务上下文,从记忆库里检索相关的记忆片段,自动注入到 System Prompt 或 Context 中。这样 Agent 一上来就”记得”之前做过什么。
为什么它能火?
不是因为技术多牛,而是因为痛点太真实。
现在 AI 编程工具越来越多,但有个共同问题:会话是无状态的。你跟 Claude 讨论了一小时的架构设计,关掉窗口再来,它完全不记得。claude-mem 本质上是给无状态的 LLM 加了一层有状态的存储。
更关键的是,它解决了一个实际问题:AI Agent 的”上下文窗口”不再是唯一瓶颈。以前你只能靠精心设计的 System Prompt 来维持一致性,现在有了持久化记忆,Agent 可以真正”记住”你的项目。
自己搭一套的思路
不想用现成的?自己搞也不难,核心就几个模块:
存储层:用 SQLite 或 JSON 文件存储记忆条目,每条记忆带时间戳、标签、相关度评分。
提取层:用 LLM 对会话做摘要。Prompt 大致是:”从以下对话中提取关键决策、技术细节和待办事项,输出 JSON 格式。”
检索层:用向量相似度或关键词匹配,找到与当前任务最相关的记忆。简单场景用 TF-IDF 就够了,讲究点的可以上 Embedding + 向量数据库。
注入层:在新会话的 Context 中拼接一段”历史记忆”,格式类似:
## 历史记忆- 项目使用 SpringBoot + Vue 前后端分离架构- 数据库用 MySQL 8.0,已设计好 12 张表- 上次讨论决定用 JWT 做认证,不用 Session- 待完成:实现分页查询接口
实际体验
我自己试了一下,说实话效果不错但不完美。它能记住大概的项目上下文,但有时候会”记错”——把讨论过但最终否决的方案当成已确定的方案记下来。
这其实是个有意思的问题:AI 的”记忆”不等于”决策历史”。人类记事情是选择性的,会自动过滤掉”试过但放弃”的方案。但 AI 的记忆压缩做不到这么精准,它很难区分”讨论过的方案”和”确定的方案”。
对 AI 开发意味着什么?
claude-mem 爆火背后是一个更大的趋势:AI Agent 正在从”工具”进化成”同事”。
工具是无状态的——你每次用计算器,它不记得上次算过什么。但同事是有状态的——他知道项目进度、了解你的习惯、记得之前的讨论。
持久化记忆就是让 AI Agent 从”工具”跨到”同事”的关键一步。2026 年大概率会看到更多类似的项目出现,记忆管理会成为 AI Agent 基础设施的标配。
有兴趣自己搭一套的话,claude-mem 的代码是开源的,直接看源码学习架构设计是最高效的路径。GitHub 搜 “claude-mem” 就能找到。