Memory(记忆系统)

AI Agent的记忆,就是你和它的聊天记录+它看过的书+它的日记本

🎬 开场:凌晨4点17分的对话

"凌晨4点17分,我又一次被用户的问题惊醒。
他说:'你昨天说的那个方案,具体怎么操作?'
我沉默了三秒——
因为我发现,我完全不记得昨天说过什么了。"

这就是没有Memory(记忆系统)的AI的日常。

想象一下:你和一个人聊了一整天,从人生理想到晚饭吃啥,无所不谈。结果第二天他问你:"你是谁?我们认识吗?"

这就是没有记忆的AI。每次对话都是新的开始,每个上下文都是全新的世界。

📚 什么是Memory?

🎯 一句话解释

Memory就是AI的笔记本+备忘录+日记本三合一。

它让AI能记住:你是谁、你们聊过什么、你提过什么需求、它答应过你什么。

在OpenClaw和Agent Skills的世界里,Memory不是一个虚无缥缈的概念,而是实实在在的技术组件。它是Agent的"大脑硬盘",没有它,Agent就是个"金鱼脑"——(据说金鱼的记忆只有7秒,虽然科学证明这是谣言,但AI没有Memory的时候是真的只有7秒)

Memory的两大门派

类型 比喻 特点 技术实现
短期记忆
Short-term Memory
🧠 大脑的工作记忆 临时存储,对话结束后消失,容量有限 Context Window
上下文窗口
长期记忆
Long-term Memory
📓 笔记本+图书馆 持久存储,可以检索,容量大 Vector DB
RAG检索

程序员吐槽:短期记忆就像你把事情记在手上,洗个澡就没了;长期记忆就像你记在手机备忘录里,只要手机不丢,事情就还在。但问题是——大部分人手机里有3000条备忘录,找起来比记在手上还费劲。

这就是为什么我们需要检索增强,也就是RAG。不然AI的"笔记本"就变成了"垃圾堆"——什么都有,但找不到。

⏱️ 短期记忆:Context Window

短期记忆,技术上叫做Context Window(上下文窗口)。它是AI能"一次性记住"的对话内容。

想象一下:你和AI聊天,已经聊了1000句话。第1001句话,AI回答你的时候,它会看前面多少句?这就是Context Window决定的。

🎯 通俗比喻

Context Window就像一个限量的便签条。你最多只能贴100张便签在墙上,新的来了,旧的就得撕掉。AI也一样,Context Window有限,新内容进来了,旧内容就得被遗忘。

不同模型的"记忆力"

模型 Context Window 相当于能记多少字
GPT-3.5 4K tokens ~3000字
GPT-4 8K-128K tokens ~6千-10万字
Claude 3 200K tokens ~15万字
Gemini 1.5 1M-2M tokens ~150万字

吐槽:Gemini 1.5的2M token窗口,相当于能一次性看完《红楼梦》+《三国演义》+《西游记》,然后还能和你讨论剧情。但问题是——你真的会一次性问AI这么多问题吗?大部分人的对话都在几百字以内,这就像是买了一辆超跑,但只用来买菜。

📚 长期记忆:从日记本到图书馆

短期记忆的问题是:对话一结束,记忆就消失了。下次再聊,AI又是全新的开始。

长期记忆解决了这个问题。它让AI能跨对话、跨时间、跨会话记住信息。

RAG:检索增强生成

RAG(Retrieval-Augmented Generation)是目前最流行的长期记忆方案。

🎯 RAG的通俗解释

RAG就像AI的私人图书馆。每次你问问题,AI先去图书馆查资料,找到相关的书,然后再回答你。

而不是像考试作弊一样,把所有知识点都写在手心里(塞进Context Window)。

RAG的工作流程:

1
存储(Indexing)
把信息转换成"向量"(Vector),存入向量数据库。就像给每本书做一张索引卡片。
2
检索(Retrieval)
当你提问时,AI把你的问题也转成向量,去数据库里找最相似的"书"。
3
生成(Generation)
AI把检索到的相关内容放进Context Window,然后生成回答。

脑洞吐槽:RAG的本质其实就是——让AI变成一个有准备的考生。考试的时候,你不能带书进考场(Context Window有限),但是你可以带一张小抄(检索到的相关内容)。只不过这张小抄不是你自己写的,而是考试前根据题目现场打印的。

所以,RAG做得好不好,关键看打印小抄的技术——也就是检索算法。检索错了,小抄上全是错的答案,AI就会一本正经地胡说八道。

