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 两种驱逐差异。
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。调节复习次数观察曲线抬升。
08记忆一致性管理 · Consistency
用户信息会变化(如换工作、搬家),新旧记忆产生冲突。一致性管理器检测冲突并解决:保留最新、合并、或标记失效。点击"检测冲突"。
冲突类型:矛盾(同属性不同值)、重复(同事实多次存储)、过时(旧值被新值覆盖)。解决策略 = 最新优先 + 证据置信度加权。