跳到主要内容

Memory Engineering 入门介绍

七天实战

边学边练请访问 7 天学会 Memory Engineering:首页记忆分层可视化、/learn 七天课表、/lab 五个本地沙盒、社区与资源矩阵。

延伸阅读

动手见 快速开始;流水线见 开发指南;开源生态见 GitHub 项目

什么是 Memory Engineering?

Memory Engineering(记忆工程) 是面向 Agent / LLM 应用的系统设计学科:把「记住什么、何时写入、如何检索、如何压缩、如何遗忘、如何评估」当作一等工程问题,而不是塞进提示词里的临时拼凑。

大语言模型默认是无状态的:每次调用只看见当前上下文窗口。真正让 Agent「跨会话成长」的,是外挂记忆子系统——向量库、知识图谱、结构化数据库、文件档案、程序技能库。记忆工程研究这些子系统如何与工作记忆(Working Memory)、情景记忆(Episodic)、语义记忆(Semantic)、程序记忆(Procedural)协同,并在延迟、成本、隐私与正确性之间取得可运营的平衡。

一句话心智模型:LLM 是处理器,记忆是存储器,检索策略是操作系统调度器。 你要设计的不是「多存一点向量」,而是一套可观测、可回滚、可评测的记忆生命周期。

为什么需要独立的记忆工程学科?

1. 窗口不是硬盘

即便模型宣称 128K 或 1M 上下文,把全部历史原样塞进提示词仍会带来三类灾难:

问题表现工程后果
噪声淹没旧闲聊冲淡当前任务答非所问、工具乱调
成本爆炸Token 线性增长账单与延迟失控
安全面扩大敏感历史反复暴露合规与泄露风险

记忆工程的目标是:只把「此刻值得激活」的信息装进 Working Memory,其余放在可检索、可衰减、可删除的外存。

2. 检索不等于理解

向量相似度高,不代表事实正确,更不代表「应该在当前任务中使用」。生产系统需要:元数据过滤(用户、租户、时间)、重排(Cross-Encoder)、冲突检测、权限校验,以及「写回去」前的质量门禁。

3. 写入比读取更难

何时摘要、何时结构化、何时拒绝写入、如何合并重复事实——这些决策决定长期记忆是资产还是负债。只做「每轮全量嵌入」的系统,三个月后几乎必然被噪声拖垮。

4. 多 Agent 会放大错误

没有命名空间、冲突协议与权限模型时,「团队记忆」会变成谣言放大器:一个 Agent 写错偏好,其它 Agent 立刻当成真理。

5. 评估必须产品化

没有召回率、忠实度、时效性、幻觉归因指标,记忆系统无法迭代。记忆工程把评测当作与检索同等重要的一等公民。

怎样发展而来:从认知架构到 Agent 记忆

记忆工程不是 2023 年突然出现的流行词,它站在几十年认知架构与信息检索肩膀上:

阶段代表思想对今日工程的启示
经典认知架构SOAR、ACT-R:工作记忆容量有限,技能可编译Token 预算与程序记忆(技能库)必须显式设计
全局工作空间只有「被广播」的内容进入意识Working Memory 是稀缺资源,要有准入门槛
Transformer 时代自注意力在窗口内「瞬时记忆」窗口外必须外挂;注意力不等于长期记忆
Agent 浪潮ReAct、Reflexion、斯坦福小镇 Memory Stream轨迹、反思、规划三层可产品化
OS 隐喻MemGPT 到 Letta:主上下文 / 外部上下文分页把记忆当虚拟内存管理,而不是日志堆

子站 Day1 的课表正是沿着这条线:先建立「无状态到有状态」的范式转移,再给出五层组件与四类 Taxonomy,最后用 ReAct / Reflexion / Generative Agents / MemGPT 对照经典架构。

七天课表总览(与子站对齐)

Day主题核心问题本站对应文档
1认知架构与记忆分类Agent 为何需要记忆?五层/四类如何映射产品?本文与 快速开始
2短期记忆 / 上下文工程Token 预算、滑动窗口、会话摘要快速开始 / 开发指南
3长期记忆 / 向量检索Embedding、分块、HNSW、混合检索、生命周期开发指南
4结构化记忆 / 知识图谱KV/SQL/文档/KG;多跳推理开发指南
5压缩摘要 / 自我反思渐进摘要、蒸馏、Reflexion、可信度开发指南 / 最佳实践
6多 Agent 团队记忆共享池、分层、联邦、冲突协议最佳实践
7生产架构 / 前沿L1–L4、多租户、HippoRAG、可观测性最佳实践 / 从零到一

