用途:为智能体设计分层记忆体系,区分对话历史与真正记忆。适用于跨会话记住用户偏好、多会话任务续接、重启后仍保持个性化、多租户隔离,以及事实随时间变化需要历史追溯的场景。
主要能力:把记忆划分为三层——核心(上下文内,约六千至八千字符内,放身份与规则)、回忆(向量检索,十万级条目,含最近若干会话)、归档(冷存储,无上限,保存完整历史)。配套提升规则:归档在检索时升入回忆,回忆在重复使用时升入核心;淘汰规则:核心遇上下文压力降入回忆,回忆过期降入归档。
后端选型:mem0 偏自我改进与事实抽取、开源,适合个性化与对话记忆;Letta(MemGPT)偏操作系统式分层记忆与持久化,适合长生命周期智能体;Zep/Graphiti 提供双时序知识图谱,适合事实随时间变化的场景;LangMem 为 LangGraph 原生,适合已在 LangGraph 的团队;Postgres + pgvector 适合自建与合规、本地部署需求。
时序与快照:快照以最新值为准(mem0 默认),简单但丢失历史;双时序为每个事实记录 valid_from、valid_to、recorded_at,当需要回答“智能体昨天认为什么”时必须采用。Graphiti/Zep 开箱即用,自建需维护实体、关系、值等元组。
隐私模式:按租户隔离命名空间,不跨用户共享嵌入;嵌入前用 Presidio 做 PII 检测;回忆层设 TTL(如 90 天),归档层显式保留策略;用户发起的遗忘需从所有层硬删除并重建索引。
用法示例:mem0 中通过 Memory() 添加带 user_id 的记忆并检索;Graphiti 通过 add_episode 写入带 reference_time 的事件并搜索。具体限制与平台细节暂未提供。