AI记忆系统实测:让AI记住你是谁,到底有多难

我跟ChatGPT聊了大半年,每次开新对话它都像失忆了一样。"我是做后端的","我喜欢Go语言","请用中文回复"——这些话说了不下五十遍。每次都要重新交代背景,烦得要命。

2025年底OpenAI终于上线了Memory功能,Google和Anthropic也陆续跟上。我花了一周时间认真测了三家的记忆系统,结论是:能用,但别指望太多。

三家记忆功能到底是什么

先搞清楚它们各自做了什么,因为三家的方案差别挺大。

ChatGPT的Memory最直接。它会在对话中自动提取"你告诉它的事实",存到一个列表里。比如你说"我是前端开发,主要用React",它会记下来。下次新对话它会带着这些记忆开始。你可以在设置里看到所有记忆条目,也能手动删除。

Claude的方案是Projects。不是自动记忆,而是你手动创建一个Project,往里面塞文档和说明。比如我建了一个"我的技术栈"项目,把我的技术栈、代码规范、常用框架全写进去。每次在这个Project下开新对话,Claude都能看到这些背景信息。

Gemini的Memory功能和ChatGPT类似,也是自动提取。但它的记忆颗粒度更细,会区分"用户偏好"和"事实信息"。而且它和Google全家桶联动——如果你用Gmail,它可能从你的邮件里提取信息当记忆用。这个做法挺聪明,但也有人觉得隐私上不太舒服。

实测:ChatGPT Memory

我用ChatGPT的Memory功能用了大概三个月。说说真实体验。

它记得住的东西:我的职业(后端开发)、常用语言(Go、Python)、时区(UTC+8)、回复偏好(中文、简洁)。这些基础信息它确实记住了,而且准确率很高。三个月里没有出现过把我的职业记错的情况。

它记不住的东西:具体项目上下文。我跟它说"我在做一个电商系统,用的微服务架构",它可能记下"用户在做电商系统",但不会记住"微服务架构"这个细节。下次你问它架构建议,它还是会问你"你是什么架构"。

更烦的是它的记忆提取有时候很蠢。有一次我说"别给我推荐Java,我不喜欢",它记下来的是"用户不喜欢Java"。然后每次我问编程问题,它都要加一句"因为你不喜欢Java,所以..."。我只是随口吐槽一句,结果变成了永久标签。

还有一个问题:记忆上限。ChatGPT的记忆条目有数量限制,大概在几十条左右。满了之后它会自动合并或者删旧的。我有次发现它把我的"常用Go语言"这条记忆给挤掉了,因为新记忆太多。

总体打分:6/10。能用,但很粗糙。适合记基本信息,不适合记复杂上下文。

实测:Claude Projects

Claude的方案我觉得更聪明,因为它把主动权交给了用户。

我的用法是建了三个Project:

"工作日常":放了我的技术栈说明、团队代码规范、项目架构文档。日常技术问题都在这里问。

"写作助手":放了我过去写的一些文章样本、风格偏好说明、常用术语表。写文章的时候用。

"学习笔记":放了我正在学的技术的笔记和问题。学新东西的时候用。

优点很明显:记忆质量高。因为是我手动放进去的,所以都是我真正需要的上下文,不会有ChatGPT那种"瞎记"的问题。Claude在Project里回答问题的时候,确实会参考这些文档。我问"我们项目的API规范是什么",它能直接从我放进去的文档里找答案。

缺点也明显:手动维护成本高。每次项目架构变了、规范更新了,我得自己去更新Project里的文档。如果你懒得维护,时间一长里面的信息就过时了,Claude还会根据过时信息给你建议,那就更糟。

另外Project的文档有大小限制。单个Project大概能放200K token的内容。我那个"工作日常"项目塞了架构文档、API规范、数据库设计文档之后就快满了。你不可能把所有上下文都塞进去。

总体打分:7.5/10。质量高但需要维护。适合有明确场景的专业用户。

实测:Gemini Memory

Gemini的记忆功能我用的时间最短,大概一个月。但体验挺有意思。

它的自动提取比ChatGPT更准。我说"我最近在学Rust,之前主要写Python",它会分成两条记忆:"用户在学Rust"和"用户主要使用Python"。ChatGPT可能会合成一条,信息密度就不一样。

它和Google生态的联动是真的强。我在Gmail里有一封机票确认邮件,然后问Gemini"我下周几出差",它能直接从邮件里找到答案。这种跨应用的记忆能力是另外两家做不到的。

但问题是:有时候它记太多。我发现它从我的Google Calendar里提取了我下周有三个会议的信息,然后在回答其他问题的时候主动提起来。我没问它日程,它自己说了。这种"过度关心"的感觉有点奇怪。

隐私方面,你可以在设置里关掉跨应用记忆,但默认是开着的。很多人可能根本不知道自己的邮件和日历信息被AI读了。

总体打分:7/10。跨应用联动是亮点,但隐私顾虑是真实存在的。

自己搭记忆系统

如果你用的是API而不是网页版,那三家的记忆功能基本用不了。你需要自己搭。

最简单的方案是维护一个"用户画像"文件:

# user_profile.md

## 基本信息
- 职业:后端开发工程师
- 常用语言:Go, Python, SQL
- 时区:UTC+8
- 回复偏好:中文,简洁,直接给代码

## 当前项目
- 电商系统,微服务架构
- 技术栈:Go + gRPC + PostgreSQL + Redis
- 部署在K8s上,用的阿里云

## 沟通风格
- 不要解释基础概念,直接上代码
- 如果有更好的方案请直接说,不用客气
- 出错的时候给完整错误信息,不要省略

然后在每次对话开始的时候,把这段内容塞进system prompt。效果比三家的内置记忆都好,因为完全由你控制。

进阶方案是用向量数据库存历史对话,每次新对话时检索相关内容塞进context。这个方案更灵活,但搭建成本也更高。推荐用SevenFa AI Hub的统一API来做——它的context管理接口可以自动帮你做对话摘要和相关性检索,不用自己搭向量库。

再高级一点,你可以用类似Mem0这样的开源框架。它做的事情和ChatGPT的Memory类似,但是自托管的,数据完全在你手里。

pip install mem0ai

from mem0 import Memory

m = Memory()
# 存记忆
m.add("我喜欢用Go写后端", user_id="me")
m.add("我不喜欢Java,除非必要", user_id="me")

# 查记忆
results = m.search("你推荐什么语言写后端", user_id="me")
# 会返回和"后端语言"相关的记忆条目

这个方案的好处是你可以接入任何模型,不限于ChatGPT或Claude。而且记忆的粒度完全由你控制。

我的建议

如果你只是日常聊天用,ChatGPT的Memory够了。它虽然粗糙,但胜在零维护。

如果你是专业用户,有明确的工作场景,Claude Projects更好。手动维护的成本换来的是高质量的上下文。

如果你深度使用Google全家桶,Gemini Memory的跨应用能力确实方便。但建议去设置里检查一下哪些应用的数据被读取了。

如果你是开发者,在做AI应用,那别依赖任何一家的内置记忆。自己搭,用向量数据库或者Mem0。用户数据这么重要的东西,不应该被锁在某一家平台里。

试试看:在SevenFa操练场里,你可以测试不同的system prompt来模拟记忆效果。把你的用户画像写成system prompt,看看不同模型对同样上下文的理解有什么区别。