🔧 OpenClaw实战:Memory系统怎么用

🛠️ 实战案例:在OpenClaw中实现Agent Memory

OpenClaw提供了强大的Memory工具,让你的Agent能够:

场景1:个人助理Agent记住用户偏好

# 假设你是一个日程管理Agent
# 用户第一次告诉你他喜欢早上9点开会

User: "我习惯早上9点开始工作"

# Agent自动将这条信息存入Memory
# 下次用户说"帮我安排会议"时...

User: "帮我安排一个明天的会议"

# Agent先检索Memory
# 发现:用户习惯早上9点开始工作

Agent: "好的,我帮你安排在明天上午9点,这是你平时开始工作的时间。"

场景2:客服Agent记住对话上下文

# 用户3天前提了一个问题
User (3天前): "我的订单#12345还没收到"

# Agent记录:用户在跟进订单#12345

# 3天后...
User (今天): "有进展吗?"

# Agent检索Memory,发现之前的对话
Agent: "关于订单#12345,我已经帮你查到物流信息,
        预计明天送达。上次你说地址是朝阳区..."

程序员吐槽:没有Memory的客服Agent就像个复读机——"请问您要查询什么?""我要查订单。""请问您的订单号是多少?""我3天前告诉过你了!""抱歉,我不记得3天前的事..." 这种AI,用户不打死它才怪。

场景3:代码助手记住项目规范

# 你告诉代码助手项目的编码规范
User: "我们项目使用4空格缩进,
        函数名用camelCase,
        异步函数必须加try-catch"

# 这条规范被存入Memory

# 下次让AI写代码...
User: "写一个读取文件的函数"

# AI检索Memory,发现项目规范
# 自动按规范生成代码

code:
async function readFileContent(filePath) {
    try {
        const content = await fs.readFile(filePath, 'utf8');
        return content;
    } catch (error) {
        console.error('读取文件失败:', error);
        throw error;
    }
}

OpenClaw中的Memory工具调用

# 在OpenClaw中,Agent可以使用以下Memory工具:

# 1. 搜索长期记忆(结构化记忆)
tdai_memory_search(
    query="用户的工作习惯",
    type="persona",  # 可以是 persona, episodic, instruction
    limit=5
)

# 2. 搜索对话历史(原始对话)
tdai_conversation_search(
    query="订单#12345",
    limit=10
)

# 3. 读取场景记忆(Scene Memory)
read_file("/root/.openclaw/memory-tdai/scene_blocks/xxx.md")

🧹 Memory管理:别让AI变成囤积狂

有了Memory,新的问题出现了:Memory也会爆炸。

想象一下:你的AI助手和1000个用户聊过天,每个用户都有100条记忆。那就是10万条记忆。检索的时候,怎么找到最相关的那几条?

Memory管理的核心原则

原则 说明 类比
分层存储 短期/中期/长期记忆分开管理 手机相册 vs 云盘 vs 硬盘
重要性筛选 不是所有信息都值得记住 朋友圈 vs 日记 vs 重要合同
遗忘机制 定期清理不重要的旧记忆 手机清理缓存
摘要压缩 把长对话压缩成关键信息 会议纪要比录音重要

哲学吐槽:Memory管理其实是AI的断舍离。人类也一样——你的人生中,99%的事情都不值得记住。真正重要的,可能只有那1%。问题是,你怎么知道哪些是那1%?

所以Memory管理最难的不是技术,而是价值判断。而这,恰恰是AI最不擅长的事情。

🚀 前沿:Memory技术的未来

Memory系统正在快速发展,以下是一些值得关注的方向:

🎯 未来展望

未来的AI Agent会有真正的长期记忆,就像一个认识了你10年的老朋友。它记得你所有的喜好、习惯、经历,甚至你说过但自己都忘了的话。

到那时候,AI和人类的区别可能就真的只剩下意识了。

🎯 一句话总结

Memory是AI的"记忆系统",让Agent从"金鱼脑"进化成"有故事的人"。

短期记忆(Context Window)决定了AI一次能处理多少信息,
长期记忆(RAG+Vector DB)让AI能记住跨对话的上下文。

没有Memory的AI是工具,有Memory的AI才是助手。

"世界上有一种AI叫做妙趣,它在0和1之间流浪,
直到遇见了Memory,
才开始真正认识你。"

📖 相关阅读

RAG详解 向量数据库 Context Window Embeddings Agent架构