你在某个 Claude Project 里新开了一个 chat 想问 B 话题,Claude 却一直引用 A 话题的内容——那是两天前你在同一个 Project 里的另一个 chat。更糟的是它会冒出某个客户名或代码路径,本不该出现在这次任务里。这不是 bug,Project 这套设计本来就会跨 chat 共享上下文;而到了 2026 年,它共享的途径有五个,不止一个。
最快的修法: 2026 年最常见的元凶是 project memory——每个 Project 都有一份自动合成的 memory 摘要,会把这个 Project 下所有 chat 里的事实汇到一起。打开 Settings -> Capabilities,点 View and edit memory,切到出问题那个 Project 的 memory,删掉那条污染内容(或者对该 Project 选 Pause memory),再开一个新 chat。如果还没清掉,就照下面的表往下排查。
到底是哪一面在串台?(判断表)
在一个 Project 里跨 chat 共享上下文的东西有五样。动手删之前先确认是哪一个。
| 症状 | 可能的来源 | 去哪里看 |
|---|---|---|
| Claude 说出一个你从没放进文件的事实(例如「你之前提到你面向的是 CFO」) | Project memory | Settings -> Capabilities -> View and edit memory |
| Claude 逐字引用某份文档 | Project knowledge(Files) | Project 页面的 Files 区 |
| Claude 遵守一条你没要求的规则(「永远引用 Acme 合同」) | Project instructions | Project 页面的 Instructions |
| Claude 说「你在之前的对话里说过……」而且大致没说错 | Search and reference chats | Settings -> Capabilities -> Preferences |
| Claude 读了你没粘贴的文件/代码 | Connected sources | Project 设置里的 Connected sources |
| 你消息上面已经有历史 turn | 你其实在旧 chat 里 | URL /chat/<id> 对侧栏 |
常见原因
按 2026 年的命中率从高到低排。
1. Project memory 把事实带到了这个 Project 的每个 chat
这是最大的一个,也是原来的指南里没有的新变化。Claude 现在给每个 Project 单独存一份 memory 摘要,从你在该 Project 里的 chat 自动合成(Anthropic 大约每 24 小时跑一次合成)。所以哪怕 Files 是空的、Instructions 也精简了,B 话题的 chat 还是会被你之前讲过的 A 话题带偏——是 memory 记住了它。
范围上有个好消息:按 Anthropic 文档,Project 外的 standalone chat 的 memory 不会漏进 Project,每个 Project 的 memory 之间也互相隔离。你看到的串台是在同一个 Project 自己的 memory 里。
怎么判断: Settings -> Capabilities -> View and edit memory,切到对应的 Project。污染那条事实要是列在里面,元凶就是 memory。
2. Project knowledge(Files)里还留着上一话题的文档
Project 的 Files 区里的任何东西(上传的文件、粘贴的文本)对这个 Project 的每个 chat 都可用。A 话题的 spec PDF 还在里面,B 话题的 chat 就会被它带偏。(截至 2026 年 6 月,单个文件最大 30 MB;当 knowledge 总量逼近 context window 时,付费方案会自动切到检索模式、只拉它判断最相关的片段——所以一份你「早忘了」的文档还是会冒出来。)
怎么判断: 打开 Project 页面看 Files 区,列在里面的每一项都对每个 chat 生效。
3. Project instructions 里塞了话题特定的规则
Project 的 Instructions 字段会被前置到每个 chat。要是写了「永远引用 Acme 合同」,所有 chat 都继承,包括无关的。(这个字段大约能放 8,000 字符,很多人往里塞得太多。)
怎么判断: 打开 Project 点 Instructions,看完整文本。凡是话题特定的内容都在漏。
4. 「Search and reference chats」把旧 chat 拉了进来
付费方案(Pro、Max、Team、Enterprise)上,Search and reference chats 这个能力允许 Claude 检索你过去的对话、把片段引进当前 chat。在一个 Project 里,这个检索被限定在该 Project 的 chat 范围内——所以 B 话题的 chat 能引到 A 话题的 chat。它一般只在你要求时才触发,但一句含糊的提问(「我们当时定了啥?」)就可能把它勾起来。
怎么判断: Settings -> Capabilities -> Preferences。Search and reference chats 那个开关如果是开的,它就有嫌疑。
5. 你以为开的是新 chat、其实接着旧 chat
Claude 界面上点错按钮,有时会把一个旧 chat 当新的打开。侧栏里高亮哪一项,你就在哪一项里。
怎么判断: 看 URL—— /chat/<id>,再对侧栏选中项。如果你最新消息上面已经有历史 turn,这就不是新 chat。
6. 长会话里换话题,前面的 turn 全在 context 里
单一 chat 里就算你滚到上面新起一个话题,Claude 看到的还是从最早到最新所有 turn。chat 不会在换话题时自动重置。
怎么判断: 往上滚一下。你最新消息上面有 30+ 条别话题的 turn,那些都在 context 里。
7. 连接的来源(GitHub、Google Drive)把旧内容重新拉进来
如果你把某个 repo 或 Drive 文件夹连到了 Project,Claude 在 chat 时会重新读。更新过的文档能看到,但同来源里的无关内容也会被看到。
怎么判断: Project 设置 → Connected sources。列出来的每一个都可能在 scope 内。
开始前
- 想清楚目标:是彻底清理 Project,还是只在这一次隔离(开一个全新 chat,或者做 standalone 工作时用
Incognito chat)。 - 删 Files 里的东西之前先把重要的备份一下——上传的文件不一定能恢复。
- 区分泄漏是只影响一个 chat 还是所有 chat,前者改本次 chat、后者改 Project。
- 记住那个不可逆的按钮:memory 设置里的 Reset memory 会永久删掉所有 memory,包括所有 project memory。优先用单条删除或 Pause memory。
需要收集的信息
- 那段污染性引用的原文(便于到 memory 和 Files 里搜)。
- 出问题的 chat 是哪一条(带 chat id 的 URL)。
- 该 Project 的 Instructions 完整文本。
- Files 清单和 Connected sources 清单。
- Search and reference chats 是否开着(
Settings -> Capabilities -> Preferences)。 - 当前 chat 是真的新 chat(上方无历史 turn)还是长会话。
一步一步修复
Step 1:先确认它真的是「新」chat
看一眼这个 chat:如果你消息上面已经有 turn,那就不是新的——点 Project 名再点 Project 里的 New chat。URL 应该变成一个全新的 chat ID,上面没有任何历史消息。
Step 2:清掉或暂停污染的 project memory
这一步是多数旧指南漏掉的。打开 Settings -> Capabilities 点 View and edit memory,切到出问题那个 Project 的 memory 摘要,然后选其一:
- 删掉具体那几条污染条目(点某一项即可编辑或删除),或
- 对该 Project 打开 Pause memory(保留现有 memory,但不再让 Claude 写新的),或
- 万不得已才用 Reset memory——但它会抹掉所有 project memory,不是只删一个,而且不可逆。
改完 memory 后开一个全新 chat,让注入的是更新过(更小)的那份摘要。
Step 3:读一遍 Project 的 Instructions
打开 Project 点 Instructions。里面只要有话题特定的内容(「把用户当 Acme 的 CFO」「永远参考 Q3 上线计划」)就是污染源,会被前置到所有 chat。要么:
- 把话题特定的那几行删掉,只留耐久规则,或
- 把这次 chat 移出 Project。
Step 4:审一遍 Files 区
打开 Project 的 Files 区。对每一项问自己「这个东西应该出现在这个 Project 的每一个 chat 里吗?」否的话就删。常见嫌疑:
- 只为某一次 chat 上传的 spec PDF
- 粘贴进来的早期对话转录
- 已经不相关的老合同、客户 brief
Project knowledge 是跨 chat 共享的——不是 per-chat。
只对一个 chat 相关的文档应该直接 attach 到那个 chat 里。
Step 5:关掉「Search and reference chats」(或者把 prompt 写得更精确)
如果泄漏读起来像是从某个旧 chat 引用过来的,去 Settings -> Capabilities -> Preferences 把 Search and reference chats 关掉。要是你想全局保留这个功能,那就在污染的 Project 里避免用「我们当时定了啥?」这种开放式提问——这类提问会引诱 Claude 去翻旧 chat。
Step 6:单次需要的文档用「chat 内附件」而不是 project knowledge
某份文档只对一次 chat 有用,就直接在 chat 消息里通过回形针图标加进去,只影响这个 chat、不污染整个 Project。
Step 7:敏感话题分到不同 Project
如果你真有两批内容绝对不该混(A 客户 vs B 客户、工作 vs 个人),就开两个 Project。project memory 和 knowledge 都是按 Project 隔离的,分开的 Project 互不串台;共用一个 Project 永远会交叉污染。
Project: Acme Q3 上线 -> Files: 上线 brief、deck、对外沟通
Project: Beta 内部工具 -> Files: repo 文档、RFC、ADR
Step 8:真正敏感的一次性问题用 Incognito chat
如果某个问题你完全不想被存进 memory 和历史,就在任何 Project 之外开一个 chat,点右上角的幽灵图标进入 Incognito chat(出现黑色边框和「Incognito chat」标签就对了)。注意限制:截至 2026 年 6 月,Incognito 只能用于 Project 外的 chat——在 Project 里你看不到那个幽灵图标。
Step 9:把 connected sources 关掉或缩窄范围
Project 设置 → Connected sources。连接了一个特别大的 GitHub repo,Claude 检索时会把无关文件拉进 context。要么直接断开,要么缩到具体路径(看 connector 是否支持)。
怎么验证修好了
- 在 Project 里开新 chat,问元问题:「你现在从这个 Project 里看到了哪些 context?」Claude 应该只描述当前应在 scope 内的东西。
- 做一次对照:问 A 话题——如果 A 确实是这个 Project 的主题,Claude 仍应知道 A,但不该再带已删掉的 knowledge 或 memory 的残影。
- 重跑原来出问题的那条 prompt,泄漏的关键词不应再出现。
- 等几分钟再试一次。memory 合成是按周期跑的(大约每天一次),Files 背后的索引在删除之后也要一小会儿才刷新。
长期预防
- 一个 Project 一个话题,别什么都往一个「Personal」Project 里塞。
- 单次用的文档走 chat 附件,不要往 project knowledge 塞。
- Project Instructions 只写耐久规则(「用中文回复」「简洁一点」),不写话题特定的事实。
- 定期清 Files 和 project memory,每季度删一次过期上传和过时的 memory 条目。
- 给客户工作的 Project 加客户前缀做名字,避免不小心在错的 Project 里 chat。
- 把 project knowledge 和 memory 当「永远在的背景」,chat 才是「今天的焦点」。
容易踩的坑
- 误以为「新 chat = 一张白纸」——在 Project 里永远不是,project memory 和 Files 都还在。
- 忘了 project memory 的存在。只清了 Files 不清 memory,2026 年最常见的泄漏还原封不动。
- 把对话转录粘进 Instructions 以为这样能「记住」,结果是污染了每个 chat。
- 把整个 GitHub org 接到 Project 当来源,范围太大。
- 为了修一个 Project 去点 Reset memory,结果把所有 Project 的 memory 都误删了。
- 删了一份 knowledge 文件没等索引刷新,Claude 还会引用一小段时间。
- 把 chat 延续(per-chat)、project memory(per-Project)、standalone memory(Project 外)混为一谈——三种完全不同的范围。
常见问答
- Claude 为什么会引用一个我从没上传的东西? 几乎一定是 project memory。每个 Project 都存一份从你在里面 chat 合成的 memory 摘要。去
Settings -> Capabilities -> View and edit memory编辑。 - 删一个 chat 会从 Project 记忆里清掉它的内容吗? 不会。删 chat 只是把它从历史里删掉。相关事实可能早被 project memory 吸收了,要到 memory 设置里单独清。
- Project 外的 standalone memory 会漏进我的 Project 吗? 不会。按 Anthropic 文档,standalone memory 和 project memory 互相隔离,每个 Project 的 memory 也彼此独立。
- 能不能在 Project 里用 Incognito chat 来避开污染? 不能。截至 2026 年 6 月,Incognito 只能用于 Project 外的 chat。Project 里就用「新 chat + 清过的 memory」。
- 为什么 Claude 有时会「忘」project knowledge? 两个原因:长 chat 里 context window 压力会把早期内容摘要丢掉;knowledge 总量大时,付费方案会切到检索模式、只拉它判断相关的片段。开新 chat,或者把相关文件做得更明显切题。
- 能不能让 knowledge 只对某些 chat 生效? project knowledge 不行。一次性文档走 chat 附件。