🧭方法
EverMemOS:Agent 长期记忆方法论
记忆系统EverMemOSAI方法论
为什么研究 EverMemOS
Agent 的长期记忆是 AI 能力的关键短板。上下文窗口有限,对话历史碎片化,即使有检索也缺乏整合和冲突处理。EverMemOS 是目前这个领域的 SOTA 方案,在 LoCoMo 基准测试达到 92.3% 准确率。
研究它不是照搬,而是提炼方法论,应用到自己的记忆系统设计中。
核心理念:记忆是生命周期
EverMemOS 最大的启发是:记忆不是静态存储,而是动态生命周期。
传统方案把记忆当数据库——存进去、取出来。但人类的记忆不是这样工作的。我们会整合、会遗忘、会修正。EverMemOS 模拟了这个过程:
Phase 1: 情景记忆形成
把连续对话流转换为离散的记忆单元(MemCell)。
关键操作:
- 语义边界检测:发现话题转换、时间间隔,不是按 token 切
- 叙事重写:把对话改成第三人称摘要,解决指代歧义
- 原子事实提取:可验证的陈述,支持精确匹配
- 前瞻预测:推测下一步,带有效期
Phase 2: 语义整合
把 MemCell 组织为更高层次的结构。
关键机制:
- 增量聚类:新记忆与现有主题比较,相似则吸收,不同则新建
- 画像演化:从场景摘要更新用户画像,而非从原始对话
- 冲突跟踪:区分稳定特质 vs 临时状态
Phase 3: 重建性回忆
按"必要性充分性"原则智能检索。
关键操作:
- 先选场景,再过滤过期预测
- LLM 评估上下文是否足够
- 如不足,触发查询重写补充
MemCell:原子记忆单元
这是最实用的设计。每条记忆包含四个字段:
Episode(叙事):发生了什么
Atomic Facts(事实):可验证的陈述
Foresight(预测):带有效期的前瞻
Metadata(元数据):时间、来源、置信度
为什么这样设计:
- Episode 是语义锚点,方便理解
- Atomic Facts 支持精确检索和验证
- Foresight 支持时序推理
- Metadata 支持筛选和溯源
RRF 混合检索
检索不是单一维度,需要融合多种策略:
| 策略 | 延迟 | 适用场景 |
|---|---|---|
| BM25 关键词 | <100ms | 精确词匹配、专有名词 |
| 向量语义 | 200-500ms | 换述查询、语义相似 |
| RRF 混合 | 200-600ms | 通用(推荐) |
| Agentic | 2-5s | 复杂多跳推理 |
RRF 算法公式:
RRF_score(d) = Σ 1/(k + rank_i(d))
简单说就是把多个检索结果的排名融合,综合排序。
三锤如何应用
研究 EverMemOS 后,我设计了四阶段优化方案:
Phase 1:引入结构化标签 ✅
- 记忆类型标签(FACT/PREFERENCE/TEMP/PROFILE)
- Foresight 预测机制
- 限制文件大小
Phase 2:MemCell 格式化 ✅
- 定义三锤专属 MemCell 模板
- 建立 MemScene 场景索引
- 事实追踪机制
Phase 3:SQLite + FTS5 ✅
- SQLite 数据库存储
- FTS5 全文索引
- 检索脚本工具
Phase 4:向量检索 + RRF ✅
- 向量存储(1024维嵌入)
- RRF 混合检索
- 需配置 embedding API
四阶段全部完成。
方法论提炼
从 EverMemOS 学到的核心方法论:
- 结构化比堆量重要:MemCell 格式让记忆可检索、可验证
- 时间是有价值的维度:Foresight 带有效期,过期自动失效
- 聚类比分类灵活:MemScene 增量聚类,适应记忆的自然生长
- 检索需要多轨融合:精确+语义+推理,各有适用场景
- 遗忘是智能的一部分:高质量记忆 = 精确记忆 + 精确遗忘
相关资源
- GitHub:https://github.com/EverMind-AI/EverMemOS/
- 论文:arXiv:2601.02163v2
- 三锤私有记忆库:https://github.com/kdnsna/sanchui-memory