乐于分享
好东西不私藏

AI 智能体的"记忆术":它怎么记住你说过的话,又怎么从海量文档里找到答案?

AI 智能体的"记忆术":它怎么记住你说过的话,又怎么从海量文档里找到答案?

阅读时长:约 15 分钟

适合人群:想搞清楚 AI 为什么"忘事"、RAG 是什么东西的你


你有没有遇到过这种情况:

第一轮对话,你告诉 AI "我叫张三,是个 Python 开发者"。第二轮对话,你问它"你还记得我的情况吗?"——

它说:不知道你是谁。

明明就在刚才,它怎么就忘了?

今天这篇文章,我们就来聊两件事:AI 为什么会忘事,以及怎么让它不忘事、还能从你给的文档里找到答案


先讲讲 AI 为什么"失忆"

大语言模型在设计上是无状态的

什么意思?每一次 API 调用,对模型来说都是全新的开始。它不会自动记住上一次对话。你昨天告诉它的事,今天它一无所知。

这带来了几个实际问题:

  • • 个性化消失:AI 不记得你的偏好、习惯、背景
  • • 上下文断裂:长对话中,早期信息会因为窗口限制而"溢出"
  • • 前后矛盾:多轮对话可能出现自相矛盾的回答

除了失忆,还有另一个问题:AI 的知识是静态的

它的知识来自训练数据,有时间截止点。你问它昨天发生的新闻?不知道。你给它一份公司内部文档,让它回答具体问题?它根本没见过这份文档。

这两个根本局限,是这章要解决的核心问题:

  • • 记忆系统——让 AI 记住对话历史和用户信息
  • • RAG(检索增强生成)——让 AI 从你提供的文档里找答案

第一部分:记忆系统——给 AI 一个"大脑"

人类记忆系统给的启发

认知科学告诉我们,人类记忆分三层:

类型
时长
特点
感觉记忆
0.5-3秒
瞬间感知,容量大但转瞬即逝
工作记忆
15-30秒
当前任务处理,容量有限(7±2项)
长期记忆
终生
概念知识、个人经历,容量几乎无限

借鉴这个框架,AI 智能体的记忆系统也被设计成四种类型

四种记忆,各司其职

🧠 工作记忆(Working Memory)

相当于 AI 的"便利贴"——存储当前对话的临时信息,会话结束后自动清除。容量有限(默认 50 条),访问速度最快。

适合存:刚才用户问了什么、本次对话的上下文。


📖 情景记忆(Episodic Memory)

相当于 AI 的"日记"——记录具体发生过的事件,按时间线排列。

适合存:用户在某月某日完成了某个任务、历史上问过哪些问题。

比如:"2024年3月15日,用户张三完成了第一个 Python 项目" → 这是一条情景记忆。


🗺️ 语义记忆(Semantic Memory)

相当于 AI 的"知识库"——存储抽象的概念、规则、用户偏好。

适合存:用户是 Python 开发者、用户喜欢简洁的回答风格、Python 是面向对象语言。

语义记忆还用了知识图谱(Neo4j)存储实体和关系——AI 不只知道"Python 是一门语言",还知道"Python 常用于机器学习"、"机器学习是 AI 的子领域",这些关联可以支持复杂的推理。


👁️ 感知记忆(Perceptual Memory)

相当于 AI 的"相册"——存储图片、音频等多媒体信息,支持跨模态检索。

适合存:用户上传的图表、截图、录音。


记忆的生命周期

记忆系统最有意思的地方,是它模拟了人类大脑的遗忘和整合机制

遗忘(Forget)——三种策略:

  • • 删除重要性低的记忆(比如随口一说的话)
  • • 删除太久没用的记忆(超过 30 天的旧内容)
  • • 当存储快满时,删除最不重要的记忆腾出空间

整合(Consolidate)——类似人类睡眠时把短期记忆转化为长期记忆的过程:

重要性 > 0.7 的工作记忆 → 自动升级为情景记忆重要性 > 0.8 的情景记忆 → 自动升级为语义记忆(变成持久知识)

这样,真正重要的信息会被长期保留,而临时的、不重要的信息会被自动清理。


一句话总结记忆系统

