Agent 记忆完全指南:8种核心记忆方式深度解析

本文最后更新于 2026年7月24日 早上

在构建智能体(Agent)时,记忆系统是其大脑的核心组件。没有记忆,Agent 只会是金鱼,转头就忘。记忆不仅决定了对话的连贯性,更影响了 Agent 的个性化、学习能力和任务执行效率。本文将深入剖析 Agent 的 8 种主流记忆方式,并配以 Mermaid 示意图,助你彻底掌握记忆架构。

分类总览

在深入细节前,先宏观分类。Agent 记忆通常分为三大类:

mindmap
  root((Agent 记忆方式))
    短期记忆
      上下文窗口
      对话缓冲
    长期记忆
      向量化语义记忆
      关键事实档案
      用户画像记忆
    工作与混合记忆
      反思与总结
      工作记忆草稿本
      混合检索记忆

1. 上下文窗口(Context Window)

类型:短期记忆

工作原理
这是最基础的记忆形式。直接利用大模型的注意力机制,将最近的对话历史原封不动地拼接成一个巨大的 Prompt,提交给模型处理。它的记忆容量直接受限于模型支持的 Token 上限。

graph LR
    A[用户输入] --> B[窗口管理器]
    subgraph 上下文窗口
        C[消息1]
        D[消息2]
        E[消息3]
        F[消息N]
    end
    C --> G[拼接为单一Prompt]
    D --> G
    E --> G
    F --> G
    G --> H[LLM推理]
    H --> I[生成回复]
    
    style C fill:#e1f5fe
    style D fill:#e1f5fe
    style E fill:#e1f5fe
    style F fill:#ffcdd2
  • 优点:实现极简,无需外部存储;能完整保留窗口内的语序和细节。
  • 缺点:成本高昂,Attention 计算量与 Token 数平方成正比;记忆“失忆”严重,超出窗口的信息永久丢失。
  • 适用场景:简单的单轮问答,或对上下文依赖不深的轻量级 Bot。

2. 对话缓冲(Conversation Buffer)

类型:短期记忆

工作原理
在系统内存中维护一个先进先出的消息列表。它不关心 Token 数,只关心消息条数。就像一个定长的排队队列,新人进,最老的出,然后将整个列表原样传给模型。

graph TD
    A[新消息] --> B{缓冲区是否已满?}
    B -- 否 --> C[追加到列表末尾]
    B -- 是 --> D[删除列表第一条消息]
    D --> E[追加新消息到末尾]
    C --> F[返回完整列表给LLM]
    E --> F
    
    subgraph 内存缓冲区
        direction LR
        M1[消息1:最旧] 
        M2[消息2]
        M3[消息3]
        M4[消息4:最新]
    end
    
    F --> M1
    F --> M2
    F --> M3
    F --> M4
    
    style M1 fill:#ffcdd2
    style M4 fill:#c8e6c9
  • 优点:实现比窗口管理更直观,完全保留了原始对话对象。
  • 缺点:记忆颗粒度粗,可能某条关键信息极长导致直接撑爆,且旧信息无条件遗忘。
  • 适用场景:需要快速搭建的对话原型,或对记忆精度要求不高的闲聊机器人。

3. 向量化语义记忆(Vector Semantic Memory)

类型:长期记忆

工作原理
这是 Agent 具备“模糊记忆”的关键。它不记原话,只记“意思”。通过 Embedding 模型将文本片段转化为高维向量,存入向量数据库。检索时,用同样的模型编码用户查询,通过余弦相似度找到最“相关”的记忆片段。

graph TD
    subgraph 写入流程
        W1[对话/文档] --> W2[Embedding模型]
        W2 --> W3[向量: 0.23, -0.67, 0.91...]
        W3 --> W4[(向量数据库)]
    end
    
    subgraph 检索流程
        Q1[用户查询] --> Q2[同一Embedding模型]
        Q2 --> Q3[查询向量]
        Q3 --> Q4[余弦相似度计算]
        W4 --> Q4
        Q4 --> Q5[返回Top-K相关片段]
    end
    
    Q5 --> R[拼接上下文] --> LLM
    
    style W4 fill:#e8eaf6
  • 优点:跨语言、跨表述的记忆能力,极其灵活,能处理海量数据。
  • 缺点:丢失了精确信息;黑盒检索,可解释性差;高度依赖模型质量。
  • 适用场景:需要记忆海量文档、FAQ、或用户过往聊天大意的知识库型 Agent。

4. 关键事实档案(Entity/KG Memory)

类型:长期记忆

工作原理
与向量的“模糊”相反,它追求“精确”。通过信息抽取模型从对话中提取实体和关系,结构化为三元组存入知识图谱或键值数据库。查询时,直接从图中精确匹配。

graph TD
    A[对话: 我叫张三,住在北京] --> B[信息抽取LLM]
    B --> C1[实体: 用户]
    B --> C2[实体: 张三]
    B --> C3[实体: 北京]
    B --> D1[关系: 姓名→张三]
    B --> D2[关系: 城市→北京]
    
    C1 --> E[(知识图谱)]
    C2 --> E
    C3 --> E
    D1 --> E
    D2 --> E
    
    F[新提问: 我住在哪?] --> G[查询图谱]
    E --> G
    G --> H[精确答案: 北京]
    
    style E fill:#fff3e0
    style H fill:#c8e6c9
  • 优点:100% 精确,可解释,支持逻辑推理,结构化数据便于分析。
  • 缺点:抽取过程可能出错,难以处理非结构化或情感信息,构建成本高。
  • 适用场景:需要绝对精确信息的场景,如客户个人信息、订单号、医疗史、配置参数等。