开源选型见 GitHub 项目;常见坑见 FAQ

五层记忆组件(Day1 Morning)

组件时间尺度典型实现工程关注点
Sensory 感知毫秒–秒原始消息/工具返回缓冲去抖、脱敏、截断
Working 工作秒–分钟System + 近期对话 + 检索包Token 预算、优先级
STM / Session分钟–小时会话历史、滑动窗口压缩触发、分段
LTM 长期天–年向量库 / KG / DB / 对象存储索引、治理、TTL
Procedural 程序跨任务技能、工具链、反思模板版本、灰度、回滚

落地口诀:感知层只进不出脏数据;工作层只装「当前任务所需」;会话层负责连贯;长期层负责跨会话;程序层负责「怎么做得更好」。

四类记忆 Taxonomy(Day1 Afternoon)

  • 情景记忆 Episodic:「发生过什么」——对话事件、工具轨迹、决策路径。适合时间线回放与「上次怎么解决的」。
  • 语义记忆 Semantic:「知道什么」——用户画像、领域事实、世界知识。适合稳定事实与偏好。
  • 程序记忆 Procedural:「会怎么做」——ReAct 模式、工具策略、反思模板。适合技能固化与策略迭代。
  • 情感/偏好 Affective:「喜欢什么、忌讳什么」——语气、格式、禁忌。可并入语义画像,但建议单独字段以便权限隔离。

经典架构对照(怎么读论文,怎么落地)

架构是什么为什么有用落地映射
ReAct + Memory推理与行动交错,轨迹可存轨迹是最好的情景记忆原料把 Thought/Action/Observation 结构化写入
Reflexion失败后生成反思再试把「教训」编译进程序记忆反思文本需打分,低分不入 LTM
Generative AgentsMemory Stream 到 Reflection 到 Planning小镇 Agent 的三层循环定时巩固任务 + 重要性评分
MemGPT / LettaOS 式分页与中断主上下文有限,外存按需换入明确 core memory 与 archival

与 RAG、向量库、知识图谱的关系

记忆工程包含 RAG,但不等于 RAG:

能力典型 RAG记忆工程
语料静态文档为主对话、轨迹、画像、技能动态写入
更新批量重建索引在线写入 + 冲突合并 + 遗忘
结构多为向量块向量 + KG + SQL + 文件多模
目标答对问题跨会话行为一致、可治理、可遗忘

向量库解决「语义模糊召回」;知识图谱解决「关系与多跳」;SQL/KV 解决「精确事务状态」。生产系统几乎总是混合架构,而不是二选一。

核心公理(写进团队手册)

  1. Working Memory 是稀缺资源:一切设计从 Token 预算倒推。
  2. 写入需要门禁:importance、去重、冲突、权限不过,不进 LTM。
  3. 检索需要证据:每条注入上下文的记忆应带来源与时间戳。
  4. 遗忘是功能:删除、归档、衰减与合规擦除是产品能力。
  5. 评估驱动迭代:没有离线集与在线指标,禁止调参玄学。
  6. 多租户默认隔离:user_id / tenant_id 是索引前缀,不是可选字段。

常见误区

误区真相
「上下文够长就不用记忆」成本、噪声、隐私仍要求外存与筛选
「全丢向量库就行」精确偏好、权限、事务状态更适合结构化存储
「相似度阈值万能」需重排、元数据过滤与任务相关打分
「多 Agent 共用一个集合」必须分层命名空间与写入协议
「反思原文直接当真理」反思会幻觉,需置信度与人工抽检

怎么落地:最小可行记忆(MVP)

第一周不要上分布式向量集群。按子站 Day1 挑战:先定义客服 Agent 的记忆需求清单——记住什么、保留多久、用什么形态——再实现:

  1. KV 文件记忆:用户名、偏好(Day1 实战)。
  2. 带预算的会话上下文(Day2)。
  3. 一条向量检索路径(Day3)。
  4. 一条结构化事实路径(Day4)。
  5. 每日巩固与评分(Day5)。

完整路径见 从零到一。实验室沙盒见子站 /lab

下一步

  1. 快速开始:环境、Token 预算、第一个可持久化记忆。
  2. 开发指南:写路径、读路径、混合检索、图谱、压缩。
  3. GitHub 项目:Letta / Mem0 / Zep / HippoRAG 等怎么选。
  4. 打开 七天学会子站 勾选 Day1 完成。