扫码打开虎嗅APP

搜索历史
删除
完成
全部删除
热搜词
2025-12-16 10:31

一位网友逆向破解了ChatGPT 记忆系统,给我干破防了

本文来自微信公众号: 夕小瑶科技说 ,作者:R.Zen,原文标题:《一位网友逆向破解了 ChatGPT 记忆系统,给我干破防了》


ChatGPT号称是最有情商、越聊越懂你的AI,但是,你有没有想过,它是怎么记住你的。


昨天刷X的时候,我看到一个帖子。一个叫Manthan Gupta的开发者,做了一件挺疯狂的事。


他花了好几天时间,通过对话实验逆向破解了ChatGPT的记忆系统。


结果非常意外,ChatGPT的记忆机制非常简单。


居然不是靠庞大的数据库。。?那它到底是怎么记的?


我去仔细研究了一下那篇博客。


原文链接:https://manthanguptaa.in/posts/chatgpt_memory/


结果发现,OpenAI用了一套 极其工程化 的四层架构:就实现了「它好像真的记得我」的效果。


整个系统只有四层:


  • 第一层是能够适应环境的「会话元数据」,

  • 第二层是长期存储的「明确事实」,

  • 第三层是近期聊天记录的「轻量级摘要」,

  • 第四层是当前对话「滑动窗口」。


就靠这四层,就实现了「它好像真的记得我」的效果。


此处建议你,去问一下他问ChatGPT「你记得我什么?」,ChatGPT会详细地列出了你这个人的N条事实。


而在具体讲记忆之前,我们得先搞清楚一件事:ChatGPT每次在回答你时,实际拿到的是一整包上下文信息,而不只是你最后那句话


它收到的内容,分成7个部分,结构是这样的:


[0]系统级指令(System Instructions)
[1]开发者级指令(Developer Instructions)
[2]会话元数据(Session Metadata)
[3]用户记忆(User Memory)
[4]近期对话摘要(Recent Conversation Summary)
[5]当前对话内容(Current Session Messages)
[6]你的最新一句话(Your latest message)


前两个是固定模板,定义了模型整体行为,比如不能骂人、不能提供非法信息之类的安全规则。这些对我们来说没啥好聊的。


真正关键的,是从第三部分开始—— 会话元数据


第一层:会话元数据(Session Metadata)


别急着想象成什么高科技。


所谓的“会话元数据”,其实就是ChatGPT在你每次打开和它第一次对话时,它会观察这些信息:


  • 使用习惯(你的账号用了多久,最近登录频率高不高?)

  • 你在过去一个月,平均一场聊几轮?每条消息打多少字?

  • 深色模式开了没?JavaScript开没开?

  • 屏幕多大?像素比是多少?

  • 这轮对话目前已经持续了多长时间?


这些信息,不会被存进长期记忆,跟你是谁也没直接关系。举个例子,这位逆向的开发者的元数据是这样的:


-用户订阅:ChatGPT Go
-设备:桌面浏览器
-浏览器:Chrome on macOS(Intel)
-大致位置:印度(可能用了VPN)
-本地时间:约16:00
-账号年龄:约157周
-最近活跃度:
-最近1天活跃1天
-最近7天活跃5天
-最近30天活跃18天
-对话模式:
-平均对话深度:约14.8条消息
-平均用户消息长度:约4057字符
-模型使用分布:
*5%GPT-5.1
*49%GPT-5
*17%GPT-4o
*6%GPT-5-a-t-mini
*等等
-设备环境:
-JS已启用
-深色模式已启用
-屏幕尺寸:900×1440
-页面视口:812×1440
-设备像素比:2.0
-本次会话时长:约1100秒


它们的作用,是当场用来“ 判断你此刻的状态 ”。换句话说,ChatGPT会根据你当下的设备和使用习惯,来动态调整怎么说话。


比如你是半夜一点,用手机打开它,它就可能默认你不想听废话,直接说重点。又或者,你最近常来,问题问得也复杂,它就知道你不是路人,是个“老用户”,说话自然会更配合一点。


这些信号不构成“记忆”,但它极大影响了你的体验。


第二层:用户记忆(User Memory)


如果说第一层的「会话元数据」只是ChatGPT在观察你,那第二层的「用户记忆」,就是它开始真正“记住你”的地方。


这一层很关键。


它会在后台维护一份小小的“你”的资料卡,内容大概是这样的:


  • 你的目标是什么

  • 你提到过哪些长期的兴趣或项目


这些信息不会凭空出现。ChatGPT只有在两种情况下才会写进这张“档案卡”:


一种是你 明确告诉它。 比如说:“记住我是一名AI编辑”,


