AI Memory · 交互式可视化 · #141

AI 记忆系统
可视化实验室

从 Episodic 到 Semantic,从向量检索到 Mem0 记忆压缩。8 个交互式模块拆解 LLM 如何"记住"过去——记忆的类型、检索、压缩、衰减与一致性管理。

模块 8风格 Linear Dark依赖 零渲染 SVG分类 AI/ML
01记忆类型对比 · Memory Types

人类认知科学的四类记忆映射到 AI 系统:Episodic(情景)、Semantic(语义)、Working(工作)、Procedural(程序)。点击卡片切换查看特性与对应实现。

02Episodic Memory 时间线

Episodic Memory 按时间顺序存储"事件"(who/what/when/where)。每条记忆带时间戳与衰减权重,越久远越难检索。点击添加事件观察时间线增长。

事件数0
每条 episodic 记忆是 带时间戳的元组 (timestamp, content, context)。检索时按 recency 加权,模拟"近因效应"。
03向量记忆检索可视化

将记忆编码为向量存入向量库,query 向量通过余弦相似度找 Top-K 近邻。拖动 query 点观察最近邻变化,调节 K 值。

K (近邻数) 4
QueryTop-K 近邻其他记忆
相似度 = cos(q, m) = (q·m)/(|q||m|)。Mem0 / RAG 系统用此机制把相关历史注入 prompt 上下文。
04记忆压缩与摘要 · Memory Compression

长对话无法全部塞入上下文。Mem0 等系统把原始对话压缩为结构化摘要,保留关键事实。拖动滑块改变压缩率,观察 token 节省。

压缩率 65%
压缩策略:抽取式(保留关键句)vs 生成式(LLM 改写摘要)。后者压缩比更高但有信息损失风险。
05Working Memory 缓冲区

Working Memory 是有限容量的短期缓冲(类似 attention window)。容量满后按策略驱逐。点击添加 token,观察 FIFO / LRU 两种驱逐差异。

容量 5 策略
Working memory 对应 LLM 的 context window。超出窗口时旧 token 被截断——这正是长上下文模型(128K/1M)要解决的核心限制。
06Memory-augmented LLM 架构

完整记忆增强架构:输入 → 检索(向量库)→ 拼接上下文 → LLM 生成 → 写回记忆(去重/更新)。点击按钮高亮不同数据流。

Mem0 的核心循环:retrieve → augment → generate → update。写回时检测重复与冲突,只保留最新/最相关版本。
# Mem0 风格记忆循环 def memory_loop(query, llm, vector_db): hits = vector_db.search(embed(query), k=4) # 检索 ctx = format(hits) + "\n" + query # 拼接 ans = llm.generate(ctx) # 生成 vector_db.upsert(extract_facts(ans)) # 写回 return ans
07遗忘曲线与衰减 · Forgetting Curve

借鉴 Ebbinghaus 遗忘曲线,记忆保留率随时间指数衰减 R = e^(-t/S)。每次"复习"(检索/重写)会提升稳定性 S。调节复习次数观察曲线抬升。

复习次数 0 · 衰减速率 S 3
当前保留率无复习基线复习点
间隔重复(Spaced Repetition)让 S 每次翻倍。AI 记忆系统类比:频繁检索的记忆权重提升,长期未用的记忆可主动遗忘以节省存储。
08记忆一致性管理 · Consistency

用户信息会变化(如换工作、搬家),新旧记忆产生冲突。一致性管理器检测冲突并解决:保留最新、合并、或标记失效。点击"检测冲突"。

冲突类型:矛盾(同属性不同值)、重复(同事实多次存储)、过时(旧值被新值覆盖)。解决策略 = 最新优先 + 证据置信度加权。