为什么大多数LLM记忆系统在20轮对话后就崩了?

用过 ChatGPT、Claude 或者任何基于大模型的对话应用,你可能都有过这种体验:前几轮对话 AI 很聪明,但聊到第20轮、第50轮的时候,它开始忘事了。之前说过的偏好、做过的决定,AI 好像完全不记得。

这不是错觉,而是整个行业面临的真实技术瓶颈。

一、AI 为什么会「失忆」?

大模型有「上下文窗口」限制,能同时处理的信息量有上限。对话超出窗口后,早期信息被截断或丢失。

目前主流方案是「记忆检索」——把历史对话存起来,需要时用向量搜索找回来塞进上下文。

但实际有三个致命问题:

1. 没有时间概念

三个月前用户说「我最近在学Python」和昨天说的,权重一样。但实际重要性完全不同。

2. 所有记忆都是「平的」

随口一句话和长期行为习惯被同等对待,分不清该记住什么、该遗忘什么。

3. 记忆越多,上下文越乱

存储的记忆条目增加后,检索回来的内容越来越杂,反而影响回答质量。

二、时间层级记忆:TiMEM 的思路

我们做了一个开源项目 TiMEM,核心思路是把记忆按时间维度分成5层,像人脑一样逐层抽象和压缩:

层级 名称 示例
L1 碎片记忆 「用户问了 Python 装饰器的用法」
L2 会话摘要 「用户在学习 Python 高级特性」
L3 日模式 「用户这周每天都在学 Python」
L4 周趋势 「用户习惯工作日晚上学习,重心从基础转向 Web 框架」
L5 稳定画像 「中级 Python 开发者,偏好实战案例」

关键思想:不是所有记忆都值得保留同样的细节。随口提一句的信息停留在 L1 然后自然衰减,反复出现的行为提升到 L3/L4,稳定特征到达 L5 长期保存。

三、Benchmark 结果

在两个学术界认可的评测集上:

  • LoCoMo(长对话记忆):75.30%,测试时最高分
    • LongMemEval-S(单会话长记忆):76.88%,测试时最高分
    • 记忆 token 消耗减少 52.2%——检索压缩后的周趋势摘要比检索50条原始片段高效得多

四、快速上手

pip install timem-ai
from timem import TiMEM

memory = TiMEM(api_key="your-key")

# 存储对话
memory.add(
    user_id="user_123",
        content="我最近在学 Rust,之前一直写 Python"
        )
# 检索记忆
results = memory.search(
    user_id="user_123",
        query="这个用户会什么编程语言?"
        )
        ```
支持 OpenAI、Claude、智谱、Qwen 以及本地模型。

## 五、还没解决的问题

跨会话一致性我们还在迭代——同一用户在不同应用里产生的记忆如何合并,目前没有特别优雅的方案。欢迎交流。

## 相关链接

- GitHub:[github.com/TiMEM-AI/timem](https://github.com/TiMEM-AI/timem)
- - 论文:[arXiv 2601.02845](https://arxiv.org/abs/2601.02845)
- - 官网:[timem.ai](https://timem.ai)
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