Agent记忆
Agent记忆概述
Agent记忆是使LLM Agent能够存储、检索和利用历史信息的机制。良好的记忆系统使Agent能够维持上下文连续性、从经验中学习、并在长期交互中保持一致性。
记忆类型
感觉记忆
当前输入的即时处理:
- 当前用户输入
- 最近的工具返回结果
- 临时状态信息
短期记忆(工作记忆)
当前会话的上下文:
- 对话历史
- 当前任务状态
- 中间推理结果
长期记忆
跨会话的持久化信息:
- 用户偏好和习惯
- 历史交互摘要
- 学到的知识和技能
实现技术
对话历史管理
- 滑动窗口:保留最近N轮对话
- 摘要压缩:将历史对话压缩为摘要
- 重要性评分:保留重要对话丢弃不重要的
- 分层存储:不同层级存储不同粒度
向量记忆
使用向量数据库存储和检索:
- 将对话和知识编码为向量
- 基于语义相似度检索
- 支持长期记忆的高效查询
结构化记忆
使用结构化格式存储:
- 用户画像(JSON)
- 知识三元组
- 任务状态
情景记忆
存储特定事件的完整信息:
- 关键交互的详细记录
- 重要决策的上下文
- 可回溯的事件序列
记忆操作
写入
新信息的存储:
- 选择存储的位置和格式
- 确定记忆的粒度
- 设置过期策略
检索
从记忆中获取相关信息:
- 语义搜索
- 关键词匹配
- 时间衰减
- 重要性排序
更新
修改已有记忆:
- 信息修正
- 重要性调整
- 过期清理
遗忘
删除不再需要的记忆:
- 过期自动删除
- 空间限制清理
- 隐私信息删除
设计考量
容量管理
- 设置记忆容量上限
- 实现记忆压缩和淘汰
- 平衡信息量和检索效率
一致性维护
- 避免记忆冲突
- 处理信息更新
- 保持跨会话一致性
隐私保护
- 用户控制记忆内容
- 敏感信息加密
- 支持记忆删除
实时性
- 记忆写入的及时性
- 检索的响应速度
- 更新的一致性
工具支持
- LangChain Memory:对话历史管理
- Mem0:通用记忆层
- Zep:长期记忆服务
- 向量数据库:通用记忆存储
Agent记忆是实现个性化和持续学习的关键能力,合理的记忆设计能够显著提升Agent的用户体验。