§06 记忆和 RAG 让 Agent 记住你

§06 记忆和 RAG 让 Agent 记住你

本章目录

06.1 金鱼困境

早期 Agent 像金鱼。对话一关,全忘。

2025-2026 年,"长期记忆"从论文变成产品(Mem0、Letta、Zep)。

06.2 记忆分四种

人怎么记,Agent 就怎么记:

记忆类型 记啥 例子 标叔的结论
工作记忆 当前在想啥 临时便签 一轮任务内用
语义记忆 关于你的常识 你爱喝美式 长期用户画像
情景记忆 发生过的事 上次你发过火 避免再踩雷
程序记忆 怎么做事 报销先 A 后 B 固化工作流

示意图 10:四种记忆类型

flowchart TD
  WM["工作记忆<br/>当前在想啥"]
  SM["语义记忆<br/>关于你的常识"]
  EM["情景记忆<br/>发生过的事"]
  PM["程序记忆<br/>怎么做事"]
  style SM fill:#e8f0fe,stroke:#2563eb

06.3 RAG:给 Agent 一本可翻的资料库

光靠模型"脑内知识"不够。它会编。

RAG(检索增强生成)的做法:

你问之前,系统先去你的文档库检索相关段落,塞给模型当"参考资料"。

模型基于真材料答,不凭空编。

生产级 Agent 用多路召回。不是只搜相似度:

# 多路召回:比单一路更准
def retrieve(query):
    s = vector_search(query, top_k=10)   # 1. 语义相似
    k = keyword_search(query, top_k=10)  # 2. 关键词精确
    g = graph_query(query)               # 3. 知识图谱关系
    t = temporal_search(query, "7d")     # 4. 近期时序
    return rerank([s, k, g, t])          # 5. 融合重排

示意图 11:RAG 多路召回 + 融合重排

flowchart LR
  Q["用户问题"] --> R1["向量语义召回"]
  Q --> R2["关键词精确"]
  Q --> R3["知识图谱"]
  Q --> R4["近期时序"]
  R1 --> Re["融合重排"]
  R2 --> Re
  R3 --> Re
  R4 --> Re
  Re --> LLM["基于真材料作答"]
  style LLM fill:#0ea5a4,stroke:#0f766e,color:#fff

06.4 记忆要压缩

长期记忆会爆炸。解法叫分层摘要

  • Level 1:原始对话,留 7 天。
  • Level 2:每日摘要,留 30 天。
  • Level 3:周度总结,留 90 天。
  • Level 4:月度洞察,永久留。

每层由"摘要 Agent"生成。留关键的,丢冗余的。

核心建议:想让 Agent 真"懂你",把你的笔记、邮件历史接给它。它从陌生人变老搭档。

§06 讲完"笔记本"。下一章讲"质检员"——评估与反馈,决定靠不靠谱。