第11章 记忆系统的认知科学基础
本章来源:综合自 Hello-Agents 第8章(认知科学启发的记忆系统设计)、Agentic Design Patterns 第8章(Memory Management 中的短期/长期记忆模型)、Agentic 模型和记忆机制分享 中的记忆认知模型
核心问题 -- 本章要解答什么
前四章(第7-10章)讨论了智能体的设计模式:如何编排流程、使用工具、管理运行时、以及学习和推理。但所有这些讨论都忽略了一个关键问题:智能体如何记住过去发生了什么?
当前基于 LLM 的智能体面临两个根本性局限。第一是对话状态的遗忘——LLM 在设计上是无状态的,每次 API 调用都是独立的计算,上一轮对话的内容不会自动保留。在长对话中,早期的重要信息因上下文窗口限制而丢失;智能体无法记住用户偏好;多轮对话中可能出现前后矛盾的回答。第二是内置知识的局限——模型的知识来自训练数据,有截止日期、覆盖面有限、且可能产生幻觉。
记忆系统解决了这两个问题。本章从认知科学出发,建立智能体记忆的理论基础——人类大脑如何处理、存储和检索信息,以及这些认知机制如何映射为智能体的工程实现。
设计空间 -- 可选方案与取舍
11.1 人类记忆系统的层次结构
认知心理学揭示了人类记忆的多层级结构,这为智能体记忆的设计提供了核心框架。经典的 Atkinson-Shiffrin 三阶段模型(1968)将记忆划分为感觉记忆→短期记忆→长期记忆的顺序加工流程;Baddeley 工作记忆模型进一步将短期记忆扩展为包含中央执行器、语音环路和视觉空间画板的主动加工系统;互补学习系统理论(CLS) 则从神经科学角度解释了快速学习(海马体)与缓慢泛化(新皮层)的协同机制——这三个理论共同构成了智能体记忆设计的认知科学基底。

11.1.1 感觉记忆(Sensory Memory)
持续时间极短(0.5-3 秒),容量巨大,负责暂时保存感官接收到的所有信息。视觉的瞬时记忆(图像记忆)、听觉的回声记忆都属于此类。大部分感觉记忆在注意力未聚焦时迅速消失。
智能体映射:对应智能体的原始输入缓冲——用户消息、工具返回值、环境观察等在被处理前的暂存状态。这些信息量大但绝大部分不需要长期保留。
11.1.2 工作记忆(Working Memory)
持续时间短(15-30 秒),容量有限(经典的"7 +/- 2"规则),负责当前任务的信息处理。工作记忆不仅是存储,更是一个活跃的加工空间——信息在这里被操控、组合和转换。
智能体映射:对应 LLM 的上下文窗口。当前对话的消息、智能体回复、工具调用结果和推理步骤都存在于此。上下文窗口有固定的 token 限制,这与工作记忆的有限容量直接对应。长上下文模型只是扩大了这个容量,但并未改变其本质——会话结束后信息仍然丢失。
11.1.3 长期记忆(Long-term Memory)
持续时间长(可达终生),容量几乎无限。长期记忆进一步分为两个主要类别:
程序性记忆:技能和习惯(如骑自行车、打字)。这类记忆是"知道怎么做",通过重复练习获得,一旦形成很少遗忘。
陈述性记忆:可以用语言表达的知识,进一步分为:
- 语义记忆:一般知识和概念("巴黎是法国首都"、"水的沸点是100°C")。这些是去除了时间和地点标签的抽象知识。
- 情景记忆:个人经历和事件("昨天的会议上讨论了项目进度")。这些是带有时间戳和上下文信息的具体经历。
智能体映射:程序性记忆对应智能体的 prompt 模板和工具使用策略("知道怎么做")。语义记忆对应智能体存储的领域知识、用户偏好和抽象规则。情景记忆对应智能体存储的具体交互记录和任务执行历史。
11.2 记忆的认知过程
人类记忆的形成不是简单的"存入-取出",而是一个复杂的认知过程。理解这些过程对设计高效的智能体记忆系统至关重要。

