简短答案
ChatGPT 忘记个人偏好是因为记忆是一个单一的账户范围存储,限制在大约 8,000 令牌的改写笔记,当新的偏好到来时,旧的偏好会被驱逐。这个存储在您使用的每个主题和工具之间共享,因此上下文的细微差别会模糊。解决方案是将您的完整偏好配置文件保存在 ChatGPT 每次交互时读取的持久记忆层中。
为什么 ChatGPT 会忘记个人偏好
三个设计选择推动偏好被驱逐:
1. 记忆是一个小的单一存储。 OpenAI 将保存的记忆上限列为大约 8,000 令牌(约 6,000 字的总结笔记)。当您达到限制时,新笔记会将旧笔记推出。您三个月前设置的偏好是第一个被驱逐的。
2. 笔记是改写的,而不是逐字存储的。 您所声明的偏好(“始终使用英式英语回复,绝不使用破折号,始终在 Python 中包含类型提示”)被压缩成模型为自己写的一句话。在这个改写中,细微差别和确切措辞会丢失,因此模型的理解可能会偏离。
3. 没有上下文路由。 偏好在您的账户中是全局的。您在编码时设置的偏好(“带类型提示的 Python”)也适用于您的小说写作,除非 ChatGPT 决定该主题不匹配。没有每个项目的切换。
因此,即使 ChatGPT “记住” 了关于您的某些事情,它所记住的版本也是原始内容的草图,与您曾告诉它的所有其他内容进行比较。
当 ChatGPT 忘记个人偏好时您会失去什么
漂移的个性化层增加了您未预算的摩擦:
- 您每月重新陈述相同的规则。 您花一个月训练的偏好被驱逐,您又要从头开始教它们。
- 上下文混合产生糟糕的输出。 编码偏好(冗长的注释)泄漏到小说中(过度解释的隐喻),反之亦然,因为没有保持它们分开的范围。
- 个性化悄然衰退。 ChatGPT 不会宣布它忘记了。您只是注意到昨天的回复更尖锐,而今天的却不是。
解决方案不是“设置更少的偏好”。而是将您的偏好配置文件从 8,000 令牌的共享存储中移出,放入一个为此设计的记忆层中。
ChatGPT 的内置变通方法(以及每个方法的不足之处)
OpenAI 提供了三个调节器。每一个都是部分的。
记忆 是偏好的默认存储位置。上限约为 8,000 令牌,存储是改写的,范围是账户范围的。适用于稳定、狭窄的偏好。对于分层的多主题配置文件来说是不够的。
自定义指令 让您可以编写两个 1,500 字符的块,适用于每个新聊天。您可以在这里编码一些偏好作为一种永久基线,但上限仍然很小,并且随着聊天的增长而被削弱。
项目(Pro / Plus / Team) 在每个项目中保持指令和文件,这有助于上下文路由。然而,记忆存储仍然是账户范围的,因此全局偏好仍然会在项目之间渗漏。
OpenAI 的 记忆常见问题 详细解释了什么被存储,什么被驱逐,以及如何删除您不再想要的条目。
对于普通用户来说,原生功能已经足够。对于那些工作依赖于稳定个性化的人来说,则不够。
ChatGPT 的内置记忆不足之处
即使 ChatGPT 完美地保存了每个偏好,您仍然使用其他 AI。您在 ChatGPT 中的语气偏好不会传递给 Claude。您在 Claude 中的编码偏好不会传递给 ChatGPT。您在一个工具中建立的个性化在其他工具中是不可见的,因此每个工具都从略微不同的角度重新定义您。
真正的解决方案是一个偏好配置文件,可以在您使用的每个 AI 中随身携带。
MemoryLake 如何解决 ChatGPT 忘记个人偏好
MemoryLake 将您的偏好配置文件作为背景记忆保存在一个项目中,并在每次交互时将其正确的切片输入 ChatGPT。
- 背景记忆用于稳定的偏好。 身份级别的规则(“英式英语”,“不使用破折号”,“带类型提示的 Python”)保存在背景记忆中,不会像 ChatGPT 的 8K 存储那样被新笔记驱逐。
- 上下文范围的检索。 每个项目的记忆让您可以为一个项目保留编码偏好,为另一个项目保留小说偏好,而没有泄漏。每次交互时都会显示正确的切片,而不是整个池。
- 跨所有 AI 的一个配置文件。 相同的背景记忆可以用于 Claude、Gemini、Grok 和 Cursor。无论您是在 ChatGPT 中起草还是在 Cursor 中编码,您的偏好都保持不变。
MemoryLake 拥有最高的已发布 LoCoMo 长上下文得分(94.03%),以毫秒级速度检索,并使用 AES-256 端到端加密保护每个字节——即使是 MemoryLake 也无法读取您的数据。
在 3 个步骤中将 MemoryLake 连接到 ChatGPT
- 创建一个项目并加载您的偏好。 登录 MemoryLake,打开项目管理,点击创建项目,并命名(“个人 - 默认配置文件”)。将每个偏好作为记忆添加,并给予清晰的名称(“语气 - 英式英语,不使用破折号”,“代码 - 带类型提示的 Python”)。通过文档驱动上传任何参考文档或示例,以便配置文件不仅仅是声明。
- 生成 MCP 服务器端点。 在项目中打开 MCP 服务器选项卡,点击添加 MCP 服务器,命名为“ChatGPT 集成”,然后点击生成。MemoryLake 返回一个 API 密钥 ID、密钥和端点 URL。立即复制密钥——它只显示一次。
- 连接 ChatGPT。 浏览器 ChatGPT 目前尚不支持 MCP,因此在每次聊天开始时使用 Bearer 令牌调用 REST API 加载您的偏好配置文件,或粘贴一个引用您的 MemoryLake 项目 ID 的简短系统提示。Python SDK 可以将其包装成一行前言,以便在第一条消息之前就呈现您的偏好。