AI 的记忆系统 = 工作台(工作记忆)+ 日记本(情景记忆)+ 知识库(语义记忆)+ 相册(感知记忆),还配了自动整理和遗忘机制。


第二部分:RAG——让 AI 读懂你的文档

什么是 RAG?

RAG = Retrieval-Augmented Generation,检索增强生成。

一句话解释:在 AI 生成回答之前,先去你的文档里搜相关内容,把搜到的内容塞进提示词,然后再回答。

这样,AI 回答的就不是它训练时见过的内容,而是你给它的文档里的内容。

RAG 解决的正是"AI 知识有截止日期"和"AI 不知道你的内部文档"这两个问题。


RAG 的三个时代

第一代:关键词搜索(2020-2021)

像百度一样,用 TF-IDF 等关键词匹配找文档。效果还行,但不理解语义——你搜"大语言模型",它找不到写着"LLM"的段落。

第二代:语义向量检索(2022-2023)

把文字转成高维向量,用相似度计算找相关内容。"大语言模型"和"LLM"在向量空间里距离很近,能被匹配到。这是目前主流方案。

第三代:模块化 RAG(2023至今)

加入了查询扩展、假设文档嵌入等高级技术,检索精度更高,还能结合知识图谱做多跳推理。


RAG 怎么处理你的文档?

整个流程分两个阶段:

阶段一:建立知识库

你的文档(PDF/Word/Excel/图片/音频)    ↓ 统一转成 Markdown 格式    ↓ 按段落和标题结构分成小块(分块)    ↓ 每块文字转成向量(嵌入)    ↓ 存进向量数据库(Qdrant)

这里有个设计亮点:所有格式的文档都先统一转成 Markdown,这样无论是 PDF 的章节、Excel 的表格、还是图片里的文字(OCR),都用同一套分块逻辑处理。


两个让检索更准的黑科技

多查询扩展(MQE)

同一个问题,用不同的方式问,能找到更多相关内容。

比如你问"如何学习 Python",系统会自动扩展出:

  • • "Python 入门教程"
  • • "Python 学习方法"
  • • "Python 编程指南"

这三个查询并行检索,结果合并,召回率提升 30-50%。


假设文档嵌入(HyDE)

这个更有趣:先让 AI 编一个可能的答案,再用这个"假答案"去搜真答案。

为什么有效?因为问题(疑问句)和答案(陈述句)在语义空间里的分布不同——用"假答案"去搜,比直接用问题去搜更精准。

特别适合专业领域:AI 生成一段包含专业术语的假设答案,再用这段话搜索,能精准命中领域文档。


第三部分:两者结合——一个 PDF 问答助手

把记忆系统和 RAG 结合,能做什么?

来看一个真实案例:基于 PDF 的智能学习助手

它能做什么?

  1. 1. 上传 PDF 文档(比如一本技术书的 PDF)
  2. 2. 用自然语言提问:AI 从书里找相关段落,再给出有据可查的回答
  3. 3. 记学习笔记:笔记存到语义记忆,下次可以检索
  4. 4. 回顾学习历程:从情景记忆里查"我上周学了哪些内容"
  5. 5. 生成学习报告:整合所有学习数据,输出 JSON 格式报告

记忆和检索怎么配合?

操作
用到什么
存到哪里
加载 PDF
RAG:文档→分块→向量化
向量数据库
用户提问
先存工作记忆;RAG 检索答案
工作记忆
提问记录
自动存到情景记忆
情景记忆
记学习笔记
直接存语义记忆
语义记忆+知识图谱
查学习历史
搜索情景记忆

两者的分工很清晰:

  • • RAG 负责"外部知识"——你给它的文档
  • • 记忆系统负责"交互历史"——你说过的话、做过的事

一张图看懂这章


写在最后

AI 的"失忆"问题,从技术上早有解法——只是大多数产品还没完全把这些能力开放给普通用户。

记忆系统让 AI 真正"认识你";RAG 让 AI 真正"读懂你的资料"。两者结合,才是真正意义上的个人 AI 助理。

这不是遥远的未来,而是已经可以用代码实现的今天。


*本文内容整理自 Datawhale《Hello Agents》

觉得有收获?点个赞告诉我 👇