1. 长期记忆的重要性
- 丢失上下文:AI智能体忘记过去互动中的重要信息。
- 通用回应:没有适当记忆,AI智能体回复变得不个性化且不准确。
- 信任侵蚀:当AI智能体无法记住基本偏好时,用户失去信心。
2. RAG不适合作为长期记忆系统
电商场景案例
- 用户表达对阿迪达斯运动鞋的喜爱。
- 用户鞋子坏了,偏好转向彪马。
- 用户询问运动鞋推荐,基于RAG的系统错误推荐阿迪达斯。
核心问题
- 时间顺序:哪个事实先出现。
- 因果关系:鞋子坏了→失望→偏好变化。
- 事实失效:“喜欢阿迪达斯”应被后来事件覆盖。
3. 向量嵌入 VS 知识图谱
向量嵌入问题
- 事实作为孤立点存在,无明确关系。
- 查询找到最相似向量嵌入,错过因果链和时间上下文。
知识图谱优势
- 明确用时间有效期建模关系。
- “喜欢”关系失效时间、因果链接和新“喜欢”关系有效性。
4. 知识图谱实现方法
关键特点
- 时间感知:跟踪事件发生时间和学习时间。
- 关系性:实体+关系+社区。
- 实时性:动态更新无需昂贵重新计算。
- 秘密武器:双时间记忆。
5. 双时间记忆
时间模型
- created_at:学习事实时间。
- valid_at:事件实际发生时间。
- invalid_at:事实变得不真实时间。
- expired_at:学习到不再有效时间。
支持时间推理
6. 智能冲突解决
冲突处理
- 新事实:“阿迪达斯鞋坏了,用户不高兴”。
- 检测冲突:“喜欢阿迪达斯”关系失效。
- 时间解决:设置invalid_at日期并创建因果边。
- 结果:为每个偏好设置清晰时间边界。
7. 混合检索
检索方法
- 语义搜索:通过嵌入向量找到相关内容。
- 关键词搜索:BM25全文搜索特定术语。
- 子图遍历:从初始结果导航关系。
- 结果融合:结合所有方法获得全面上下文。
8. 特定领域的记忆
领域建模
- 心理健康应用与电商AI智能体记忆类型不同。
- 使用pydantic定义自定义实体和边。
- 动态整合对话和业务数据,实现相关检索。
9. 记忆 ≠ 知识检索
- 记忆需求:
- 处理时间序列、因果关系和动态更新。
- 提供更准确、更个性化服务。