5. 用户画像记忆(Profile Memory)

类型:长期记忆

工作原理
动态聚合器。它会持续分析用户的多轮对话,逐步提取并更新用户的长期属性、偏好、行为特征,压缩成一份“画像摘要”。每次新对话开始时,这份摘要会被静默注入 System Prompt,实现千人千面的交互。

graph TD
    A[第1次对话] --> B1[提取: 程序员]
    B1 --> C[用户画像档案]
    
    D[第5次对话] --> B2[提取: 喜欢Python]
    B2 --> C
    
    E[第10次对话] --> B3[提取: 家在杭州]
    B3 --> C
    
    C --> F{画像更新合成}
    F --> G["画像摘要: 程序员,Python,杭州,技术极客"]
    
    G --> H[注入System Prompt]
    H --> I[个性化回复生成]
    
    style C fill:#f3e5f5
    style G fill:#e8eaf6
  • 优点:深度个性化,越聊越懂用户,无需用户重复设置。
  • 缺点:依赖长周期的数据积累,更新策略复杂,需要处理画像漂移。
  • 适用场景:个人助手、情感陪伴、个性化推荐系统等需要长期陪伴的 Agent。

6. 反思与总结(Reflection & Summary)

类型:工作/混合记忆

工作原理
生成式压缩器。当对话历史太长时,不再简单丢弃,而是触发一个 LLM 调用,让它对历史对话进行阶梯式总结。用精炼的摘要代替冗长的原始记录,以最小的信息损失压缩 Token 用量。

graph TD
    A[对话历史累积] --> B{超过Token阈值?}
    B -- 否 --> C[保持原样]
    B -- 是 --> D[触发反思机制]
    
    D --> E[LLM反思生成]
    E --> F["摘要: 用户今天讨论了3个话题,情绪略焦虑..."]
    
    F --> G[丢弃原始对话]
    G --> H[仅保留摘要]
    H --> I[拼接新对话继续]
    
    style F fill:#c8e6c9
    style G fill:#ffcdd2
  • 优点:极强的压缩能力,可无限延长对话;能提炼深层意图。
  • 缺点:增加模型调用成本和延迟,总结过程也可能丢失关键细节。
  • 适用场景:需要超长上下文处理的 Agent,如项目周期长达数月的协作工具。

7. 工作记忆草稿本(Working Memory / Scratchpad)

类型:工作记忆

工作原理
临时思考空间,相当于人的“草稿纸”。在执行复杂的多步推理任务时,Agent 会开辟一个临时存储区,记录每一步的中间结果、假设、计算过程和自我检查。任务完成后,这个草稿本立即被销毁。

graph TD
    A[任务: 规划北京三日游] --> B[创建草稿本]
    
    subgraph 草稿本
        S1[步骤1: 确定天数→3天]
        S2[步骤2: 景点筛选]
        S3[步骤3: 路线规划]
        S4[步骤4: 交通安排]
        S5[中间检查: 合理? ✅]
    end
    
    B --> S1
    S1 --> S2
    S2 --> S3
    S3 --> S4
    S4 --> S5
    S5 --> C[输出最终方案]
    C --> D[清空草稿本]
    
    style S5 fill:#fff9c4
    style D fill:#ffcdd2
  • 优点:将复杂任务解耦,极大提升推理的准确性和条理性。
  • 缺点:单次任务内的临时信息,不贡献长期知识;增加推理步数,速度变慢。
  • 适用场景:数学题求解、复杂代码生成、多步工具调用、旅行规划等。

8. 混合检索记忆(Hybrid Memory)

类型:架构级混合

工作原理
企业级终极方案。单一的检索方式总有短板,混合检索同时启用多个通道:向量检索负责语义相似,关键词检索保证精确字面匹配,甚至引入知识图谱通道。各路召回结果通过加权融合排序器最终汇合。

graph TD
    A[用户查询] --> B[向量检索通道]
    A --> C[关键词检索通道]
    A --> D[知识图谱通道]
    
    B --> E[语义相似结果]
    C --> F[精确匹配结果]
    D --> G[结构化关联结果]
    
    E --> H[融合排序器
RRF/加权求和] F --> H G --> H H --> I[去重+重排] I --> J[最终上下文块] J --> K[LLM推理] style H fill:#e1bee7 style J fill:#c8e6c9
  • 优点:兼顾语义模糊性和词汇精确性,鲁棒性极高,查全率与查准率俱佳。
  • 缺点:架构复杂,维护成本高,多路召回增加延迟。
  • 适用场景:对事实准确性要求极高的商业应用,如电商客服、企业知识库、金融顾问等。

总结与选型指南

没有银弹,只有最适合的架构。在实战中,这 8 种记忆方式通常会组合使用:

  • MVP 阶段对话缓冲 打底,快速出活。
  • 多轮对话产品缓冲 + 向量化语义记忆,让 Agent 拥有长期模糊记忆。
  • 有精确事实需求:在向量库基础上,增加 关键事实档案
  • 超长上下文/多会话:引入 反思与总结 机制。
  • 强个性化应用:必须加 用户画像记忆
  • 复杂推理任务:代码里实现 工作记忆草稿本
  • 商业化/对幻觉零容忍:直接上 混合检索记忆

Agent 记忆完全指南:8种核心记忆方式深度解析
https://wttch96.github.io/post/agent/Agent 记忆完全指南.html
作者
Wttch
发布于
2026年7月24日
更新于
2026年7月24日
许可协议