D
AI
学习工作台
Agent 开发2026-03-171 分钟阅读

Agent 记忆系统:从短期到长期

理解 Agent 的记忆类型、Mem0 与向量存储,构建可持续学习的记忆系统

Agent记忆系统Mem0向量存储记笔记标记疑惑

记忆类型概览

Agent 需要记忆来维持连贯性与个性化。按时间跨度和用途,可分为:

短期记忆(Working Memory)

  • 范围:当前会话或最近若干轮对话
  • 实现:通常保存在内存中的 messages 列表,直接作为 LLM 的 context
  • 特点:容量有限(受上下文窗口限制),会话结束即丢失
  • 优化:滑动窗口、摘要压缩,将早期对话压缩为摘要再拼接

长期记忆(Long-term Memory)

  • 范围:跨会话、跨用户(若支持多租户)
  • 实现:持久化到数据库、向量库、图数据库等
  • 内容:用户偏好、重要事实、历史决策、关系网络
  • 检索:按语义或元数据检索,在需要时注入当前上下文

情景记忆与语义记忆

  • 情景记忆:具体事件(如「上周用户询问过 X」),带时间、主体等元数据
  • 语义记忆:抽象知识(如「用户偏好简洁回复」),可泛化到新场景

Mem0 简介

Mem0 是一个开源的 Agent 记忆框架,提供:

  • 自动提取:从对话中识别可存储的记忆(事实、偏好、承诺等)
  • 存储与索引:支持向量存储、图存储等多种后端
  • 检索:根据当前 query 检索相关记忆,注入 Prompt
  • 更新与遗忘:支持记忆的修正、合并,以及基于时间或重要性的遗忘策略
集成方式简单,可作为 LangChain/LlamaIndex 的 memory 组件使用。

向量存储在记忆中的应用

向量存储适合「语义检索」型记忆:

  • 编码:将记忆文本通过 Embedding 模型转为向量
  • 存储:写入 Pinecone、Qdrant、pgvector 等
  • 检索:用户提问时,将 query 编码,检索 Top-K 相似记忆
  • 元数据:为记忆附加 user_id、timestamp、type 等,支持过滤
  • 结合 Reranker 可进一步提升召回质量。

    设计建议

    • 短期记忆控制长度,避免超出上下文窗口
    • 长期记忆要有明确的写入策略,避免噪声积累
    • 为用户提供「查看/删除记忆」的能力,符合隐私与可控性要求
    • 记忆更新与遗忘策略要可配置,适应不同业务场景

    小结

    从短期对话上下文到长期持久化记忆,Agent 记忆系统决定了其连贯性与个性化程度。Mem0 与向量存储为长期记忆提供了现成方案,合理设计写入、检索与遗忘策略,可构建可持续学习的 Agent 系统。

    知识卡片

    问题

    Agent 的短期记忆与长期记忆有何区别?

    点击翻转查看答案

    答案

    短期记忆通常指当前对话的上下文窗口(如最近 N 轮),用于维持对话连贯性;长期记忆持久化到外部存储,跨会话复用,支持用户偏好、事实知识等。

    问题

    Mem0 的核心能力是什么?

    点击翻转查看答案

    答案

    Mem0 提供可插拔的记忆层,支持自动提取、存储、检索用户与 Agent 交互中的关键信息,并支持记忆的更新、合并与遗忘,实现持续学习。

    问题

    向量存储在记忆系统中扮演什么角色?

    点击翻转查看答案

    答案

    将记忆条目编码为向量,通过语义相似度检索相关记忆,实现「按需回忆」。适合存储事实、偏好、历史交互摘要等,支持大规模记忆的高效检索。