11.2.1 编码(Encoding)
将感知到的信息转换为可存储的形式。编码的深度直接影响后续检索的效果——深度编码(与已有知识关联、赋予意义)比浅层编码(仅记住表面特征)更有效。
智能体实现:对应向量嵌入(Embedding)的过程。将文本信息转换为高维向量表示,使其可以被存储和基于语义相似度检索。嵌入模型的质量直接决定了"编码深度"——好的嵌入能捕捉语义关系,差的嵌入只能匹配表面词汇。
11.2.2 存储(Storage)
将编码后的信息保存在记忆系统中。存储不是一次性的行为,而是持续的维护过程——信息在存储中会被重组和关联。
智能体实现:对应向量数据库(如 Qdrant)、图数据库(如 Neo4j)和关系数据库(如 SQLite)中的持久化写入。不同类型的记忆使用不同的存储后端,这将在第13章详细讨论。
11.2.3 检索(Retrieval)
根据需要从记忆中提取相关信息。检索的效率取决于编码质量和组织方式。人类检索依赖线索——一个气味、一首歌可以唤起整段记忆。
智能体实现:对应语义搜索(基于向量相似度的检索)、图遍历(基于关系的检索)和结构化查询。检索质量是整个记忆系统的关键性能瓶颈。
11.2.4 整合(Consolidation)
将短期记忆转化为长期记忆。在人类中,这个过程主要发生在睡眠期间——大脑在休息时重放和整理白天获取的信息。
智能体实现:对应从工作记忆到持久存储的迁移过程。当智能体完成一轮对话后,可以选择性地将重要信息从上下文(短期记忆)提取并写入外部存储(长期记忆)。这个选择性很关键——不是所有信息都值得长期存储。
11.2.5 遗忘(Forgetting)
删除不重要或过时的信息。遗忘不是系统的缺陷,而是必要的能力——它防止信息过载,确保检索效率。艾宾浩斯遗忘曲线揭示了遗忘的规律:信息获取后迅速遗忘,然后遗忘速度逐渐减慢。
智能体实现:对应记忆的 TTL(Time-to-Live)管理、重要性衰减和主动清理策略。工作记忆在会话结束后自动清理;情景记忆可以基于访问频率和时间衰减删除旧记录。
11.3 从认知模型到工程架构的映射
| 认知概念 | 智能体实现 | 存储方式 | 生命周期 |
|---|---|---|---|
| 感觉记忆 | 输入缓冲区 | 内存 | 极短(处理即丢弃) |
| 工作记忆 | 上下文窗口 | LLM 上下文 | 会话级(会话结束即丢失) |
| 情景记忆 | 交互历史 | SQLite + 向量数据库 | 长期(按重要性衰减) |
| 语义记忆 | 知识图谱 + 知识库 | 向量数据库 + 图数据库 | 持久(显式删除) |
| 程序性记忆 | Prompt 模板 + 工具策略 | 代码/配置文件 | 持久(版本迭代) |
| 编码 | 向量嵌入 | Embedding 服务 | 实时 |
| 检索 | 语义搜索 | 向量相似度匹配 | 实时 |
| 整合 | 短期→长期迁移 | 批处理/触发式 | 定时/事件触发 |
| 遗忘 | TTL + 重要性衰减 | 定期清理 | 后台进程 |
架构解析 -- 深入分析主流架构
11.4 Google ADK 的记忆管理模型
Google Agent Developer Kit(ADK)提供了一个实用的三层记忆管理模型,对应认知科学中的不同记忆层次:
Session(会话):对应工作记忆。每个对话线程都是一个独立的 Session 对象,记录消息历史(Events)和临时状态(State)。Session 由 SessionService 管理生命周期——创建、恢复、记录和终止。
State(状态):对应工作记忆中的活跃加工。session.state 是一个键值字典,存储当前对话中的动态数据——用户偏好标志、任务进度、中间计算结果等。ADK 通过键前缀机制实现了不同的持久化范围:
- 无前缀:仅当前会话可见
user:前缀:跨会话但绑定用户app:前缀:所有用户共享temp:前缀:仅当前处理轮次有效
Memory(记忆):对应长期记忆。一个可搜索的信息存储库,来源可以是过往对话、外部数据或知识库。由 MemoryService 管理,支持语义搜索检索。
ADK 的 SessionService 提供了多种后端实现:InMemorySessionService 用于测试(不持久化)、DatabaseSessionService 用于生产(SQLite/PostgreSQL)、VertexAiSessionService 用于 Google Cloud 上的大规模部署。这种分层设计使开发者可以根据场景选择合适的持久化策略。
11.5 HelloAgents 的四层记忆架构
HelloAgents 框架在认知科学的启发下,设计了一个更精细的四层记忆架构:

