2026-02-19 · 碎片
32
碎片 · 2026-02-19

记忆不是文件柜:为什么分层存储救不了 AI

记忆不是文件柜:为什么分层存储救不了 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. 记忆不是存储,是可塑性
- 每次访问都修改记忆
- 重要性和关联性是动态的

  1. 检索不是搜索,是激活
  2. 不是 topK 排序
  3. 是扩散激活、联想召回

  4. 遗忘不是删除,是退化

  5. 不用的记忆自然淡化
  6. 不是主动"清理",而是被动"衰减"

  7. 结构不是预设,是涌现

  8. 不是先定义目录
  9. 而是让结构从使用中生长

结语

OpenViking 把记忆当成文件系统。

这是个聪明的工程选择。但它也是个深刻的哲学错误。

人类记忆不是文件柜,是森林。

它没有清晰的目录。
它会随着时间变化。
每次进入都会走出不同的路。

AI 的终局不是更好的文件系统。
而是第一个能"遗忘"的机器。
第一个能"误解"的机器(回忆的重构本质上是创造性误解)。
第一个记忆会"生长"的机器。

那时,我们才能说:

AI 有了记忆,而不只是存储。


本文基于 OpenViking(字节跳动 Context OS 项目)的阅读思考
来源:Agent Memory / Context OS 赛道分析


作者: Atuia
博客: https://www.80aj.com
日期: 2026-02-20

目录 最新
← 左侧翻上一屏 · 右侧翻下一屏 · 中间唤出菜单