1,377
社区成员
发帖
与我相关
我的任务
分享很多人第一次使用聊天机器人会产生一种错觉:
“它好像认识我。”
实际上,在最基本的LLM系统里,模型本身并不会像人脑一样永久记忆所有历史对话。
通常系统只是把:
历史消息
+
当前问题
一起放入上下文。
例如:
Conversation:
Day1:用户喜欢Python
Day2:用户正在研究RAG
Day3:用户开始研究GraphRAG
...
Day100
如果每次都把100天全部对话发送给模型:
因此需要Memory系统。
当前任务中的临时信息。
类似人的短期记忆。
保存过去发生的事件。
例如:
2026-08-20
用户完成了RAG第一版系统。
保存长期事实。
例如:
用户主要使用Python开发。
保存“如何做某件事情”的知识。
例如:
部署系统步骤
数据库初始化步骤
模型调用规范
flowchart TD
A[用户消息] --> B[LLM]
B --> C[Working Memory]
B --> D{是否值得长期保存?}
D -->|是| E[Memory Extraction]
E --> F[(Vector Memory)]
E --> G[(Structured Memory)]
H[未来问题] --> I[Memory Retrieval]
F --> I
G --> I
I --> B
如果把每一句话都写进Memory:
用户:今天有点热
用户:刚喝了一杯水
用户:电脑剩30%电
几个月以后,Memory数据库会产生大量垃圾。
因此需要一个Memory Manager。
判断:
def should_remember(message):
importance = evaluate_importance(message)
if importance > threshold:
return True
return False
真正值得长期保存的通常是:
两者底层可能都会使用向量数据库,但是目的不同。
RAG:
检索公共/企业知识
Memory:
检索与当前用户/Agent有关的历史经验
可以这样理解:
RAG让模型知道“世界发生了什么”。
Memory让模型知道“我们之前发生过什么”。
假设有一个科研Agent。
第一天:
阅读100篇论文。
第二天:
找出其中与GraphRAG有关的方法。
第三天:
比较这些论文实验结果。
如果没有Memory,每一天Agent都可能需要重新读取之前的数据。
拥有长期记忆后则变成:
阅读
↓
理解
↓
记录
↓
下一任务
↓
检索历史记忆
↓
继续工作
这才更加接近真正持续工作的智能体。
未来大模型应用的竞争,很可能不仅是:
谁的模型参数更多。
还包括:
谁拥有更加高质量的Memory系统。
一个真正成熟的Agent通常需要:
LLM
+
Knowledge
+
Memory
+
Tools
+
Planning
其中Memory解决的是一个非常重要的问题:
如何让AI从一次性的问答工具变成能够持续工作的智能系统。