Storage 07

Hierarchical Memory

像 OS 一样管理记忆

交互

添加消息以增加上下文使用量。达到 92% 时触发压缩。观察低优先级信息被归档的过程。

Context Window 使用率73/100 tokens (73%)
Core Memory (核心)
System Prompt15t
用户画像8t
当前任务12t
Recall (近期)
对话记录 (近)20t
对话记录 (中)18t
Archival (归档)
对话记录 (远)15t
积累的事实10t
用户偏好5t

Context Window 就是 RAM

这个来自 MemGPT/Letta(21K stars)的类比是理解层级 Memory 最直观的方式:

操作系统Agent Memory特性
RAMContext Window快速、容量小、易失
磁盘外部 Memory 存储慢速、容量大、持久
Page tableAgent 的 Memory 管理策略决定换入/换出的内容
Page faultAgent 意识到需要某条 Memory触发检索与换入
"MemGPT 的核心洞察是:Context Window 是 RAM,不是磁盘。Agent 应该像操作系统内核管理 page table 一样,自行管理自己的 Memory 层级。"

Letta 的三层架构

Core Memory

始终在上下文中。包含 system prompt、用户画像、当前任务。Agent 可直接编辑。

常驻 RAM

Recall Memory

近期对话历史。可搜索,可换入上下文。随时间过期。

热缓存

Archival Memory

长期存储在 vector 数据库中。按需检索。容量无限。

冷存储

关键设计:Agent 自己决定换入和换出的内容。Letta 提供 Memory 操作工具(如 core_memory_appendarchival_memory_search),Agent 学习何时使用它们。

OpenViking 的文件系统隐喻

OpenViking(4K stars,ByteDance)使用了不同的直觉模型:虚拟文件系统。

L0(上下文内):活跃文件,直接在 prompt 中
L1(热缓存):近期文件摘要,快速检索
L2(冷存储):全部文件,通过 viking://find 搜索

Agent 使用类 shell 命令:
$ viking://ls — 列出当前目录
$ viking://find "user preferences" — 搜索 Memory

核心原则

无论是操作系统类比还是文件系统,洞察都一样:并非所有 Memory 都需要同时在上下文中。好的层级 Memory 解决两个问题:何时换入(检测 page fault)和何时换出(基于重要性/时效性评分进行淘汰)。


下一节

存储架构已介绍完毕(文件、vector、graph、层级)。现在进入操作层面。第一步:如何从对话中提取值得记住的信息。