Claude Projects:上下文在会话间串台

同一个 Claude Project 下新开 chat,却答出上一个 chat 的内容。会串台的有五个面:project knowledge、Instructions、project memory、Search and reference chats、connected sources——先判断是哪个,再对症修。

你在某个 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 memorySettings -> Capabilities -> View and edit memory
Claude 逐字引用某份文档Project knowledge(Files)Project 页面的 Files
Claude 遵守一条你没要求的规则(「永远引用 Acme 合同」)Project instructionsProject 页面的 Instructions
Claude 说「你在之前的对话里说过……」而且大致没说错Search and reference chatsSettings -> Capabilities -> Preferences
Claude 读了你没粘贴的文件/代码Connected sourcesProject 设置里的 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 -> PreferencesSearch 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 -> CapabilitiesView 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 -> PreferencesSearch 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 只写耐久规则(「用中文回复」「简洁一点」),不写话题特定的事实。
  • 定期清 Filesproject 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 附件。

相关

标签: #Claude #排查 #Projects