MindForge v6.4.0:给本机 Agent 建记忆库,对话结束不再归零
一个 AI Agent 能记住你多久?大多数产品的答案是:这次对话结束为止。 11 月 8 日,开源项目 MindForge 发布 v6.4.0,想解决的就是这件事:给 Agent 一套能长期保存、随取随用、并且完全留在本机的记忆。项目由顾冯雨一个人维护,他 2008 年 1 月出生,今年 18 岁,中专在读。从 3
AI Agent 能把你的信息记多长时间?市面上多数产品给出的答案是一样的:这场对话一停,记忆也就没了。
11 月 8 日,开源项目 MindForge 发布 v6.4.0,瞄准的正是这个痛点——让 Agent 拥有一套长期保存、随时调用、并且全部留在本机的记忆。项目只有顾冯雨一个维护者,他 2008 年 1 月出生,今年 18 岁,中专在读。3 月 30 日建仓至今,核心包的 Python 代码写了 5.9 万行,算上测试共 8.3 万行。
Agent 忘事,锅不在模型智商
如今通行的路子有两种:一是把历史对话尽量塞进上下文窗口,二是把记忆托管到云端向量数据库。前者的软肋是算力开销——对话拉得越长,每次请求要带的 token 就越多,窗口再怎么扩也有上限;后者卡住的地方与技术无关,而在数据放在哪——涉及用户的事实被搬出了用户设备,每召回一次还要多跑一趟网络。
真正棘手的地方在于,记忆检索和知识库检索压根不是一码事。RAG 问的是“哪段资料能答上这个问题”,记忆要答的却是“关于这个人,哪些事实眼下依然成立”。事实会过时,也会彼此打架:上个月还住盐城,这个月搬去了南京;三个月前琢磨养猫,后来因为过敏作罢。如果只按相似度排个序,过期的、矛盾的记忆会被系统一股脑端上来。
所以 MindForge 下手的角度不在“多存”,而在“管生命周期”——哪些该记、哪些该忘、两条记忆冲突时听谁的。
记忆不出本机:四层结构、多路检索,一个 SQLite 文件搞定
本地优先是它的头一条设计原则。存储方案是 SQLite 加 FTS5,整个记忆库就落在一个文件里,能跟着环境一起搬;由于不碰云端,网络延迟和额外的数据托管也就都不存在了。
记忆在结构上分四层:感官、短期、长期、永久。新内容先落到短期层,随后按重要度和访问频次,顺着艾宾浩斯遗忘曲线一点点晋升或衰减;价值高的条目被反复强化后升入长期乃至永久层,价值低的则自然淡出。这套分层管的是“什么该被忘掉”,而不是把所有内容摊平塞进一个向量索引。
检索端同样不是单一的向量搜索。按设计,向量、FTS5 全文、TF-IDF、模糊匹配、查询扩展和 Cross-Encoder 重排几路结果会融合成一份排序,再叠加覆盖率、重要度、访问频次与时间衰减的权重。对外接口有 MCP、Python SDK、命令行和 REST 四套——光 MCP 就注册了 87 个工具,命令行有 200 多条子命令,Agent 客户端不用改架构就能接。记忆正文以 AES-256-GCM 加密落盘,密钥派生在 v6.3.1 从 PBKDF2 换成了 scrypt;隐私分四级,STRICT 级记忆在普通检索中不会返回。
在一台 2 核 CPU、3 GB 内存的云主机上(Python 3.12,未安装可选的向量扩展),这套系统跑出的成绩是:全量测试 1219 项通过、1 项跳过,耗时 208 秒,与仓库标注的 1220 项对得上;批量写入 1 万条记忆用了 396 毫秒,约合每秒 2.5 万条;在 10 万条规模的库上,单条写入中位 11.8 毫秒,检索中位 4.7 毫秒、P95 66 毫秒;整个库文件 52.8 MB,平均每条记忆 553 字节。
另一组测试考察的是“找得准不准”:写入 300 条带唯一合同编号的客户记录,再拿编号发起 50 次查询,前十条结果全部命中目标。把一条记忆标成 STRICT 后,同样的检索就再也不返回它——隐私分级不是文档上的说法,而是检索路径上实实在在的过滤。跨会话的事实同样能召回:先记下“在考虑养一只英短,但担心掉毛”,隔几次会话再问“之前的项目叫什么”,系统能从旧记录里翻出“项目改名为 MindForge,之前叫 ClawMemory”。
不过短板也明摆着。要是没装向量扩展,就只剩下三路检索,问法一换就召回不到——比如用“养猫要注意什么”去查那条英短记忆,返回结果为空。中文口语的实体抽取也不牢靠:让模型从四条记忆中抽取知识图谱,实体数为 0;把“住在盐城”改成“搬到南京”,冲突检测同样没有报警。这些能力在代码里都有,缺的是对中文常识推理的覆盖。零依赖模式下的召回限制,作者已在文档中标注,并没有把“六路检索”当作默认能力写进去。
延迟这一点常被忽略。按项目自己的基准,引擎内直接调用时,写入中位数为 2.0 毫秒、检索为 2.9 毫秒;但走命令行子进程,就蹿到 698 毫秒,多出来的时间几乎都花在 Python 解释器启动上。为此 v6.4.0 引入了常驻守护进程,把引擎放进长生命周期进程里,单次请求降到 2.5 毫秒。这类问题从功能清单上看不出来,是实际使用中倒逼出来的。
单枪匹马七个月,商业计划还没落地
时间线摆得很清楚:2026 年 3 月 30 日建仓;7 月 17 日第一个公开提交,那时名字还叫 ClawMemory;8 月底,作者删掉了自己写的实验性降级加密,理由是安全标准不允许它存在;10 月 2 日更名为 MindForge;10 月 31 日 v6.0 把多 Agent 记忆空间转正;11 月 8 日发布 v6.4.0。全程没有团队,也没有融资。
顾冯雨的背景算不上光鲜:中专在读,非名校,也没有大厂履历。他在项目主页写得很直白——“学历不能定义一个人的上限,但代码可以证明一个人的态度”。这话带着少年气,可仓库里的东西经得起验证:持续集成、1220 项测试、可复现的基准脚本,还有一套专门用来识别“加密写入更快”这类测量伪影的对照方法。
目标用户也较为清晰:做端侧或私有化部署的 Agent 团队、数据不能出内网的行业客户,以及不愿再为记忆另买一套云服务的独立开发者。商业模式还处在早期:MIT 协议开源、核心功能免费,可能收费的方向是企业私有化部署和技术支持,但目前尚未做成产品;眼下没有融资,先要把 PyPI 首发完成,再补向量数据库后端、Web 仪表盘和插件生态。
记忆系统真正难的地方在于判断哪些内容值得记、到什么时候该忘掉,存下来反倒不是难点。一个 18 岁的开发者花了七个月,把这件事做成了能安装、能测试、也能被 Agent 直接调用的系统。它离成熟的商业产品还有距离,不过至少说明了一点:给 Agent 配记忆,不一定非要先认定用户愿意把一切都交给云端。