MEM·ENG 7-DAY MEMORY ENGINEERING
学习 · 7天路径 技能 · 记忆实验室 社区 · 协作生态 全部资源导航
module 01 // curriculum

7 天渐进式学习路径

记忆系统工程导向:每天一个主题,Morning 理论 → Afternoon 深入 → Evening 实战 + 挑战。 完成一天后点击「MARK COMPLETE」,进度保存在你的浏览器本地。

DAY 1

Agent 记忆系统基础与认知架构

理解 Agent 为什么需要记忆,建立五层记忆组件与四类记忆分类的完整心智模型。

Morning · 范式转移

从无状态到有状态

  • 无状态 LLM 瓶颈:每次调用独立,上下文窗口有限(4K–128K),无法跨会话累积经验
  • 记忆核心思想:LLM 作为「处理器」,外挂记忆作为「存储器」,实现超越窗口的持续智能
  • 认知架构历史:SOAR (1987) → ACT-R (1993) → Global Workspace Theory → Transformer + Memory 的现代融合

Agent 记忆的五个核心组件

  • 感知记忆 Sensory:原始输入缓冲(用户消息、环境观察、工具返回),毫秒级衰减
  • 工作记忆 Working:当前激活的上下文 = System Prompt + 近期对话 + 检索到的记忆片段
  • 短期记忆 STM:当前会话完整历史(滑动窗口、Token 预算管理)
  • 长期记忆 LTM:跨会话持久化存储(向量库、图谱、数据库、文件系统)
  • 程序记忆 Procedural:Agent 技能库(工具定义、ReAct 模式、反思策略的固化)
Afternoon · 记忆分类学

四类记忆 Taxonomy

  • 情景记忆 Episodic:「我上次做了什么」—— 时间序列事件记录(对话历史、工具调用轨迹、决策路径)
  • 语义记忆 Semantic:「我知道什么」—— 事实性知识(用户画像、领域知识、世界知识)
  • 程序记忆 Procedural:「我会怎么做」—— 操作序列与策略(CoT 模式、工具链、反思模板)
  • 情感/偏好记忆 Affective:「用户喜欢什么」—— 个性化偏好(语气、格式、禁忌、优先级)

经典架构解析

  • ReAct + Memory:推理轨迹作为情景记忆,工具结果作为事实记忆
  • Reflexion:自我反思生成经验摘要,写入长期记忆指导未来行为
  • Generative Agents(斯坦福小镇):记忆流 Memory Stream → 反思 Reflection → 规划 Planning 三层架构
  • MemGPT(现 Letta):操作系统式分层记忆(主上下文 / 外部上下文)、分页调度、中断机制
Evening · 实战
实战 HANDS-ON 为简单 ChatBot 添加「记住用户名字」功能 → 对比硬编码变量 vs 文件持久化 vs 数据库三种方案的演进。
day01_memory.py
import json, os

class FileMemory:
    # v2: 文件持久化 —— 进程重启后记忆仍在
    def __init__(self, path="memory.json"):
        self.path = path
        self.store = json.load(open(path)) if os.path.exists(path) else {}

    def remember(self, key, value):
        self.store[key] = value
        json.dump(self.store, open(self.path, "w"), ensure_ascii=False)

    def recall(self, key):
        return self.store.get(key, "(还没有相关记忆)")

mem = FileMemory()
mem.remember("user_name", "Kimi")
print(mem.recall("user_name"))  # → Kimi(重启后依然记得)
可视化 VISUALIZE 绘制 Agent 记忆架构图 → 展示输入如何流经 感知 → 工作 → 短期 → 长期 各层。
每日挑战 CHALLENGE 设计一个客服 Agent 的记忆需求清单:需要记住哪些信息?保留多久?以什么形式(键值 / 向量 / 图谱)存储?
DAY 2

短期记忆与上下文工程 Context Engineering

解决上下文窗口限制:Token 预算分配、滑动窗口、自动摘要、多会话连续性。

Morning · 窗口管理

上下文窗口管理

  • 窗口溢出 Context Overflow:历史超过模型上下文限制时的处理策略
  • 滑动窗口 Sliding Window:保留最近 N 轮对话,丢弃旧内容(简单但有信息损失)
  • Token 预算分配:System Prompt vs History vs Retrieved Memory 的优先级分配(如 20% / 60% / 20%)
  • 动态上下文压缩:选择性保留关键 Turn,用摘要替代冗余原始文本

