记忆系统 (Memory)
记忆系统 (Memory)
记忆系统决定了 Agent 能否在长时程、跨会话的任务中保持连贯性。如果说 LLM 是 Agent 的大脑,Memory 系统就是它的海马体。
记忆的三层架构
| 记忆类型 | 技术载体 | 生命周期 | 核心特征 |
|---|---|---|---|
| 工作记忆 (Working) | 上下文窗口 | 当前会话 | 对话历史、工具调用结果、推理链 |
| 短期记忆 (Short-term) | 会话级缓存 | 单次会话 | 临时状态、中间结果、Scratchpad |
| 长期记忆 (Long-term) | 向量数据库、知识图谱、SQLite | 跨会话持久化 | 用户偏好、关键事实、经验总结 |
记忆的生命周期
Formation(形成) → 自动摘要、知识蒸馏、结构化编码
↓
Evolution(演化) → 合并去重、冲突更新、过期遗忘
↓
Retrieval(检索) → 向量检索 + 图检索混合,重排序 + 相关性过滤Formation(形成)
- 语义摘要:自动生成会话摘要
- 知识蒸馏:提取关键实体和关系
- 结构化编码:转化为 JSON/Markdown 存入外部存储
Evolution(演化)
- 合并 (Consolidate):相似记忆去重合并
- 更新 (Update):冲突检测与版本管理
- 遗忘 (Forget):过期信息自动清理
Retrieval(检索)
- 触发时机:事件驱动(主动)/ 按需查询(被动)
- 检索策略:向量检索 + 图检索的混合检索
- 后处理:重排序、相关性过滤
协同交互循环
用户发起查询
↓
【检索长期记忆】→ 向量相似度搜索 → Top-K 记忆片段
↓
【构建增强上下文】→ 系统指令 + 记忆片段 + 对话历史 + 当前查询
↓
【LLM 推理执行】→ 调用工具 → 结果回上下文
↓
【生成响应】
↓
【更新长期记忆】→ 自动摘要 → 关键事实提取 → 存入向量数据库(可选)实现对比
| 方案 | 适用场景 | 优缺点 |
|---|---|---|
| 向量数据库 (Milvus/Pinecone/pgvector) | 语义相似度检索 | 检索精准,但计算成本较高 |
| 知识图谱 | 结构化实体关系 | 关系明确,但构建成本高 |
| SQLite / JSON 文件 | 用户画像/偏好存档 | 简单可靠,但不支持语义搜索 |
| Mem0 / MemGPT | 多层自动记忆管理 | 开箱即用,但灵活性受限 |
💡 最佳实践:短期记忆靠上下文窗口,长期记忆靠向量数据库 + 结构化摘要。记忆是 Agent 的核心竞争力之一。