返回技术博客

Mnemosyne:给 AI Agent 装上会遗忘、会学习的大脑

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 可选。

与竞品对比

维度MnemosyneMem0ZepLangMem
摄入方式算法(零 LLM)LLM 调用LLM 调用LLM 调用
每条记忆成本$0~$0.01~$0.01~$0.01
记忆衰减对数衰减模型
知识图谱内置(免费)$249/月
多 Agent 共享原生支持有限
强化学习内置
安全过滤3 级分类
GitHub Star4257,000+--
协议MITApache 2BSLMIT

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