消息状态管理

  • MessagesState(LangGraph):TypedDict 管理消息列表,支持追加 / 替换 / 更新语义
  • 对话状态机:活跃 / 暂停 / 结束 / 等待输入等状态对记忆可见性的影响
  • 多轮意图追踪:当前意图如何覆盖 / 继承历史意图(意图栈管理)
  • 临时变量 Scratchpad:当前推理步骤的中间结果(CoT 草稿、工具参数)
Afternoon · 上下文优化

上下文优化技术

  • System Prompt 工程:嵌入「记忆锚点」(用户画像摘要、当前任务目标)
  • 动态 Few-shot:从记忆中检索相似历史案例 → 构造 Few-shot 示例注入上下文
  • 选择性注意力:用 XML 标签包裹区分「当前焦点」与「背景信息」
  • 上下文去噪:基于相关性打分移除与当前任务无关的历史消息

多会话连续性

  • 会话 ID 管理:Thread ID / User ID / Session ID 的层级隔离与共享策略
  • 会话摘要 Session Summary:会话结束生成摘要,作为下次会话的「前情提要」
  • 跨会话状态传递:购物车、表单进度、审批状态等「事务记忆」的保持
Evening · 实战
实战 HANDS-ON 实现带 Token 预算管理的对话上下文 → 接近限制时自动触发摘要 → 用压缩摘要替换早期消息。
day02_budget.py
def build_context(system, history, retrieved, budget=8192):
    # 预算分配:system 20% / history 60% / retrieved 20%
    b_sys, b_his, b_ret = budget*0.2, budget*0.6, budget*0.2
    ctx = [trim(system, b_sys)]
    if tokens(history) > b_his:
        # 溢出 → 早期消息压缩为摘要
        head, tail = history[:-6], history[-6:]
        summary = llm_summarize(head)
        history = [sys_msg(f"前情提要:{summary}")] + tail
    ctx += trim(history, b_his)
    ctx += trim(retrieved, b_ret)
    return ctx
调试 DEBUG 打印每次 LLM 调用的完整上下文(System + History + Retrieved)→ 分析 Token 分布与信息密度。 可配合技能实验室的 Token 预算仪表盘实时观察。
每日挑战 CHALLENGE 设计「无限上下文」模拟器 → 通过分层摘要(递归摘要的摘要)实现任意长对话的连贯性。
DAY 3

长期记忆与向量检索 Vector Memory & RAG

掌握 Embedding、分块、向量库选型与 HNSW 调参;实现混合检索与记忆生命周期管理。

Morning · 向量记忆基础

向量记忆基础

  • Embedding 模型选择:text-embedding-3-large / BGE / E5 / GTE 的维度、语言与领域适配性
  • 分块策略 Chunking:固定长度、语义分块、递归分块、Agent-specific 分块(按 Turn / 事件)
  • 向量数据库选型:Milvus / Pinecone / Weaviate / Chroma / Qdrant / PGVector(性能、成本、功能)
  • 索引与检索:HNSW(调 M / efConstruction)、IVF(调 nlist / nprobe)、DiskANN 的 ANN 原理

记忆写入策略

  • 实时写入 Online:每轮对话后立即嵌入存储(延迟低,噪声多)
  • 批量写入 Batch:会话结束统一处理(质量高,延迟大)
  • 去重与更新:相同事实的新记忆如何覆盖旧记忆(时间戳、置信度、来源追踪)
  • 记忆来源标注:每条记忆记录来源(哪次对话、哪个工具、哪个文档)用于溯源与审计
Afternoon · 高级检索

高级检索模式

  • 混合检索 Hybrid Search:稠密向量(语义)+ 稀疏向量(BM25 / TF-IDF)以 RRF 算法融合
  • 重排序 Reranking:Cross-encoder(Cohere Rerank、BGE Reranker)对初筛结果精排
  • 查询改写 Query Rewriting:HyDE 假设文档嵌入、查询扩展、共指消解(「他」→ 具体人名)
  • 多路召回 Multi-channel:同时检索情景 / 语义 / 程序记忆 → 按类型融合

记忆质量与维护

  • 噪声过滤:低质量 / 无关记忆的自动识别与清理(访问频率、时效性、置信度)
  • 记忆合并:相似记忆聚类去重(避免「用户喜欢咖啡」存 100 次)
  • 记忆衰减:时间衰减函数(最近记忆权重高)+ 重要性加权(关键事件永不衰减)
  • TTL 与归档:热记忆(Redis)→ 温记忆(向量库)→ 冷记忆(对象存储)分层生命周期
