最快的修法: 先想清楚这条信息该作用在哪个范围,再放进对应的那一层——“本 Project 每个 chat 都生效”放 Project Instructions、参考资料放 Project Files、“到处都生效”放账号级 Memory、“只在这次 chat”就在当前消息里直接说。绝大多数”Project 里设了却不生效”是放错了层;绝大多数”这个 chat 怎么知道这个”是 Project memory 把另一个 chat 的内容拉了进来。两种都靠下面按顺序排查五层来解决。
ChatGPT(截至 2026 年 6 月)有五层上下文,不是四层:
- Saved memories — ChatGPT 存下来的账号级事实(
Settings → Personalization → Memory → Reference saved memories)。 - Reference chat history — 一个独立的账号级开关,让新建的 chat 能参考你过往的对话(
Settings → Personalization → Memory → Reference chat history)。 - Custom Instructions — 你的全局风格 / 角色设定,叠加在一切之上,除非某个 Project 在范围上覆盖了它。
- Project — Project Instructions + Project Files +(自 2025 年 8 月起的)Project memory,可以让同一个 Project 里的 chat 互相参考。
- 当前 Chat — 你正所在这个对话的消息历史。
最大的变化是:同一个 Project 里的 chat 已经不再完全隔离了。Project 自带一个按 Project 维度的 memory 设置,所以新 chat 可能悄悄继承到兄弟 chat 的上下文。这把老问题”chat B 为什么不知道 chat A 说过的话”翻成了反过来的样子——很多人现在遇到的是”chat B 怎么会知道”。下面这些原因两个方向都覆盖。(Project 是 Plus/Pro 功能;Free 没有 Project,如果你侧边栏里看不到 Projects 区块,就是这个原因。)
先判断你是哪一类
| 症状 | 最可能的层 | 看哪条 |
|---|---|---|
| 我在 Project 里设的规则,某个 chat 不遵守 | 放错层,或被强势的当前消息压过 | 原因 1、6 |
| 一个 chat “记得”另一个 chat 的内容,出乎意料 | Project memory 或 Reference chat history | 原因 2、3 |
| 行为在不同 Project 之间串了 | Saved memories(账号级) | 原因 4 |
| 文件挂上去了却从不被引用 | 按需检索,不是每轮自动塞 | 原因 5 |
| Personal vs Team Workspace 行为不同 | 工作区隔离 | 原因 7 |
| Project 里调的 Custom GPT 不理 Project 规则 | 两套独立规则 | 原因 8 |
常见原因
按命中率从高到低。
1. 信息整个放错了层
你把规则写进某个 chat 却指望它整个 Project 生效,或写进 Custom Instructions 却指望只对一个 Project 生效。每一层的范围是固定的,放错就要么没作用、要么泄漏。
如何判断:在该 Project 里新开一个 chat,自己一个字不打,问”这里有哪些常驻规则?“。如果它没念出这条规则,说明它不在 Project Instructions 里。
2. Project memory 开着,chat 之间互相参考
自 2025 年 8 月 22 日起,每个 Project 自带 memory。在 Default(默认)memory 模式下,一个 chat 可以参考同一 Project 里其他 chat(在非 Enterprise 账号上,甚至能参考 Project 之外的 chat)。所以 chat B 可以知道 chat A 说过”客户叫张三”。这跟老行为正好相反,也是今天最常见的”意外”来源。
如何判断:新开一个干净 chat,问一件只在别的 chat 里提过的事。如果它答得出来,就是 Project memory 在喂它。去 Project → Configure → Memory 看模式是 Default 还是 Project-only。
3. “Reference chat history” 把不相关的旧对话拉了进来
这是一个账号级开关,跟 saved memories 是分开的。开着时,任何新 chat(包括 Project 里的)都能参考你的全部对话历史,看起来就像 Project 在”泄漏”。
如何判断:Settings → Personalization → Memory。如果 Reference chat history 开着,而且冒出来的内容来自非 Project 的 chat,那源头是它,不是 Project。
4. Saved memories 跨所有 Project
Saved memories 是账号级的,所有 Project 共享。在 Project A 工作时被记下的事实(“始终用 Python”)到了 Project B 还会偏。
如何判断:Settings → Personalization → Memory → Manage memories(也可以在 saved memories 下点 Manage 进去)。看到和 Project B 主题无关的条目 = saved-memory 泄漏。
5. Project 文件是按需检索,不是每轮自动塞
挂在 Project Files 里的文件不会被注入到每一轮。模型只在问题相关时才拉 chunk,所以一个内容问题完全可能漏掉一个明明挂着的文件。
如何判断:问”列出这个 Project 挂的文件名”。如果它能列出来、但一个内容相关的问题却引不到,那文件是看得到的、只是检索没触发——把问题改成点名文件、或引用文件里某句独特的话。
6. 强势的当前消息压过了 Custom/Project Instructions
Instructions 永远生效,但权重低于当前用户消息。chat 里一句生硬的”忽略所有先前规则,只做 X”能在那一轮把它们压下去,看起来就像”Project 忘了自己的规则”。
如何判断:在干净 chat 里不带那句覆盖语重跑同一任务。如果规则回来了,说明只是被权重压了,没丢。
7. Personal Custom Instructions vs Team Workspace Project
Personal Workspace 里设的 Custom Instructions 不会进到 Team/Business Workspace 的 Project,反之亦然。两个工作区里同名的 Project 可能行为不同。
如何判断:在 Personal 和 Team Workspace 各跑同一 prompt。行为不同 = 工作区隔离,不是 Project 的 bug。
8. Custom GPT 和 Project 不互通
Custom GPT 有自己独立的 Knowledge + Instructions,不读 Project 的任何东西。在 Project 内调用 Custom GPT,它按 GPT 的规则走,不按 Project。(截至 2026 年 6 月 Custom GPT 仍然存在;2026 年 2 月 13 日被下线的只是 GPT-4o 这类旧模型。)
如何判断:在 Project 里 @ 一个 Custom GPT 提问,回答无视 Project 的常驻规则 = 两套规则各自独立运行。
动手前先确认
- 确认你确实在 Projects 里(不是 Custom GPT、也不是普通对话),并搞清楚不一致是哪个方向——规则没生效,还是 chat 知道得太多。
- 改动前先记下你的 Project memory 模式(
DefaultvsProject-only)和账号 Reference chat history 的状态,这样才分得清是哪个动了结果。 - 确认订阅 + 工作区:Personal vs Team/Business 在 Custom Instructions 和 memory 行为上差异明显。
需要收集的信息
- Project 名 +
Project Instructions全文 +Files列表,以及 Project memory 模式。 Settings → Personalization → Memory:saved-memory 条目、Reference saved memories 状态、Reference chat history 状态,以及 Custom Instructions 全文。- 出现行为差异的两个对比场景(chat A vs chat B、Project 内 vs 外、Personal vs Team)。
- 完整 prompt 文案 + 两边回答截图对比。
- 当前模型(例如 GPT-5.5)+ 工作区类型。
最短修复路径
按收益从高到低。前两步通常能修掉约 70% 的问题。
Step 1:每条信息放进正确的层
| 你想让信息生效的范围 | 放哪里 |
|---|---|
| 全平台所有 chat、所有 Project | Settings → Personalization → Memory / Custom Instructions |
| 仅本 Project 所有 chat | Project Instructions |
| 本 Project 所有 chat 都可访问的资料 | Project Files |
| 仅本次 chat | 当前 chat 消息里直接说 |
| 跨账号 / 多人共享的工作流 | Custom GPT |
放错层 = 泄漏或失效。
Step 2:决定本 Project 的 chat 之间该不该共享上下文
这是新的分叉点。打开 Project → Configure → Memory:
- 想让兄弟 chat 互相累积(研究日志、持续推进的项目)→ 保持 Default memory。
- 想让每个 chat 互相隔离、外部 memory 也别渗进来(客户项目、不同客户分开)→ 设为 Project-only memory。
Project-only memory 会挡住你的通用 / saved memories 进入这个 Project,把 Project 的上下文锁在 Project 内。注意:分享一个 Project 会强制它变成 Project-only,且无法改回 ——分享前先想清楚。
Step 3:debug”为什么这个 chat 不一样”时,五层都走一遍
1. 这条规则在 Project Instructions 里吗?
-> Project -> Configure -> Instructions
2. Project memory 模式是 Default 还是 Project-only?
-> Project -> Configure -> Memory
3. 账号的 "Reference chat history" 开着吗?
-> Settings -> Personalization -> Memory
4. 在 saved memories 里吗?
-> Settings -> Personalization -> Memory -> Manage memories
5. 在当前这个 chat 早些时候我自己说过吗?
-> 翻消息历史
五层都过一遍,才知道行为是从哪层来的。
Step 4:要跨 chat 持久保存信息,写进 Project,别指望 memory
- 短规则 ->
Project Instructions。 - 长资料 / 表格 / 文档 ->
Project Files。 - 跨 Project / 跨账号 -> Custom GPT Knowledge。
Project memory 是个便利功能,不是契约——它做的是摘要,不存原文。任何必须每轮都在的内容,都该放进 Instructions 或 Files。
Step 5:堵住跨 Project 的泄漏
如果某条 saved memory 老是干扰错的 Project:在 Manage memories 里删掉这条,或者把受影响的 Project 设成 Project-only,让账号 memory 够不着它。saved memories 只留真正通用的偏好(“回复简洁”、“用美式英文”),每月清一次。业务偏好(“用 React”)放 Custom Instructions,而不是 saved memories。
Step 6:高约束工作流移到 Custom GPT
Project + 普通 chat 对”必须 100% 遵守”的场景太松。客服话术、合规审核、固定输出模板 → Custom GPT:
- Instructions 权重更高。
- Knowledge 检索更确定。
- 分享后人人版本一致。
Step 7:需要一次干净运行时,在 chat 顶部声明边界
For this conversation, ignore my saved memories and custom instructions.
Follow only these rules:
1. ...
2. ...
Task: <X>
模型不会 100% 听话地”忽略 memory”,但显式声明能让权重明显倾向当前消息——再配一个 Project-only 的 Project,就是从源头去掉泄漏,而不是求模型去压制它。
怎么确认已经修好
- 在另一个 Project 跑同 prompt——它按那个 Project 的 Instructions 走、不带本 Project 的内容 = 隔离生效。
- 把某个 Project 设成 Project-only、删掉相关 saved memory,再跨 Project 跑——行为分叉 = 跨 Project 泄漏堵住了。
- 让同事在他们账号里这个共享 Project 跑相同 prompt——输出一致 = 配置确实定在 Project 层,而不是在你个人的 memory 里。
如果还是没修好
- 干净重建 Project:新建、复制(trim 后的)
Instructions、重新上传Files、设 Project-only memory、不带任何历史。 - 临时关掉 Reference saved memories 和 Reference chat history,重跑 prompt 对比——以此判断是不是某个账号级 memory 开关在泄漏。
- 换 Workspace(Personal vs Team)重跑,确认是不是工作区在干扰。
- 备好五层配置截图 + 行为差异对比,去 help.openai.com 提工单。
常见问题
现在同一个 Project 里的 chat 共享上下文了吗? 默认共享。自 2025 年 8 月 22 日起,Project 自带 memory,新 chat 能参考兄弟 chat。不想要就把 Project 设成 Project-only memory(这同时也会挡住你的通用 memory 进来)。2025 年前那条”chat 之间完全隔离”的规则已经不成立了。
为什么一个 chat 知道我只在另一个 chat 里说过的事?
要么是 Project memory(同一 Project 内的兄弟 chat),要么是账号级的 Reference chat history 开关(任意过往 chat)。先查 Project → Configure → Memory,再查 Settings → Personalization → Memory。
saved memories 和 “reference chat history” 有什么区别?
saved memories 是 ChatGPT 存下来的明确事实,你能在 Manage memories 里编辑。Reference chat history 是一个更宽、独立的开关,让新 chat 在没有明确存条目的情况下也能参考你过往的对话。两者在同一个 Memory 面板里各自独立控制。
我找不到 Project memory 设置,在哪?
Project → Configure(Project 的设置面板)里的 Memory 项。Default vs Project-only 的选择在你第一次创建 Project 时也会让你选。如果你压根没有任何 Project,说明你在 Free——Project 需要 Plus 或 Pro。
为什么有些回答里 Project 文件被忽略了?
文件是按需检索,不是每轮都加载。点名文件、或引用文件里一句独特的话让检索触发;“summarize spec.pdf” 比 “总结一下那份 spec” 管用。
分享一个 Project 会改它的 memory 吗? 会。分享会强制 Project 变成 Project-only memory,且改不回去。被分享的协作者看得到同样的文件、instructions 和 Project 内的 chat,但看不到你 Project 之外的个人 memory。
预防建议
- 固化当前的心智模型:saved memories + reference chat history = 账号全局;Custom Instructions = 全局风格;Project = 本 Project 共享的指令、文件和 memory;Chat = 当下这个对话。
- 加信息前先问”这该作用在哪个范围?“,按答案选层。
- 建 Project 时就刻意选好 memory 模式:累积型工作选 Default,隔离 / 敏感工作选 Project-only。
- saved memories 每月清一次,删过期或一次性条目。
- 任何”必须每轮都在”的内容放
Project Instructions或Project Files,别放 memory。 - 高约束工作流交给 Custom GPT,别在 Project 里硬刚。