Mnemosyne:给 AI Agent 装上会遗忘、会学习的大脑
每个 AI Agent 都有失忆症。每次对话从零开始,不能从错误中学习,不能积累专业知识,不能把知道的东西告诉其他 Agent。
这不是一个小问题——这是 Agent 从 Demo 走向生产的最大瓶颈。
Mnemosyne 试图解决这个问题。它不是又一个向量数据库的封装,而是一个 5 层认知架构,灵感来自人脑存储、检索和强化记忆的方式。MIT 开源,TypeScript 实现,42 Star。
为什么 Agent 需要"认知级"记忆?
目前主流的 Agent 记忆方案,大多是"对话历史 + 向量检索"的简单组合。存进去,搜出来,完事。
但真正的记忆远比这复杂:
- 重要的记忆应该持久,琐碎的记忆应该衰减——不是所有信息都同等重要
- 重复使用的记忆应该被强化——就像人脑的"用进废退"
- 矛盾的记忆需要被识别和解决——而不是同时返回两个相互矛盾的事实
- 多个 Agent 之间应该能共享认知——团队协作需要共同记忆
Mnemosyne 把这些学术论文里的概念变成了可运行的生产代码。
5 层架构
L1 基础设施层
- 向量存储:基于 Qdrant,768 维嵌入,HNSW 索引
- 二级缓存:L1 内存(50 条,5 分钟 TTL)+ L2 Redis(1 小时 TTL),缓存召回 < 10ms
- 知识图谱:FalkorDB 上的时序实体图,自动链接 + 路径查找 + 时间线重建
- 双时态模型:每条记忆追踪
eventTime(事件发生时间)和ingestedAt(存入时间)
L2 管线层
这是 Mnemosyne 最核心的差异化:12 步摄入管线,零 LLM 调用。
安全过滤 → 嵌入 → 去重 → 实体提取 → 分类 → 评分 → 链接 → 图谱 → 广播
全部算法化实现,不调用任何大模型。这意味着:
- 每条记忆的存储成本 $0(竞品如 Mem0 每条约 $0.01)
- 延迟 < 50ms(vs. LLM 调用的数百毫秒到数秒)
- 安全过滤器自动拦截 API Key、凭证、私钥等敏感信息
L3 知识图谱层
- 时序查询:"X 在某日期与什么关联?"
- 自动链接:新记忆自动发现并链接到相关记忆,双向关联
- 路径查找:任意两个实体之间的最短路径
L4 认知层
这里是最有趣的部分:
激活衰减:对数衰减模型。关键记忆保留数月,琐碎记忆自然消退。核心记忆和程序性记忆免疫衰减。
多信号评分:5 个独立信号——相似度、时效性、重要性×置信度、频率、类型相关性。
意图感知检索:自动检测查询意图(事实查询、时序查询、偏好查询、探索性查询),动态调整评分权重。
多样性重排:防止"回声室效应"——不会返回 10 条语义几乎相同的结果。
L5 自我进化层
强化学习:反馈循环追踪每条记忆的有用程度。检索 3 次以上且有用率 > 0.7 的记忆自动提升权重。
主动合并:4 阶段自主维护——矛盾检测、去重合并、热门提升、陈旧降级。
闪电推理:通过记忆图谱的 BFS 遍历重建多步逻辑链:"服务故障 → 配置变更 → 需要回滚"。
Agent 心智理论(ToMA):多 Agent 场景下,"Agent B 对 X 了解多少?"——跨 Agent 的知识差距分析。
快速上手
npm install mnemosy-ai
# 需要 Qdrant
docker run -d -p 6333:6333 qdrant/qdrant
import { createMnemosyne } from 'mnemosy-ai'
const m = await createMnemosyne({
vectorDbUrl: 'http://localhost:6333',
embeddingUrl: 'http://localhost:11434/v1/embeddings',
agentId: 'my-agent'
})
await m.store({ text: "用户偏好深色模式和 TypeScript" })
const memories = await m.recall({ query: "用户偏好" })
await m.feedback("positive") // 记忆从使用中学习
只需要 Qdrant 作为硬依赖,Redis 和 FalkorDB 可选。
与竞品对比
| 维度 | Mnemosyne | Mem0 | Zep | LangMem |
|---|---|---|---|---|
| 摄入方式 | 算法(零 LLM) | LLM 调用 | LLM 调用 | LLM 调用 |
| 每条记忆成本 | $0 | ~$0.01 | ~$0.01 | ~$0.01 |
| 记忆衰减 | 对数衰减模型 | 无 | 无 | 无 |
| 知识图谱 | 内置(免费) | $249/月 | 无 | 无 |
| 多 Agent 共享 | 原生支持 | 有限 | 无 | 无 |
| 强化学习 | 内置 | 无 | 无 | 无 |
| 安全过滤 | 3 级分类 | 无 | 无 | 无 |
| GitHub Star | 42 | 57,000+ | - | - |
| 协议 | MIT | Apache 2 | BSL | MIT |
Mem0 是这个赛道的 800 磅大猩猩(57k Star),但它的核心路径依赖 LLM 调用,这意味着成本和延迟都更高。Mnemosyne 选择了一条更激进的路线:零 LLM,全算法。
Agent 记忆赛道正在爆发
Mnemosyne 不是孤例。过去两个月,至少 5 个同类项目在 HN 上出现:
- YourMemory(231 Star):基于艾宾浩斯遗忘曲线的 Agent 记忆,LoCoMo 基准测试比 Mem0 高 16 个百分点
- Memoirs:100% 本地的记忆引擎,SQLite + MCP 协议
- Mnemo:本地优先的 AI Agent 笔记本
- PLUR:零成本的持久化 Agent 记忆
- WUPHF:多 Agent 通过"八卦协议"防止上下文漂移
这些项目的共同趋势:本地优先、零 LLM 依赖、持久化。Agent 记忆正在从"有就行"的附属功能,变成一个独立的基础设施层。
冷思考
Mnemosyne 的愿景很宏大——5 层架构、33 个功能、10 个"AGI 级"能力。但 42 Star 的现实也很骨感。
几个值得关注的问题:
- 零 LLM 的代价:算法化的实体提取和分类,准确率能否匹配 LLM 方案?README 没有给出基准测试数据
- Qdrant 依赖:虽说"只需要 Qdrant",但在本地跑一个向量数据库的门槛并不低
- 生产验证:宣称"13,000+ memories across a 10-agent mesh",但没有公开的用户案例
- 维护风险:单人项目(从 commit 历史看),42 Star 的开源项目长期维护是个问号
不过,它提出的问题比它给出的答案更重要:Agent 到底需要什么样的记忆系统?
向量检索显然不够。记忆需要衰减、需要学习、需要推理、需要在多个 Agent 之间流动。这些需求是真实的,只是最佳解法还没有定论。
Mnemosyne 是目前对这些问题回答最完整的开源方案之一。即使你不用它,它的架构设计也值得研究。
GitHub: 28naem-del/mnemosyne | npm: mnemosy-ai | License: MIT