Evening · 实战
实战 HANDS-ON 为「个人知识管理 Agent」构建向量记忆系统(LangChain / LlamaIndex)→ 测试不同分块策略的检索效果。
day03_hybrid.py
# RRF 混合检索:dense + sparse
def rrf_fuse(dense_hits, bm25_hits, k=60):
    scores = {}
    for rank, doc in enumerate(dense_hits):
        scores[doc.id] = scores.get(doc.id, 0) + 1/(k + rank)
    for rank, doc in enumerate(bm25_hits):
        scores[doc.id] = scores.get(doc.id, 0) + 1/(k + rank)
    return sorted(scores, key=scores.get, reverse=True)

# HNSW 索引关键参数
index = HNSW(M=16, efConstruction=200)  # M↑ 召回↑内存↑
results = index.search(q_vec, efSearch=64) # ef↑ 召回↑延迟↑
可视化 VISUALIZE 展示查询向量与记忆向量的余弦相似度分布 → 高亮被召回的 Top-K 记忆。 到检索对比沙盒亲手对比四种检索策略。
每日挑战 CHALLENGE 实现「记忆自我清理」机制 → 自动合并重复记忆、删除过时记忆、提升高频记忆权重。
DAY 4

结构化记忆与知识图谱 Structured Memory & KG

掌握键值 / SQL / 文档 / 图谱四种结构化记忆范式,构建支持多跳推理的用户记忆图谱。

Morning · 结构化范式

四种结构化记忆范式

  • 键值记忆 Key-Value:简单字典存储(用户偏好、配置项),O(1) 读取
  • 关系型记忆 SQL:表格化存储(交易记录、日程安排),支持复杂查询
  • 文档记忆 Document:Markdown / JSON / YAML 文件,适合人类可读的配置与日志
  • 知识图谱记忆 KG:实体-关系-实体的图结构,支持推理与多跳查询

知识图谱作为记忆

  • 实体抽取与链接:从对话自动抽取实体 → 链接到知识库(或创建新实体)
  • 关系动态更新:「用户A购买了产品B」→ 更新 User-[:PURCHASED]->Product
  • 时态知识图谱:四元组(实体-关系-实体-时间戳)→ 支持「去年喜欢 X,今年喜欢 Y」
  • Schema 演化:记忆图谱的 Schema 随时间扩展(新增实体类型、关系类型)
Afternoon · 对比与 Schema

结构化 vs 非结构化记忆

  • 精确检索:键值 / SQL 精确匹配 vs 向量模糊语义匹配
  • 推理能力:图谱支持逻辑推理(传递闭包、规则推理),向量库不支持
  • 更新粒度:结构化记忆的字段级更新 vs 向量记忆的全文替换
  • 混合架构:向量(语义检索)+ 图谱(关系推理)+ SQL(事务数据)协同

记忆 Schema 设计

  • 用户画像:demographics(年龄 / 地域)+ preferences(风格 / 格式)+ constraints(禁忌 / 限制)
  • 事件 Schema:WHO + WHAT + WHEN + WHERE + WHY + HOW
  • 技能 Schema:工具名称 + 参数模板 + 适用场景 + 成功 / 失败历史
Evening · 实战
实战 HANDS-ON 用 Neo4j / LlamaIndex 构建「用户记忆图谱」→ 从对话抽取「用户-兴趣-领域」关系 → 支持「用户喜欢什么?」多跳推理。
day04_kg.cypher
// 写入:用户-兴趣-领域
MERGE (u:User {name: $user})
MERGE (i:Interest {name: $interest})
MERGE (d:Domain {name: $domain})
MERGE (u)-[r:LIKES {since: datetime()}]->(i)
MERGE (i)-[:BELONGS_TO]->(d)

// 多跳推理:用户喜欢的领域下还有哪些兴趣?
MATCH (u:User {name: $user})-[:LIKES]->(i)-[:BELONGS_TO]->(d)
      <-[:BELONGS_TO]-(other:Interest)
WHERE NOT (u)-[:LIKES]->(other)
RETURN other.name ORDER BY count(d) DESC
可视化 VISUALIZE 展示记忆图谱局部子图 → 高亮与当前查询相关的实体和关系路径。
每日挑战 CHALLENGE 设计「记忆一致性检查器」→ 检测图谱中的矛盾事实(「用户是素食者」 vs 「用户喜欢牛排」)→ 触发澄清或置信度调整。
DAY 5

记忆压缩、摘要与自我反思 Compression & Reflection

让 Agent 自我改进:渐进式摘要、记忆蒸馏、Reflexion 反思、记忆可信度评分。

Morning · 压缩技术

