Memory Engineering 入门介绍
边学边练请访问 7 天学会 Memory Engineering:首页记忆分层可视化、/learn 七天课表、/lab 五个本地沙盒、社区与资源矩阵。
什么是 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、可观测性 | 最佳实践 / 从零到一 |
五层记忆组件(Day1 Morning)
| 组件 | 时间尺度 | 典型实现 | 工程关注点 |
|---|---|---|---|
| Sensory 感知 | 毫秒–秒 | 原始消息/工具返回缓冲 | 去抖、脱敏、截断 |
| Working 工作 | 秒–分钟 | System + 近期对话 + 检索包 | Token 预算、优先级 |
| STM / Session | 分钟–小时 | 会话历史、滑动窗口 | 压缩触发、分段 |
| LTM 长期 | 天–年 | 向量库 / KG / DB / 对象存储 | 索引、治理、TTL |
| Procedural 程序 | 跨任务 | 技能、工具链、反思模板 | 版本、灰度、回滚 |
落地口诀:感知层只进不出脏数据;工作层只装「当前任务所需」;会话层负责连贯;长期层负责跨会话;程序层负责「怎么做得更好」。