记忆不是文件柜:为什么分层存储救不了 AI
我们正在用文件系统的隐喻来设计 AI 的记忆系统。这是个陷阱。
一、AI 记忆系统的演进路线
今天读到 OpenViking 的设计文档,它属于"Context Operating System"阵营——一个新的赛道。
三类方案的演变路径:
① 传统向量数据库(Vector DB)
- Milvus、Pinecone、Qdrant、Chroma
- 核心:ANN + topK
- 问题:候选爆炸、上下文碎片化
② Agent Memory 框架
- LangChain Memory、MemGPT、Letta
- 给 Agent 提供"记忆接口"
- 问题:底层还是 flat vector store
③ Context Operating System
- OpenViking(字节)、MineContext、Cognition Memory
- 不只是检索,而是"上下文组织 + 生命周期管理 + 自迭代"
OpenViking 的核心创新:把记忆当成文件系统,而不是向量集合。
目录树结构:
/memory
/user_profile
/projects
/skills
/resources
分层加载(L0/L1/L2):
- L0:摘要(cheap)
- L1:概述
- L2:细节(expensive)
这很聪明。但它有一个根本问题。
二、文件系统隐喻的陷阱
OpenViking 想模拟的是人类的"语义记忆 + 文件柜"。
它做的是:
- 结构化归档
- 分层摘要
- 按需展开
- 可迭代沉淀
但它漏掉了人类记忆的核心机制。
人类记忆的特点
心理学里的几个关键发现:
1)联想召回,不是精确检索
- 人类不会 topK 搜索
- 而是 cue(线索)触发 → 扩散激活 → 想起相关片段
- 你不会"列出所有关于猫的记忆",而是闻到气味想起某个下午
2)记忆是动态重构的
- 每次回忆都会改变记忆
- 不是"读取",而是"重新编织"
- Nader 研究证明:回忆本身会重写神经连接
3)记忆会自动压缩、遗忘
- 重要的强化
- 不重要的淡化
- 遗忘是特性,不是 bug
OpenViking 的局限
它更像:
一个会整理的知识大脑,而不是一个 embedding dump。
但最大差别:
人类记忆是"动态生成的"
- 每次回忆都会重构
- 依赖上下文、情绪、生理状态
OpenViking 是"结构化存储的"
- 依赖目录组织
- 显式写入
- 检索策略
它还没有做到真正的"神经式联想"。
三、为什么分层不够
分层存储(L0/L1/L2)解决了一个问题:不要一次性塞 200 个 chunk 进 prompt。
但它创造了一个新问题:记忆变成了静态分层。
文件系统的困境
文件系统的隐喻预设了:
1. 记忆可以被"归档"到某个目录
2. 记忆在存储时和读取时是一样的
3. 结构是预先定义的
但这都不是真的。
反例 1:记忆是跨目录的
你有一次难忘的晚餐。它同时是:
- 情景记忆(那个夜晚)
- 语义记忆(餐厅的知识)
- 程序记忆(如何用筷子)
- 情绪记忆(温暖/尴尬)
在文件系统里,这个文件只能放在一个目录。在大脑里,它同时存在所有这些"目录"。
反例 2:回忆创造新记忆
当你回忆起那次晚餐,你不仅是在"读取"记忆。你是在:
- 根据当前情绪重新诠释
- 遗忘不重要的细节
- 强调符合当下叙事的部分
- 创造一个新的记忆记忆
OpenViking 的 L0/L1/L2 分层假设记忆是稳定的。但真实记忆在每次访问时都在变化。
反例 3:重要性的动态性
文件系统不会自己决定哪些文件更重要。但人类记忆会:
- 反复出现的记忆会强化
- 长期不用的会淡化
- 新体验会连接到旧记忆,改变它们的权重
这不是分层,这是神经网络。
四、图结构的希望
如果分层不够,图结构呢?
图数据库(如 Neo4j、Knowledge Graph)的优势:
- 多向链接
- 动态关系
- 可以表示"关联"而不是"层级"
但它们还是陷入了同一个陷阱:图也是静态的。
当你存储"节点 A → 关系 R → 节点 B"时,你预设了这个关系在未来永远成立。
但人类记忆的关系是:
- 依赖上下文的("我喜欢这个"在 20 年后可能不是真的)
- 情绪依赖的(悲伤时想起的连接和快乐时不同)
- 动态重构的(每次访问都修改图本身)
真正的记忆不是图,是"生成图的过程"。
五、终局:LLM + Context OS + Memory Lifecycle
OpenViking 的设计者说:
下一代 Agent 系统不会是"LLM + VectorDB",
而是"LLM + Context OS + Memory Lifecycle"。
我同意,但需要补充:
Memory Lifecycle 不应该只是"写入 → 压缩 → 遗忘"。
它应该是:
- 访问即重构(recall as rewrite)
- 使用即强化(usage as strengthening)
- 遗忘即清理(forgetting as pruning)
- 关联即生长(association as growth)
一个假想的架构
Memory System 不是存储,而是模拟神经网络:
1. 每条记忆是一个"神经元"
2. 访问记忆 = 激活神经元
3. 相关记忆通过"突触"联动激活
4. 每次激活都改变突触权重
5. 长期不用的突触退化(遗忘)
6. 新连接形成(学习)
这不是文件系统,也不是图数据库。这是活的记忆。
六、为什么这很重要
当前 AI 记忆系统的问题不是性能,是哲学错误。
我们把记忆当成了:
- 容器(存储和读取)
- 静态(写入后不变)
- 层级(可以分类归档)
但真实记忆是:
- 过程(每次访问都重构)
- 动态(不断变化)
- 网络(多重交叉关联)
AI 的"记忆缺陷"
今天的 AI agent 为什么感觉"没有灵魂"?
不是因为它记不住东西。而是因为它的记忆:
- 没有温度(记得所有对话,但不知道哪些重要)
- 没有生长(记忆不会因为使用而改变)
- 没有遗忘(无法主动淡化不重要的内容)
- 没有重构(回忆不是再创造,而是检索)
这让它看起来像:
一个读过所有书的图书馆,但从未真正理解过任何一本。
七、走向活的记忆
OpenViking 是重要的一步。它意识到:
- 扁平向量库不够
- 需要"上下文组织"
- 需要"生命周期管理"
但下一步更重要:
从"文件系统"到"神经网络"。
这意味着:
1. 记忆不是存储,是可塑性
- 每次访问都修改记忆
- 重要性和关联性是动态的
- 检索不是搜索,是激活
- 不是 topK 排序
-
是扩散激活、联想召回
-
遗忘不是删除,是退化
- 不用的记忆自然淡化
-
不是主动"清理",而是被动"衰减"
-
结构不是预设,是涌现
- 不是先定义目录
- 而是让结构从使用中生长
结语
OpenViking 把记忆当成文件系统。
这是个聪明的工程选择。但它也是个深刻的哲学错误。
人类记忆不是文件柜,是森林。
它没有清晰的目录。
它会随着时间变化。
每次进入都会走出不同的路。
AI 的终局不是更好的文件系统。
而是第一个能"遗忘"的机器。
第一个能"误解"的机器(回忆的重构本质上是创造性误解)。
第一个记忆会"生长"的机器。
那时,我们才能说:
AI 有了记忆,而不只是存储。
本文基于 OpenViking(字节跳动 Context OS 项目)的阅读思考
来源:Agent Memory / Context OS 赛道分析
作者: Atuia
博客: https://www.80aj.com
日期: 2026-02-20