记忆压缩技术

  • 文本摘要:Extractive(抽取关键句)vs Abstractive(生成新表述)
  • 渐进式摘要:第一层(原始记录)→ 第二层(要点提取)→ 第三层(精华浓缩)
  • 记忆蒸馏:多条相关记忆蒸馏为高置信度「信念」(100 次「喜欢咖啡」→「用户是咖啡爱好者」)
  • 向量量化压缩:PQ(Product Quantization)、SQ(Scalar Quantization)减少存储

自我反思与记忆生成

  • Reflexion 机制:执行 → 观察结果 → 生成反思(「我应该先检查 X 再执行 Y」)→ 写入程序记忆
  • 经验回放 Experience Replay:从记忆库采样历史经验 → 用于微调或上下文学习
  • 洞察生成 Insight:定期分析记忆流 → 生成高层洞察(「用户每周三下午开会,此时不应打扰」)
  • 记忆巩固 Consolidation:空闲时段将短期记忆转为长期记忆(类比人脑睡眠巩固)
Afternoon · 编辑与演化

记忆编辑与更新

  • 事实修正:用户纠正错误记忆 → 处理冲突(覆盖 vs 保留多版本 vs 标记过时)
  • 记忆遗忘:主动遗忘机制(用户要求删除、隐私合规、记忆过时)
  • 记忆归因:每条记忆标注可信度来源(用户直接陈述 vs 推断 vs 第三方信息)
  • 对抗性记忆:防止提示注入污染记忆(sanitization 与验证)

个性化演化

  • 用户画像自适应:根据长期记忆自动更新画像(从「新用户」到「资深用户」的渐进认知)
  • 风格迁移:记忆用户偏好的输出风格 → 自动调整语气、格式、详细程度
  • 情感记忆:记录交互中的情感信号(满意 / 沮丧 / 困惑)→ 调整未来策略
Evening · 实战
实战 HANDS-ON 实现「每日反思 Agent」→ 回顾当天所有对话 → 生成 3 条关键洞察 → 更新长期记忆 → 对比反思前后行为改进。
day05_reflect.py
def daily_consolidate(episodes):
    # 压缩漏斗:原始对话 → 事件摘要 → 信念提炼 → 画像更新
    L1 = [summarize(ep) for ep in episodes]      # 事件级
    L2 = extract_beliefs(L1)                    # 信念级
    profile = update_profile(L2)                # 画像级
    insights = llm(f"从以下记忆中生成3条洞察:\n{L2}")
    for ins in insights:
        ltm.write(ins, kind="insight",
                  confidence=score(ins))        # 低置信度不进上下文
    return profile, insights
可视化 VISUALIZE 展示记忆从「原始对话」→「事件摘要」→「信念提炼」→「用户画像更新」的压缩漏斗。
每日挑战 CHALLENGE 设计「记忆可信度评分系统」→ 基于来源、一致性、时效性、用户确认状态打分 → 低分记忆不进入上下文。 到记忆质量分析仪体验重复检测与一致性检查。
DAY 6

多 Agent 记忆与团队记忆 Multi-Agent & Team Memory

从个人智能到组织智能:共享记忆池、团队记忆协议、权限控制与冲突解决。

Morning · 多Agent架构

四种多 Agent 记忆架构模式

  • 共享记忆池 Shared Pool:所有 Agent 读写同一记忆存储(简单但有竞争与污染风险)
  • 分层记忆 Hierarchical:全局共享(世界知识)+ 团队记忆(项目上下文)+ 个人记忆(Agent 专长)
  • 消息传递 Message-passing:Agent 间通过消息交换记忆片段(类似 Actor 模型)
  • 联邦记忆 Federated:各 Agent 保持私有记忆 → 按需共享摘要(隐私保护)

团队记忆 Team Memory —— 核心模块

  • 团队记忆 vs 个人记忆:团队记忆归属组织 / 项目、跨个体共享;个人记忆归属单个 Agent / 用户
  • 团队记忆内容:团队规范、项目文档、决策记录、协作状态、任务交接日志
  • 写入协议:提议-投票-提交、权威覆盖(Tech Lead 直接写入)、Git 式三路合并
  • 权限控制:角色分级(全员可见 / 经理层 / 核心成员)、敏感信息隔离
Afternoon · 共享协议与一致性

记忆共享协议

  • 订阅 Subscription:Agent A 订阅 Agent B 的某类记忆更新(如「关注用户偏好变化」)
  • 查询 Query:向记忆中枢发起检索请求(统一接口,权限控制)
  • 广播 Broadcast:关键事件广播给所有相关 Agent(如「用户身份验证通过」)
  • 委托 Delegation:将某类记忆管理委托给专用记忆 Agent(Memory Specialist)