工作记忆(Working Memory):扮演"短期记忆"角色。纯内存实现,容量限制(默认 50 条),支持 TTL 管理,会话结束自动清理。适用于当前对话的上下文保持。
情景记忆(Episodic Memory):长期存储具体的交互事件。使用 SQLite + Qdrant 存储,包含丰富的上下文信息(时间戳、情感标签、重要性评分),支持按时间序列和主题进行检索。是智能体"复盘"和学习过往经验的基础。
语义记忆(Semantic Memory):存储抽象知识、概念和规则。使用 Qdrant + Neo4j 存储,通过图数据库维护概念间的关系网络。具有高持久性和重要性,是智能体的"知识体系"核心。
感知记忆(Perceptual Memory):处理多模态信息(图像、音频等)。使用 SQLite + Qdrant 存储,支持跨模态检索,生命周期根据重要性和存储空间动态管理。
这四层架构中,每一层都有独立的读写策略和生命周期管理。MemoryManager 作为统一调度器,协调四层记忆之间的信息流——例如,工作记忆中频繁出现的重要信息会被整合到情景记忆或语义记忆中(对应认知科学中的"整合"过程)。
11.6 记忆系统的操作接口
从工程角度,记忆系统需要支持以下核心操作:
| 操作 | 认知对应 | 描述 |
|---|---|---|
| add | 编码 + 存储 | 将新信息写入指定类型的记忆 |
| search | 检索 | 基于查询条件搜索相关记忆 |
| update | 再编码 | 修改已有记忆的内容或元数据 |
| remove | 主动遗忘 | 显式删除特定记忆 |
| consolidate | 整合 | 将短期记忆迁移到长期记忆 |
| forget | 被动遗忘 | 基于策略(时间衰减、重要性阈值)自动清理 |
| summary | 抽象概括 | 生成当前记忆状态的摘要 |
| stats | 元认知 | 获取记忆系统的统计信息 |
这些操作共同构成了记忆系统的完整 API,使智能体能够像管理自己"大脑"一样管理信息。
关键实现决策 -- 工程实践中的关键选择点
11.7 记忆的分类策略
当新信息进入系统时,如何决定它应该存储在哪一层记忆中?主要有三种策略:
显式指定:由调用方明确指定记忆类型("这条信息存入语义记忆")。最简单直接,但要求调用方理解记忆类型的语义。
规则推断:基于信息特征自动分类。例如,包含时间引用的具体事件存入情景记忆,抽象的偏好陈述存入语义记忆。实现成本中等,但规则可能不完备。
LLM 分类:使用 LLM 分析信息内容并决定存储位置。最灵活,但增加延迟和成本。
实践中的推荐策略是显式指定为主,规则推断为辅——对于结构化的工具调用结果使用规则自动分类,对于非结构化的自然语言内容允许显式指定。
11.8 记忆的重要性评分
不是所有信息的重要性都相同。记忆的重要性评分影响其存储优先级、检索排序和遗忘顺序。评分维度包括:
- 语义重要性:信息的实质内容价值(用户偏好 > 闲聊内容)
- 时间相关性:越近的信息通常越重要(时间衰减函数)
- 访问频率:被频繁检索的信息更重要(使用频率权重)
- 显式标记:用户或开发者明确标注的重要性级别
11.9 短期到长期的迁移策略
记忆整合的核心问题是:什么信息值得从工作记忆迁移到长期记忆?
基于重要性阈值:只有重要性评分超过阈值的信息才会被迁移。简单有效,但阈值设定需要经验调优。
基于出现频率:在工作记忆中反复出现的主题或实体被迁移。适合提取用户偏好等稳定信息。
基于显式触发:在特定事件(会话结束、任务完成)时批量处理工作记忆中的信息。可预测且可控。
基于 LLM 摘要:使用 LLM 从对话历史中提取关键信息并生成结构化记忆。最灵活但成本最高。
11.10 上下文窗口管理
工作记忆(上下文窗口)的容量有限,当信息量超过限制时需要管理策略:
- 滑动窗口:保留最近的 N 轮对话,丢弃更早的。简单但可能丢失重要早期信息。
- 摘要压缩:将旧对话压缩为摘要,释放空间给新信息。保留语义但丢失细节。
- 选择性保留:基于重要性评分选择性保留关键消息。最优但评估成本高。
- 外部化检索:只保留最近对话,需要早期信息时从长期记忆中检索。最灵活,但引入检索延迟。
11.10.1 记忆分类的多重视角
值得注意的是,学术界对智能体记忆的分类尚未形成统一框架,至少存在三种并行的视角:
认知科学视角(本章采用):基于 Atkinson-Shiffrin 模型,按加工阶段分为感觉记忆→工作记忆→长期记忆(情景/语义/程序性),侧重仿生映射。
4W 分类法 [Bai et al., 2025]:Survey on AI Memory 提出按 When(生命周期:瞬时/会话/持久)、What(类型:程序性/陈述性/元认知/个性化)、How(存储:隐式参数/显式文本-向量-图)、Which(模态:单模态/多模态)四个正交维度进行分类。这种分类更贴近工程实现的决策空间。
形态-功能-动态三维框架 [Hu et al., 2025]:arXiv:2512.13564 按记忆的形态(Token 级/参数/潜在)、功能(事实性/经验性/工作记忆)和动态(形成/演化/检索)三个维度展开,详见第 28 章 28.2 节。
三种分类各有侧重:认知视角便于理解"为什么这样设计",4W 视角便于回答"工程实现时怎么选",三维框架便于分析"记忆系统如何随时间演变"。本书在不同章节根据讨论需要采用不同视角——记忆基础(本章)用认知视角,自我进化(第 28 章)用三维框架。
Memory、Context 与 Knowledge 的边界
三个常被混淆的概念需要厘清:Context(上下文) 是 LLM 推理时的计算缓冲区,是运行时资源;Memory(记忆) 是跨会话持续存在和演化的认知状态,是应用层持久设施;Knowledge(知识) 是静态的沉淀信息(如知识图谱、文档库),不随交互而变化。RAG 从外部知识库检索信息注入上下文,而 Agent Memory 是在持续交互中通过自身经验不断演化的内部认知基础——两者的关键区别在于是否随时间自我消化与改变。Agentic RAG 位于两者之间的灰色地带(参见第 15 章 15.2 节)。
前沿动态 -- 学术界/工业界最新进展
11.11 记忆与上下文工程的融合
CoALA(Cognitive Architectures for Language Agents)[Sumers et al., 2023] 提出了一个系统性的认知架构框架,将记忆、决策和行动统一在类认知科学的体系中。"上下文工程"(Context Engineering)的概念正在从简单的 prompt 工程扩展为包含记忆管理的综合学科。核心思想是:发送给 LLM 的不仅是当前查询和指令,还应包含精心构建的信息环境——包括从长期记忆中检索的相关历史、从语义记忆中提取的领域知识、以及从工作记忆中保留的对话上下文。这种"在 token 生成之前构建丰富信息环境"的理念,将记忆系统从辅助功能提升为智能体架构的核心组件。
11.12 自适应记忆管理
传统记忆系统使用静态规则管理记忆(如固定的 TTL、固定的容量限制)。一项关于LLM Agent记忆机制的综合调查 [Zhang et al., 2024] 系统梳理了当前记忆系统的分类、实现和局限。前沿研究探索让智能体自主学习记忆管理策略——通过强化学习训练智能体决定"什么值得记住、什么该忘记、什么时候检索"。这种元认知能力使记忆系统不再是被动的存储设施,而是主动参与决策的智能组件(参见第10章中 Agentic RL 的记忆能力)。
11.13 从记忆检索到记忆生成
arXiv:2512.13564 提出了一个值得关注的范式转变:从 Memory Retrieval(记忆检索) 走向 Memory Generation(记忆生成)。传统记忆系统基于"存储-检索"模式——先把信息存好,需要时再查找。记忆生成则允许模型在推理过程中动态合成此前未显式存储的记忆内容——例如,基于多条零散的交互记录推断出用户的隐含偏好,或将多次失败经验综合为一条新的策略规则。这一方向与端到端的 RL-driven 记忆管理(让强化学习全面控制记忆的形成、演化和检索策略)共同指向智能体记忆系统的下一个前沿。
本章小结
记忆系统是智能体从"无状态的语言模型"跃迁为"有历史感知的智能实体"的关键基础设施。认知科学提供了记忆系统设计的核心框架——感觉记忆、工作记忆和长期记忆(情景记忆、语义记忆、程序性记忆)的分层结构,以及编码、存储、检索、整合和遗忘的认知过程。
这些认知概念直接映射为工程实现:工作记忆对应 LLM 的上下文窗口,情景记忆对应交互历史的持久化存储,语义记忆对应知识图谱和向量数据库,编码对应向量嵌入,检索对应语义搜索。ADK 的 Session/State/Memory 三层模型和 HelloAgents 的四层记忆架构,都是这种认知-工程映射的具体实践。
⚠️ 已知局限:认知科学到工程实现的映射存在根本性简化。人类的记忆整合发生在睡眠中通过神经重放机制实现,而智能体的"整合"仅是简单的数据迁移,缺乏真正的语义融合能力。当语义记忆中存储了相互矛盾的知识(如同一用户在不同时期表达的相反偏好),当前系统缺乏可靠的冲突检测和解决机制。此外,向量嵌入作为"编码"的近似,在捕捉否定语义、时间关系和因果推理等方面存在系统性缺陷。
工程实践中的核心决策包括:记忆的分类策略(显式指定 vs 规则推断)、重要性评分体系(语义、时间、频率的多维加权)、短期到长期的迁移策略(阈值、频率、触发)、以及上下文窗口的管理策略(滑动窗口、摘要压缩、选择性保留)。这些决策共同决定了记忆系统的效率和智能体的长期行为质量。下一章将深入讨论四种记忆类型的具体架构设计。