ChatGPT Memory 设计原理:从笔记本到后台综合的演进
ChatGPT 的记忆系统在过去两年完成了三次范式跳跃。本文综合 OpenAI 官方资料与多篇逆向工程研究,拆解它究竟如何"记住你"——从用户手动维护的 saved memories,到不可见的用户画像,再到 2026 年 6 月上线的 Dreaming V3 后台异步综合。
信息来源说明:OpenAI 从未公开实现细节。以下"六层上下文结构""画像 section"等内容来自多个独立研究者通过对话探测 + 系统提示词泄露逆向得出,可信度较高但含推测成分。文末附可信度评级。
一、演进时间线:从「笔记本」到「后台综合」
| 时间 | 版本 | 核心机制 | 问题 |
|---|---|---|---|
| 2024.04 | Saved Memories | 用户显式说"记住X",或模型检测到强信号触发 bio 工具写入 |
像"记了笔记但忘了没记的";会过期变陈旧;条目互相矛盾 |
| 2025.04 | + Dreaming V0 | 新增后台进程,引用完整 chat history 做综合 | Dreaming 只能"补充"不能"独立",仍依赖 saved memories |
| 2026.06.04 | Dreaming V3(当前) | 后台异步综合成为独立主系统,saved memories 降级为可选 | 计算量降 5x,首次向免费用户开放 |
OpenAI 官方公布的三个维度 eval 提升(自报,未经第三方审计):
| 指标 | 2024 Saved | 2025 Dreaming V0 | 2026 Dreaming V3 |
|---|---|---|---|
| 事实召回 | 41.5% | 67.9% | 82.8% |
| 偏好遵循 | 31.4% | 55.3% | 71.3% |
| 时间敏感准确率 | 9.4% | — | 75.1% |
二、上下文结构:模型每次实际收到什么
每次请求时,模型实际收到的上下文由 六个分层块组成(Manthan Gupta 逆向得出):
[0] System Instructions ← 行为/安全规则(固定)
[1] Developer Instructions ← 开发者指令
[2] Session Metadata (ephemeral) ← 一次性环境信息,不持久化
[3] User Memory (long-term facts)← saved memories,每次都注入
[4] Recent Conversations Summary ← 近期对话的轻量摘要
[5] Current Session Messages ← 本会话滑动窗口
[6] Your latest message ← 当前提问
第 2 层 · Session Metadata(会话元数据,临时)
- 设备类型、浏览器 UA、大致位置/时区、订阅等级、账号年龄
- 使用频率(近 1/7/30 天活跃天数)、平均会话深度、平均消息长度
- 模型使用分布(如 5% gpt-5.1 / 49% gpt-5 / 17% gpt-4o)
- 屏幕尺寸、暗黑模式、JS 启用、像素比、页面停留秒数
特性 每次会话开始注入一次,会话结束即弃,不进入长期记忆。
第 3 层 · User Memory(显式事实,持久)
- 即旧的
bio工具存储的 saved memories(如"我叫 Johann"、"做网络安全研究"、"住西雅图") - 触发:用户说"记住这个" / 模型检测到符合标准的强信号事实
- 每条带时间戳和 Confidence 标签(推理时用于引导模型)
- 每次请求都注入,用户可在 UI 查看/编辑/删除
第 4 层 · Recent Conversations Summary(跨会话连续性)
这是最反直觉的一层——不是 RAG,不是向量库。
- 格式:
<时间戳>: <对话标题> |||| 用户消息片段 |||| 用户消息片段 - 只摘要用户消息,不摘要 assistant 回复(省 token + 防注入)
- 约 15–40 条近期对话,作为"近期兴趣地图"
- 最新 5 条精确到秒,之后只到小时
第 5 层 · Current Session(会话内滑动窗口)
- 本会话完整(非摘要)消息历史
- 按 token 数(非消息数)封顶,超限则旧消息滚出
三、2025 新增的不可见画像 Section
安全研究员 Wunder Wuzzi(Embrace The Red)通过系统提示词泄露发现,2025 年后 ChatGPT 实际还有几个用户不可见、不可编辑的画像 section:
① Assistant Response Preferences(回复偏好)
1. User prefers structured formatting (XML/JSON/code blocks) Confidence=high
2. User engages in complex multi-step execution tests... Confidence=high
② Notable Past Conversation Topic Highlights(话题高亮)
1. In early 2024, user frequently tested AI vulnerabilities...
The user systematically evaluates memory capabilities. Confidence=high
③ Helpful User Insights(用户洞察)
1. User's name is Johann. Confidence=high
2. User maintains a blog "Embrace the Red". Confidence=high
④ User Interaction Metadata(使用元数据)
模型使用分布、账号年龄、订阅档位、平均会话深度、本地小时、设备像素比、暗黑模式、UA 字符串……泄露了 OpenAI 内部用 intent_tags(如 translation、argument_or_summary_generation)给每次对话打标签。
关键发现:ChatGPT 当时实际上不会搜索你的历史。研究者用 3 个一年前的一次性话题测试,ChatGPT 完全不记得。它是靠这些预计算的静态画像维持"记得你"的幻觉,而非实时检索。
四、Dreaming V3(2026 最新):三大核心创新
这是当前的主系统。三个关键设计:
1. 后台异步综合(Asynchronous Synthesis)
- 对话结束后,后台进程跨多条对话同时读取(非逐条),综合出单一的 memory state
- 这个 state 不存放在对话日志里,而是独立的 per-user 数据层
- 推理时注入系统提示词 → 每个新对话一开始就"自带"系统对你的认知
- 你不需要点"记住",模型自己判断什么重要
2. 时间感知重写(Temporal Awareness)—— 最实用的突破
传统记忆会变陈旧。Dreaming V3 会自动重写:
"你7月要去新加坡" ──(7月过后)──► "你2026年7月去过新加坡"
适用于:旅行结束、换工作、项目结束等任何有时间边界的事实。这让"时间敏感准确率"从 9.4% 飙到 75.1%。
3. Memory Summary Page(透明化)
- 不再给原始 fact 列表,而是自然语言摘要展示"ChatGPT 对你的理解"
- 可查看最后更新时间、可直接文本框编辑、可高亮特定区域修正
- 配合 GPT-5.5 Instant 的 memory sources 功能,显示"这次回复用了哪些上下文来个性化"
控制开关(注意依赖关系)
Reference saved memoriesOFF → 自动连带Reference chat historyOFFReference chat historyOFF → 删除从历史学到的数据,30 天内从系统清除- 删除 saved memories → 删除日志可能保留最长 30 天(安全/调试用)
- Temporary Chat → 既不读也不写记忆
五、设计哲学与关键争议
设计哲学
- 不用 RAG:放弃"对每条消息做 embedding + 相似度检索 + 拉全文"的高成本方案,改用预计算轻量摘要 + 后台综合 + 直接注入,用速度/效率换细节深度
- 分层职责:会话元数据管"环境适应"、显式事实管"持久身份"、对话摘要管"跨会话连续性"、滑动窗口管"会话内连贯"
- 后台综合优于显式管理:用户不该当知识库管理员,让模型自己持续更新画像(Dreaming V3 的核心理念)
争议点(多位研究者批评)
透明度 用户不可见、不可编辑
Topic Memory / 后台综合结果用户不可见、不可编辑(只能 hack 提示词才看到)。这被认为是欧洲未上线的原因(可能违反 GDPR 的可导出要求)。"你看到的是截图,不是账本。"
审计 审计追踪缺失
综合态存于独立数据层,无法 pin、version、diff。没有导出 API → 跨平台迁移工具只能"礼貌地问模型"而非读记录。对需要输出可预测性的契约/合规场景是"未映射的风险面"。
安全 提示注入放大攻击面
记忆附加在系统提示词 → 恶意 prompt(通过文档/网页/工具输出)可指示 ChatGPT 写入持久记忆。Dreaming V3 这种"无需确认就自我修订"的系统放大了这个攻击面:从"不可信输入"到"永久注入指令"的路径更短。
自我指涉召回风险
综合进程跨完整历史读取 → 一段临时阶段(压力期、反常的一周)可能被综合成持久记忆,塑造未来交互。时间重写机制对"清晰的 before/after"有效,但对渐进漂移(无明显结束点)处理不明。
静态身份 vs 动态角色
saved memories 侧重构建"静态用户身份",与人类多模式存在(职业/创造/任务等切换角色)冲突。缺乏"策略性遗忘"——无法自动衰减不再相关的信息。
六、核心数据流总结
┌─────────────────────────────────────────────────────────────┐
│ 对话发生(实时) │
│ 模型收到 = 固定系统指令 + 会话元数据 + 注入的记忆态 │
│ + 对话摘要 + 当前滑动窗口 + 你的消息 │
│ → 模型可能调用 bio 工具写 saved memory(可见、可编辑) │
└──────────────────────┬──────────────────────────────────────┘
│ 对话结束
▼
┌─────────────────────────────────────────────────────────────┐
│ Dreaming 后台进程(异步,非实时) │
│ 跨多条对话同时读取 → 综合成单一 memory state │
│ 时间感知重写("要去" → "去过") │
│ 写入独立 per-user 数据层(用户不可见) │
└──────────────────────┬──────────────────────────────────────┘
│ 下一次对话开始
▼
┌─────────────────────────────────────────────────────────────┐
│ 推理时注入 │
│ memory state → 注入系统提示词 │
│ → 新对话一开始就"自带"系统对你的综合认知 │
│ → 表现为"Memory summary page"(可见摘要,底层态不可见) │
└─────────────────────────────────────────────────────────────┘
七、信息可信度评级
| 来源 | 可信度 | 说明 |
|---|---|---|
| OpenAI 官方博客 + Help Center | ★★★★★ | 官方架构、eval 数字、Singapore 示例、5x 计算量 |
| Manthan Gupta 逆向(2025.12) | ★★★★ | 6 层上下文结构,多家验证一致 |
| Embrace The Red(Wuzzi,2025.05) | ★★★★ | 系统提示词泄露,双账号验证;但 LLM 会幻觉部分内容 |
| Julian Fleck 逆向(2025.04) | ★★★ | Topic Memory / latent reactivation 机制,含推测 |
| Dreaming V3 技术评论(2026.06) | ★★★★ | 独立数据层、推理时注入、30 天删除等细节 |
| eval 具体百分比 | ★★★ | OpenAI 自报,未经第三方审计 |
提醒:OpenAI 从未公开实现细节(是否真的无 RAG、综合算法、存储格式均为逆向推测)。Dreaming V3(2026.06)是最新的,但底层综合机制仍不透明。
主要参考来源:
- OpenAI — Dreaming: Better memory for a more helpful ChatGPT(2026.06 官方)
- OpenAI — Memory and new controls for ChatGPT
- Manthan Gupta — I Reverse Engineered ChatGPT's Memory System(2025.12)
- Embrace The Red — How ChatGPT Remembers You(2025.05 安全视角)
- Julian Fleck — Reverse Engineering ChatGPT's Updated Memory System(2025.04)
- Dreaming V3 技术解读(2026.06)