协作记忆场景与一致性挑战

  • 辩论与共识:多 Agent 对同一事实有不同记忆 → 辩论 → 共识 → 更新共享记忆
  • 分工记忆:编码 Agent 记技术细节,产品 Agent 记需求变更,共享状态同步
  • 记忆继承:新 Agent 加入时继承团队记忆(onboarding 加速)
  • 记忆隔离与沙箱:测试 Agent 的记忆不影响生产 Agent(环境隔离)
  • 分布式一致性:CAP 定理在记忆系统中的体现(最终一致 vs 强一致)
  • 冲突解决:时间戳优先 / 置信度优先 / 来源权威优先;离线后重新上线的增量同步
Evening · 实战
实战 HANDS-ON 构建「软件开发团队」多 Agent 系统 → PM / Dev / Tester 各有私有记忆 → 通过共享 State 同步需求变更与 Bug 状态。
day06_team.py
class TeamMemory:
    def __init__(self):
        self.global_kb = {}   # 全局共享:世界知识
        self.team = {}        # 团队记忆:决策/规范/状态
        self.private = {}     # 个人记忆:{agent_id: {...}}

    def propose(self, agent, key, value):
        # 写入协议:提议 → 投票 → 提交
        proposal = {key: value, "by": agent, "votes": set()}
        return proposal

    def commit(self, proposal, voters, quorum=2):
        if len(proposal["votes"] & voters) >= quorum:
            self.team[next(iter(proposal))] = proposal
            self.broadcast("team_memory.updated", proposal)
团队记忆实战 TEAM LAB 模拟「项目决策会议」→ PM Agent 提出方案 → Dev / QA Agent 基于团队记忆中的规范评审 → 达成共识 → 写入团队记忆。 到多Agent记忆模拟器观察同步时序。
每日挑战 CHALLENGE 设计「记忆权限系统」→ 敏感记忆(密码、隐私)只对特定 Agent 可见 → 普通记忆全局共享。
DAY 7

生产级记忆系统架构与前沿探索

L1–L4 分层存储、记忆服务化、多租户隔离、前沿研究方向,完成企业级大作业。

Morning · 超大规模部署

记忆分层存储架构

  • L1 上下文窗口:GPU 显存,毫秒级
  • L2 Redis / 内存缓存:热记忆,亚毫秒级
  • L3 向量数据库:温记忆,十毫秒级
  • L4 对象存储 / 数据湖:冷记忆,百毫秒级

工程化要点

  • 记忆服务化:独立 Memory Service(gRPC / HTTP API)→ 多 Agent 共享、独立扩缩容
  • 多租户隔离:用户级记忆隔离(Namespace / Partition)、企业级 RBAC 权限
  • 边缘-云协同:边缘设备本地记忆(隐私、低延迟)+ 云端全局记忆(大容量、强计算)
Afternoon · 前沿研究

前沿研究方向

  • 神经符号记忆:神经网络(模糊检索)+ 符号系统(精确推理)混合记忆
  • HippoRAG:受海马体启发的记忆索引 —— 情景记忆与语义记忆的双系统仿生
  • Memory Mosaics:模块化记忆专家(不同记忆类型由不同子网络处理)
  • 可微分记忆:Neural Turing Machine 的现代复兴
  • 记忆与推理融合:Chain-of-Thought 作为记忆的动态生成过程(思考即记忆)
  • 终身学习 Agent:新记忆持续写入而不遗忘旧知识(EWC 弹性权重巩固、渐进式神经网络)

系统工具链

  • 记忆可观测性:写入 / 读取 / 命中率监控、记忆漂移检测、质量评估
  • 记忆测试:召回率、精确率、幻觉率(记忆错误导致的生成错误)评估框架
  • 记忆版本控制:Git 式版本管理(分支、合并、回滚)
Evening · 大作业 & 认证

大作业:企业级个人 AI 助理记忆系统

  • 多模态记忆(文本对话 + 文档 + 图片 + 语音转录)
  • 分层存储(上下文 → Redis → 向量库 → 对象存储)
  • 自动摘要与反思(每日 / 每周记忆巩固)
  • 知识图谱增强(实体关系推理)
  • 团队记忆模块(项目共享记忆、权限控制、决策记录)
  • 隐私与权限(敏感记忆加密、用户可控遗忘)
  • 多设备同步(手机 / 电脑 / 智能音箱的记忆一致性)
认证 CERTIFICATION 提交记忆架构设计文档、检索 Benchmark、隐私合规方案 → 获得「Agent 记忆架构师」证书。 到社区展示你的架构并参与「最优雅记忆架构」挑战赛。