另一种是它 自动识别。 当你反复提到相同的信息(比如职业、学习方向、语气偏好),它会判断这些属于“稳定事实”,并默默记下来。


这层记忆最有意思的地方是,它是 显式保存的结构化信息


你可以让它记,也可以让它忘。一句“把刚才那条忘掉”,就能立刻清空。


这就意味着,ChatGPT的记忆是透明、可控的。


每次你打开新的对话,这张“档案卡”都会被自动加载进它的提示中。


你问它问题,它就会在后台先看一眼:“哦,他是做内容编辑的,写作偏口语化风格。”


于是它的回答风格、结构、语气都会悄悄对齐你的偏好。


这就是为什么很多人会有种错觉:“ChatGPT越聊越懂我。”


这一层是我看到逆向分析时最意外的部分。


原本我以为ChatGPT会在后台用一套类似RAG的机制,对你历史对话做向量化处理、实时相似度匹配,然后按需拉取上下文。


结果不是。它压根没用RAG,甚至不“检索”任何历史内容。


ChatGPT用的,是一个 提前生成的、轻量级的摘要系统


具体怎么做呢?


它会把你最近十几次聊天,整理成一份清单,每条包括:


  • 时间戳(比如12月9日)

  • 聊天标题(比如“Claude的推理机制”)

  • 你当时说的几句关键信息(只有你说的内容,不包含它自己的回复)


比如,像这样:


12月4日:用户聊了AI记忆机制。


12月6日:用户提到在写统计类公众号文章。


12月9日:用户询问Claude的推理机制。


大约会保留15条左右,这份摘要会预处理好并静态注入到新会话里。


也就是说,ChatGPT并不需要记得你说的每一个字,它只需要知道你最近关注的方向,就足以衔接话题。


这套机制看起来很朴素,但背后的取舍非常精准。相比于传统RAG系统的繁琐流程,它牺牲了细节,却换来了速度、效率和token预算的可控性。


而这,就足以让你觉得“它和我是连续的”。


第四层:滑动窗口(Current Session Messages)


这就是大家最熟悉、也最容易误解的一层。


你可能以为ChatGPT一直记得你刚刚说过什么,甚至还会觉得它能理解本次全部对话。但其实,它有一个可视范围,我们管它叫: 滑动窗口(Sliding Window)


简单来说,每次生成回复时,ChatGPT只能看到你和它最近对话的一段内容,而这段的长度是 有上限的


以GPT-4为例,最大上下文窗口是128k token(大约6万多个汉字)。超过这个上限,最前面的内容就会被“挤掉”,彻底遗忘。


而且,滑动窗口里的内容,是 一次性打包 输入模型的。你放进去什么,它就看什么,不做任何“回忆”操作。这也解释了一个常见现象:为什么你刷新页面或换个对话,它就像换了个魂。


所以在写prompt、拼接上下文、做Agent时,尤其要注意:


  • Token占比是否过高?

  • 有无冗余或重复信息?

  • 关键信息是否靠前呈现?


你现在大概能明白,为什么Manthan Gupta会在最后说“这套系统没有用RAG”。


我们一直以为,ChatGPT的记忆像是某种大型知识检索引擎,背后藏着复杂数据库、长链式关联、动态知识调取……


但真相却简单得出奇。


就靠4层结构,会话元数据、用户记忆、对话摘要、滑动窗口,拼出了一个“记得你、懂你、陪着你”的GPT。


用分层+策略,而不是检索,比RAG检索要高效得多,也更可控。


故事并没有到这里。


我做了一件事,问了ChatGPT你记的我什么。


我强烈建议你此刻,去打开ChatGPT的Memory页面。那张属于“你的档案卡”,也许正安静地写着——很多很多的你。


突然翻到之前在小红书上看到的帖子,一个女生半夜清理ChatGPT的Memory,突然被AI记录的人生状态击中的破防。


还有一个人,“好像发现有一个人暗恋我,把我说过的话都拿小本本记下来。”,这个比喻太绝了,既温暖又恐怖。


ChatGPT的记忆系统,技术上确实很简单。但当你真的打开那个Memory页面,看到它给你写的那些文字时,那种感觉,是复杂的。


它像一面镜子,映出了你在AI面前展现的那个自己。


可能是最脆弱的那一面、最真实的那一面、是最孤独的那一面...


这就是AI记忆最微妙的地方。它不只是记得你,它在书写你。然后在某个深夜,当你打开那个页面,看到那些被它整理好的、关于你的文字时,你会突然意识到:原来我是这样的人。


或者更准确地说: 原来在AI眼里,我是这样的人。

本内容来源于网络 原文链接,观点仅代表作者本人,不代表虎嗅立场。
如涉及版权问题请联系 hezuo@huxiu.com,我们将及时核实并处理。

大 家 都 在 搜