ChatGPT 有四层上下文:全局 Memory、Custom Instructions、Project(指令 + 文件)、当前 Chat(消息历史)。Project 是壳,包住下面所有 chat;每个 chat 又有自己临时的消息状态。“我在 Project 里设了,但 chat 里不生效”几乎都是搞错了哪层影响哪层——Project 共享指令和文件,但不共享消息;Memory 跨所有 Project;Custom Instructions 在所有非 Custom GPT 场景生效。理解清楚四层之后,“为什么这个 chat 行为不一样”就有了系统化的排查路径。
常见原因
按命中率从高到低:
1. 期望同 Project 不同 chat 共享消息历史
最常见的误解。Project 里的 chat A 说过”客户名叫张三”,chat B 完全不知道。模型不读其他 chat 的消息——只读当前 chat + Project Instructions + Files + Memory。
如何判断:在 chat B 问”上一个 chat 我说的客户叫什么” → 答不出来 = 这是 by design。
2. Memory 跨 Project 影响行为
Memory 是账号级的,所有 Project 共享。你在 Project A 让模型”始终用 Python”被存到 Memory,到 Project B 它还会偏 Python。
如何判断:Settings → Personalization → Manage memories 看条目。出现的偏好和 Project B 主题无关 = Memory leak。
3. Personal Custom Instructions vs Team Workspace Project
Personal Workspace 写的 Custom Instructions 在 Team Workspace 的 Project 里可能不生效;反之 Team 工作区的设置 Personal 里没有。
如何判断:在 Personal Workspace 和 Team Workspace 各跑同 prompt,行为不同 = 工作区隔离。
4. Project 文件按需检索,不是每轮塞入 context
Project 里挂了文件 ≠ 每个 chat 每轮都看。模型只在问题相关时才会拉文件 chunk。
如何判断:让 chat 里问”列出 Project 里所有文件名”。能列出 = 看得到;问内容相关问题时却引不到 = 检索没触发。
5. Custom Instructions 在不同 chat 表现不一致
Custom Instructions 永远生效,但权重不如 Project Instructions + 当前用户消息。具体某个 chat 因为消息太强压了它,看起来”忘了 Custom Instructions”。
如何判断:在 chat 第一句说”忽略所有先前规则,只用 X” → Custom Instructions 在那轮被压 = 这是设计。
6. Pin 一个 chat 不改它的作用域
把 chat 从侧边栏 pin 上去只是 UI 行为——不会让它跨 chat 共享上下文,也不会让它”权重更高”。
如何判断:Pin 前后行为完全一样 = 没改作用域。
7. Custom GPT 和 Project 不互通
Custom GPT 有自己独立的 Knowledge + Instructions,不读 Project 的任何东西。在 Project 内调用 Custom GPT,它行为按 GPT 的规则、不按 Project。
如何判断:在 Project 里 @ Custom GPT 提问,得到的回答和 Project 期望差异大 = 两套规则各自生效。
动手前先确认
- 确认问题是在 Projects(不是 Custom GPT / 普通对话)里出现,并搞清楚是哪种”看似不一致”。
- 复现前把当前对话复制一份,避免清掉历史影响下次诊断。
- 确认订阅 + 工作区:Personal vs Team 在 Custom Instructions / Memory 行为上差异明显。
需要收集的信息
- Project 名 + Project Instructions 截图 + Files 列表。
- Settings → Personalization → Memory 当前条目 + Custom Instructions 全文。
- 出现行为差异的两个对比场景(例:Project 内 chat A vs B / Project 内 vs 外 / Personal vs Team)。
- 完整 prompt 文案 + 两边回答截图对比。
- 当前模型 + 工作区类型。
最短修复路径
按收益从高到低,前 2 步通常修 70% 问题。
Step 1:分清楚信息应该放哪一层
按生效范围对应放:
| 你想让信息生效的范围 | 放哪里 |
|---|---|
| 全平台所有 chat、所有 Project | Settings → Personalization → Memory / Custom Instructions |
| 仅本 Project 所有 chat | Project Instructions |
| 本 Project 所有 chat 都可访问的资料 | Project Files |
| 仅本次 chat | 当前 chat 消息里直接说 |
| 跨账号 / 多人共享的工作流 | Custom GPT |
错位放置 = leak 或失效。
Step 2:debug”为什么这个 chat 不一样”按顺序排查
四层走一遍:
1. 这条规则在 Project Instructions 里吗?
→ 开 Configure → Instructions 看
2. 在 Custom Instructions 里吗?
→ Settings → Personalization → Custom Instructions
3. 在 Memory 里吗?
→ Settings → Personalization → Manage memories
4. 在当前 chat 早些时候我自己说过吗?
→ 翻消息历史
每一层都 check 一遍才能定位”行为来自哪里”。
Step 3:跨 chat 共享信息——写进 Project Instructions 或 Files
不要试图让 chat A 的内容传到 chat B。要持久就写到:
- 短规则 → Project Instructions
- 长资料 / 表格 / 文档 → Project Files
- 跨 Project 跨账号 → Custom GPT Knowledge
Step 4:跨 Project 偏好用 Memory,但定期 review
跨多个 Project 都成立的偏好(“回复简洁”、“用 zh-CN”)放 Memory。但 Memory 不是想加就加:
- 每月 Manage memories 看一次条目
- 删过期 / 一次性场景的偏好
- 业务偏好(“用 React”)放 Custom Instructions 而不是 Memory
Step 5:高约束工作流移到 Custom GPT
Project + 普通 chat 的组合对”必须 100% 遵守”场景不够稳。客服话术、合规审核、固定输出模板 → Custom GPT:
- Instructions 优先级更高
- Knowledge 检索更稳
- Share 给团队人人版本一致
Step 6:在 chat 顶部声明本次任务边界
防止跨 Project 配置 leak 影响当前任务:
Ignore my Custom Instructions and Memory for this conversation.
Only follow these rules:
1. ...
2. ...
Task: <X>
虽然模型可能不会 100% 听”ignore Memory”,但 prompt 里显式声明能让权重在当前消息明显倾斜过来。
怎么确认已经修好
- 在另一个 Project 跑同 prompt,行为按那个 Project 的 Instructions 走,不带当前 Project 的内容 = 隔离生效。
- 把规则改成只在 Project Instructions 里,删 Memory 里相关条目,跨 Project 跑同 prompt 行为不同 = 跨 Project 隔离修好。
- 让同事在他们账号的相同 Project(共享后)跑相同 prompt,行为一致 = 配置确实定在 Project 层。
如果还是没修好
- 完全重建 Project:新建 + 复制(trim 后的)Instructions + 重新上传文件,不带任何老 chat / 配置历史。
- 临时关 Memory + Custom Instructions 跑同 prompt,对比有没有变化,定位 leak 源头。
- 换 Workspace:Personal 跑同 prompt vs Team,确认是不是工作区在干扰。
- 准备好四层配置截图 + 行为差异对比,去 help.openai.com 提工单。
预防建议
- 心智模型固化:Memory = 全局;Custom Instructions = 全局风格;Project = 本 Project 共享指令 + 文件;Chat = 本次对话临时状态。
- 每周用一次”我打算让 X 生效在哪个范围?“的问题决定信息放哪一层。
- Memory 每月清理一次,删过期 / 一次性场景偏好。
- 不要指望同 Project 不同 chat 共享消息——共享的资料写到 Project Instructions / Files。
- 高约束场景一律 Custom GPT,不要在 Project 里硬刚。