AI 记忆管理的新思路:让 Agent 用 Git 做记忆仓库
你有没有这种感觉——用 AI 助手聊了一堆重要内容,结果下次它”失忆”了,一切重来?
这其实是当前 AI Agent 最大的痛点之一:记忆管理。
传统方案要么塞向量数据库,昂贵又难解释;要么简单存日志,时间久了数据膨胀。就没有第三种选择了吗?
还真有——DiffMem,一个用 Git 做记忆存储的 AI Agent 记忆框架,最近在开发者社区悄悄火了起来。
把记忆当代码来管
DiffMem 的核心思路非常巧妙:把你的 AI 记忆当成一个 Git 仓库来维护。
每次对话产生的新知识,commit 一次;历史的变更全部存在 Git 的提交记录里;需要查的时候,只调当前状态,BM25 索引毫秒级响应。
换句话说,AI 的记忆不再是黑盒子——你想追溯”它是怎么得出这个结论的”,直接 git log 就行。
为什么这个思路值得注意
三个原因:
1. 人类可读、可编辑
记忆以 Markdown 文件存储,你直接打开就能看,不像向量数据库那样需要专门工具。哪天想手动修正 AI 的记忆?直接改文件,commit,搞定。
2. 版本化带来可解释性
传统的 RAG 方案很难回答”这个知识是什么时候学到的”。DiffMem 天然带时间线——每一次 commit 都是一条时间戳记录,AI 可以回答”关于 X 这个问题,我是上周三更新的认知”。
3. 分支机制带来无限可能
Git 的分支功能在这里被赋予了新的意义——AI 可以开一个实验分支去测试某条记忆是否有效,确认后再合并回来。”遗忘”机制也变成了归档到历史分支,而不是直接删掉。
适合什么场景
- 长期陪伴型 AI 助手:需要跨 sessions 记住用户偏好、长期目标的
- 研究型 Agent:需要追踪研究思路演化的
- 多 Agent 协作:每个 Agent 的记忆独立仓库,共享知识时走 merge request
- 隐私敏感场景:数据全本地,自带版本管理,不需要第三方数据库
怎么用
项目本身就是 Python 模块,不需要额外部署服务:
git clone https://github.com/Growth-Kinetics/DiffMem.git
cd DiffMem && pip install -e .
核心三个模块:
– Writer Agent:分析对话,生成记忆更新,提交 commit
– Context Manager:根据查询需求组装上下文(basic/wide/deep/temporal 四种模式)
– Searcher Agent:BM25 检索,返回可解释的结果
API 调用也很简单:
from diffmem import DiffMem
dm = DiffMem(user_id="alice")
dm.process_session(messages) # 写记忆
results = dm.query("alice 最近的计划是什么?") # 读记忆
当前状态
还是 PoC 阶段(轻量验证),依赖极少,适合二次开发集成。限制是暂无自动同步和多用户锁机制——但这正好是开源社区可以贡献的方向。
项目由 Growth Kinetics 维护,MIT 协议,GitHub ⭐ 502,还在活跃迭代中。
如果你在构建需要长期记忆的 AI 应用,这个思路值得存下来研究研究。
GitHub 链接:https://github.com/Growth-Kinetics/DiffMem
评论区
登录后可评论。