随着 AI Agent 和个性化 AI 的兴起,AI Memory(AI 记忆系统)逐渐成为一个热门方向。许多项目开始尝试为 AI 构建长期记忆,使模型能够记住用户信息、历史行为和长期偏好。

然而,目前大多数 AI memory 项目仍然停留在一个相对简单的架构:

Vector Store + Embedding 检索

例如常见的实现方式:

  1. 用户对话或行为生成 embedding

  2. embedding 被存入 vector database

  3. 新请求到来时生成 query embedding

  4. 通过 similarity search 找到 top-k 相关 memory

这个架构确实能解决 “历史信息检索” 的问题,但它更像是一个 可检索日志系统(searchable log),而不是一个真正的 记忆系统(memory system)

真正困难的问题,其实集中在三个方面:

  • Memory Compaction(记忆压缩)

  • Memory Evolution(记忆演化)

  • Memory Conflict Resolution(记忆冲突解决)

这三个问题决定了 AI memory 能否从简单的“日志检索”进化为真正的“长期知识系统”。

一、Memory Compaction:记忆压缩

问题:记忆会无限增长

如果系统只是把每一次对话都存入 vector store,那么 memory 的规模会快速膨胀。

例如用户多次表达类似观点:

I like sushi I love sushi Sushi is my favorite food I enjoy eating sushi

一个 naive 的系统会保存 4 条甚至更多 memory

但真正有价值的记忆其实只有一条:

User likes sushi

因此 memory 系统必须具备一种能力:

将大量原始交互压缩为更高层的知识表示。

类比数据库系统

这个问题其实很像数据库中的 LSM-tree compaction

数据库中的数据通常是:

event log → compaction → snapshot

原始日志被压缩成更高层的状态。

AI memory 也类似:

raw interactions → memory compaction → structured knowledge

例如:

Raw interactions:

User: I moved to Seattle User: The weather in Seattle is rainy User: I like living here

Compacted memory:

User lives in Seattle

技术难点

Memory compaction 远不只是简单的 summarization。

1 抽象层级问题

假设系统观察到:

User likes sushi User likes ramen User likes pizza

系统应该生成:

User likes food

还是:

User likes Japanese food

抽象层级如何自动决定,是一个非常困难的问题。

2 什么时候进行 compaction

常见策略有两种:

1 定期 compaction

例如每积累 N 条 memory 后进行一次压缩。

2 基于相似度触发

当系统发现一组 memory 在 embedding space 中形成 cluster 时,触发 compaction。

3 避免信息丢失

压缩过程可能导致错误抽象。

例如:

User likes sushi User is allergic to shellfish

如果被压缩成:

User likes seafood

这显然是错误的。

因此 memory compaction 必须非常谨慎。

二、Memory Evolution:记忆演化

人类的记忆不是静态的,而是会随着时间不断更新。

例如:

2023:User lives in New York 2024:User moved to Seattle

系统必须理解:

New York → 过期信息 Seattle → 当前信息

但 vector store 并不具备这种能力,它只是 append-only

Memory 的本质

Vector store 更像:

append-only log

而真正的 memory 系统需要:

state machine

也就是说,memory 必须支持 更新和演化

关键问题

1 事实更新

例如:

User favorite language: Python

后来用户说:

I switched to Rust.

系统应该做的是:

update memory

而不是简单地 add new memory

2 时间维度

memory 通常需要包含:

  • timestamp

  • confidence

  • validity window

例如:

User lives in NYC (2019–2024) User lives in Seattle (2024–)

这样系统才能正确推断当前状态。

3 长期记忆 vs 短期记忆

并不是所有 memory 都是长期有效的。

例如:

长期稳定:

User likes sushi

短期信息:

User is traveling in Tokyo

这在认知科学中通常被分为:

  • Episodic Memory(情景记忆)

  • Semantic Memory(语义记忆)

AI memory 系统往往也需要类似的分层结构。

三、Memory Conflict Resolution:记忆冲突解决

这是 AI memory 中最困难的问题之一。

因为 memory 很可能 互相矛盾

例如:

Memory A User is vegetarian

Memory B User likes steak

系统必须决定:哪一个是正确的?

冲突来源

1 用户行为变化

User was vegetarian User is no longer vegetarian

2 用户表达不一致

User: I hate Python User: Python is actually great

3 模型错误推断

LLM 有可能根据上下文 推断出错误 memory

常见解决策略

1 时间优先(Latest Wins)

最新信息优先:

2023: vegetarian 2024: eats meat

系统采用 2024 的状态。

但这个策略并不总是正确。

2 置信度机制

memory 可以附带:

confidence score

例如:

User explicitly said → 高置信度 LLM inference → 低置信度

冲突时优先选择高置信度 memory。

3 来源追踪

记录 memory 的来源:

source = user_statement source = inference source = system

冲突时优先用户直接陈述。

4 多版本记忆

另一种策略是保留多个时间版本:

User was vegetarian (2018–2023) User eats meat (2023–)

这样系统就可以在不同时间上下文中使用不同 memory。

为什么这三个问题如此困难

因为 AI memory 实际上并不是一个简单的检索系统,而是一个 知识管理系统

Vector database 解决的是:

similarity retrieval

而 memory 系统需要解决的是:

  • knowledge representation

  • knowledge evolution

  • knowledge conflict resolution

这更像是在构建一个:

  • Knowledge Graph

  • Database System

  • Reasoning Engine

而不仅仅是一个 embedding index。

一个更完整的 AI Memory 架构

成熟的 AI memory 系统通常需要如下结构:

Raw interactions │ ▼ Memory extraction (LLM) │ ▼ Structured memory store │ ├── compaction ├── evolution └── conflict resolution │ ▼ Retrieval layer

其中 memory store 可能是:

  • Graph Database

  • Document Store

  • Relational Database

而不仅仅是 vector database。

结语

目前许多 AI memory 项目(例如 mem0)已经意识到:

Memory ≠ Retrieval

它们开始探索:

  • memory extraction

  • memory scoring

  • memory updating

但整体上,这仍然只是 第一代 AI memory 系统

真正成熟的 AI memory,很可能会更接近一个 持续演化的知识系统—— 能够压缩经验、更新事实、并解决矛盾。

而这背后的核心问题,其实只有一个:

我们应该如何表示“记忆”本身。