MemoryLake
返回全部文章
News2026 年 10 月 10 日·12 分钟阅读

Claude Code Projects 向所有 Pro 和 Max 候补名单用户开放——项目记忆存储在哪里,以及哪些线程在启动时不会加载它 (2026)

2026 年 10 月 9 日,Anthropic 的开发者账号发布了一条简短的更新:“我们刚刚允许了 Claude Code Projects 候补名单上的所有 Pro 和 Max 用户加入!”第二条帖子则为其他人设定了预期:“我们将在容量允许的情况下,让更多 Pro 和 Max 用户加入。”

自那以后,大多数讨论都围绕着访问权限展开:为什么 Projects 没有显示在你的侧边栏中,以及谁符合资格。然而,在你加入一天后,下一个问题就会接踵而至——当某个线程重复了你昨天刚刚纠正的错误,或者你笔记本电脑上的本地线程似乎对该项目一无所知时。

答案就在 Anthropic 的官方文档中。一个项目拥有自己的记忆,以带有 MEMORY.md 索引的文件形式存储,这与 Claude Code 在你机器上保留的自动记忆以及你代码仓库中的 CLAUDE.md 文件是完全不同的存储库。它们影响着不同的线程。

我们在对 Claude Projects 重新设计的探讨中介绍了发布公告及其共享记忆的概念。而本指南则立足于官方文档:项目记忆究竟存储在哪里、什么会读取它,以及哪些线程在启动时不会加载它。

官方文档现在如何定义项目

Anthropic 的定义非常精炼:“项目是一个持续进行的对话,Claude 在其中为你协调一系列相关工作。”你将工作发送到该对话中,然后由 Claude 进行路由。

具体执行工作的单位是线程。文档将每个线程描述为“一个拥有独立上下文窗口的单独会话,它负责完成一项工作,并在结束时向主对话汇报”。这个起协调作用的主对话所拥有的视野可能比你想象的要窄:“它只看到线程汇报回来的内容,而不是它们采取的每一步。”

可用性仍处于分阶段释放状态。文档指出:“Projects 目前在 Pro 和 Max 计划中处于公开测试阶段,并正在逐步推出,首先从使用过云端会话且在 claude.ai 聊天或 Cowork 中没有现有项目的账户开始。”文档还提到:“它们目前还不适用于 Team 或 Enterprise 计划。”如果你在聊天或 Cowork 中有较旧的项目,它们目前将保持原样:“在重新设计的体验覆盖到这些项目之前,它们将继续像今天这样工作。”

每个云端线程都从相同的工具包开始。根据文档,该工具包包括项目的仓库和文件,加上“其指令和记忆”、项目每个仓库中的 CLAUDE.md 和技能、你 claude.ai 账户上的连接器,以及一个云端环境。其中有一行字将其他内容完全隔绝开来:“云端线程不会从你本地机器上的 Claude Code 设置中获取任何内容。”

这句话是第一个暗示:项目中的记忆并不是你已经拥有的本地记忆。

项目记忆存储在哪里

项目记忆是 Claude 在云端写入的一组文件

文档的上下文表格将项目记忆描述为“Claude 记录的关于项目的笔记,例如需求、决策和陷阱,并以文件形式存储”。它还说明了线程如何使用它:“每个云端线程在启动时都会读取索引文件 MEMORY.md,并在需要时打开其他文件。”

你可以看到这些文件。同一个表格中写道:“在‘项目设置 > 记忆’(Project settings > Memory)中读取、编辑和删除这些文件”,你也可以通过与 Claude 对话来修改它们:“在项目对话或任何云端线程中,要求 Claude 记住某个需求、决策或陷阱,或者忘记某个内容。”

在设置屏幕中,这些文件位于一个看起来很眼熟的标签下。“‘项目设置 > 记忆’在‘自动记忆’(Auto memory)下列出了这些文件,因为 Claude 在项目中工作时会自行写入这些内容。”

相同的文件名,三个不同的存储库

这就是人们容易感到困惑的地方。你本地机器上的 Claude Code 也会保留一个带有 MEMORY.md 索引的自动记忆。Anthropic 的记忆文档将其定位在 ~/.claude/projects/<project>/memory/,并直接指出了它的范围:“自动记忆是机器本地的。”它还补充道:“文件不会在机器或云端环境之间共享。”

项目文档则从另一侧划定了界限:“它们与 Claude Code 在你机器上保留的自动记忆是相互独立的,尽管两者都使用 MEMORY.md 索引。”

因此,项目有其专属的 MEMORY.md,你的笔记本电脑有另一个,两者互不相通。如果你花了几个月的时间让 Claude Code 在本地学习你的构建怪癖,那么这些学习成果将留在本地。我们的指南为什么 Claude Code 在另一台机器上会遗忘介绍了普通会话的这一边界;而项目则是该边界另一侧的又一个地方。

第三个存储库是由你编写的。“项目记忆也与项目仓库中的 CLAUDE.md 文件相互独立。”每个云端线程都会从其克隆中加载这些文件,Anthropic 为哪些内容该放哪里给出了一个清晰的规则:“将关于仓库的指令放在其 CLAUDE.md 中,将关于项目的笔记放在项目记忆中。”

然后是项目指令(project instructions),它们位于设置中相同的“记忆”部分,是其中最可靠的部分。表格将其描述为“发送给每个新线程以及项目对话中 Claude 的文本,最多 16,000 个字符”。

总而言之,一个项目的常驻上下文来自四个地方:

  • 仓库 CLAUDE.md 文件:由你编写并提交,每个云端线程都会从其克隆中加载这些文件。
  • 项目指令:由你在设置中编写,每个新线程都会接收到这些指令。
  • 项目记忆:由 Claude 在工作时写入,每个云端线程都会通过 MEMORY.md 读取。
  • 你机器的自动记忆:由 Claude 在你的笔记本电脑上写入,并保留在该机器上。

Claude 写入项目记忆,而它写入的内容是引导指南

项目记忆会自动填充。当你告诉协调器你希望如何运行工作时,“Claude 会自行将这些偏好保存到项目记忆中,并在随后的云端线程中遵循它们。”

文档对这些保存的偏好所占的分量持谨慎态度:“它们是 Claude 遵守的指令,而不是强制设置,因此你通过这种方式给出的线程限制并不是硬性上限。”如果某些内容必须字斟句酌并从第一个线程开始应用,Anthropic 建议你使用项目指令。

纠正错误也是如此。文档建议:“当你纠正一个线程时,也要告诉 Claude 记住这个纠正:它会进入项目记忆,随后的云端线程将以此开始。”否则,纠正只会存在于单次对话记录中,这就是为什么 Claude Code 会忘记你的纠正中所描述的普遍问题。

项目记忆还承担了长对话无法完成的工作。“你不需要在项目中管理上下文窗口。线程会自动压缩,对话会根据最近的消息、最近的线程和项目记忆(而不是完整的历史记录)来工作,因此只要项目在运行,它就会一直持续下去。”接下来的指示是页面上最实用的一行字:“将任何绝对不能丢弃的内容放入项目记忆中。”如果你想了解普通会话中压缩会保留和丢弃哪些内容,我们的自动压缩指南对此进行了详细介绍。

哪些线程在启动时不会加载它

你自己电脑上的线程

某些任务需要你的本地机器:本地数据库、模拟器或 VPN 背后的 API。对于这些任务,你可以要求项目通过远程控制(Remote Control)在你的电脑上运行一个线程。文档列出了发生的变化,其中有一点非常突出:这样的线程“在启动时会加载项目指令,但不会加载其记忆文件”。

它还“使用该机器上的文件、工具、MCP 服务器和 Claude Code 设置,包括其钩子和权限规则,而不是项目的云端环境”。换句话说,本地线程在启动时只带有你笔记本电脑的设置和项目指令,而 Claude 保存到项目记忆中的那些陷阱并不是它启动时的一部分。

A 本地线程是位于你机器上某个文件夹中的 Claude Code 会话,通过远程控制进行连接。我们对分叉远程会话的探讨解释了这些会话与从中创建的副本之间的关系。

线程在执行中途添加的仓库

云端线程可以拉入项目不包含的仓库。文档解释了这一时机:“克隆发生在任务执行的中途,因此在线程启动时,该仓库的 CLAUDE.md 和技能并不存在。下一个线程启动时也不会包含它。”

如果某个仓库的 CLAUDE.md 包含线程从第一步开始就需要遵守的规则,请将其添加到项目中。

更改设置时已经在运行的线程

“在项目设置中对指令、仓库、插件和环境的更改只会应用到新线程,而不会影响已经在运行的线程。”你在中午添加的指令将适用于 Claude 在中午之后启动的线程。

子智能体与项目边界

线程可以使用子智能体(subagents)来处理旁支任务,每个子智能体都在其独立的上下文窗口中运行,正如为什么 Claude Code 子智能体不共享记忆中所讨论的那样。外部边界是项目本身。“一个线程属于启动它的那一个项目。你无法将线程移动或复制到另一个项目,也无法将其移出以独立存在。”此外:“你无法将两个项目合并为一个。”项目也是个人专属的:“一个项目属于一个用户。你无法与其他用户共享项目或其线程。”

删除是不可逆的。删除操作将“永久移除项目及其线程、记忆和文件,并关闭项目的例行程序。此操作无法撤销”。

人们常犯的替代尝试

误以为本地自动记忆会随之而来。 它在设计上就是机器本地的,而云端线程是从项目的工具包开始的。

将仓库规则放在项目记忆中。 Anthropic 的划分更清晰:仓库规则放在 CLAUDE.md 中,项目笔记放在项目记忆中。

将口头提及的限制视为设置。 你口头表达的线程限制会被保存为偏好,而文档指出这并不是硬性上限。

期望对话记住所有内容。 它是根据最近的消息、最近的线程和项目记忆来工作的。

期望本地线程了解项目的陷阱。 它在启动时只加载指令,而不加载记忆文件。

通过删除项目来重新开始。 这也会删除 Claude 学到的内容。归档(Archive)才是可逆的选择。

解决方案:为每种上下文提供一个归宿,然后检查每个线程启动时加载的内容

步骤 1:将你所知道的内容分类到线程可以读取的三个地方

列出新线程应该知道的所有内容:分支规范、测试命令、已做出的决策、你遇到过的陷阱。然后对每个项目进行分类。

任何特定于单个仓库的内容(例如构建命令或代码风格)都放在该仓库的 CLAUDE.md 中。任何必须适用于每个线程且需要字斟句酌的内容,都放在项目指令中;Anthropic 建议的简要说明涵盖了项目的用途、工作发生的位置、线程如何检查其工作,以及哪些内容需要先获得你的批准。关于需求、决策和陷阱的不断演变的笔记可以保存在项目记忆中,由 Claude 进行维护。

步骤 2:像阅读文档一样阅读项目的记忆文件

打开“项目设置 > 记忆”,阅读 Claude 保存的内容。检查每个条目是否仍然正确,你随口提及的偏好是否确实是你想保留的,以及是否不小心保存了任何敏感信息。

如果发现错误,可以直接编辑文件,或者要求 Claude 忘记它。当决策发生变化时,在对话中说明并要求 Claude 更新记忆,这样下一个线程就不会根据旧版本工作。在最初的几个线程运行之后执行此操作,然后保持定期检查的节奏。

步骤 3:通过项目指令向本地线程提供简要说明

因为你电脑上的线程在启动时会加载项目指令,但不会加载记忆文件,所以本地任务必须知道的任何内容都属于指令或任务本身。在请求本地线程之前,请检查相关的陷阱是否仅存在于记忆中。如果是,请将简短版本移入指令中,或者将其粘贴到请求中。

对于线程按需添加的仓库,也要这样做:如果某个规则必须从第一步开始就存在,请将该仓库添加到项目中,以便在启动时加载其 CLAUDE.md。

在 MemoryLake 中进行设置

项目的记忆仅限于单个项目 and 单个用户,而你的笔记本电脑保留着另一个。如果相同的决策适用于多个项目、本地和云端工作,以及你使用的其他助手,那么将它们保存在不与其中任何一个绑定的地方会很有帮助。MemoryLake 是一个由你自行维护并连接到所用工具的记忆层。

你可以用自己的语言亲自编写这些条目。不会从你的项目记忆文件、机器的自动记忆或任何供应商的存储库中读取、写入或删除任何内容。

步骤 1:创建 API 密钥

登录并从控制面板生成一个密钥。该密钥属于你的 MemoryLake 工作区,与你的 Anthropic 账户相互独立。

MemoryLake 控制台显示 API 密钥屏幕,在此创建并复制新密钥以供智能体使用
MemoryLake 控制台显示 API 密钥屏幕,在此创建并复制新密钥以供智能体使用

步骤 2:上传你的第一批记忆

从那些超出单个项目生命周期的决策开始:架构选择、命名规则、过去修复背后的原因。每个条目记录一个决策,并注明日期,这样较新的条目就能明显替代较旧的条目。

已上传首批文档的 MemoryLake 工作区,列出了每个文件成为可搜索记忆时的状态
已上传首批文档的 MemoryLake 工作区,列出了每个文件成为可搜索记忆时的状态

步骤 3:连接你的 AI 和智能体

连接 Claude Code 和你使用的其他助手。这样,无论任务是在项目线程、本地会话还是完全其他地方运行,都可以在其中使用相同的决策。

MemoryLake 集成屏幕,列出了可以连接到记忆层的 AI 客户端和智能体框架
MemoryLake 集成屏幕,列出了可以连接到记忆层的 AI 客户端和智能体框架

这在实践中带来了哪些改变

第一个区别是重复纠正的次数减少了。保存到项目记忆中的纠正会传递到下一个云端线程,而不是仅留在单次对话记录中。

第二个区别是本地线程的可预测性。既然知道你电脑上的线程在启动时会加载指令但不会加载记忆,你就可以对其进行妥善的简要说明。

第三个区别是权责划分清晰。仓库规则与代码共存,项目规则存在于指令中,而 Claude 不断演变的笔记存在于记忆中,因此当出现问题时,你清楚该打开哪个文件。对于一般的本地和云端会话,我们的云端会话与本地设置指南列出了哪些内容会结转。

第四个区别是意外损失减少:你选择归档而不是删除,并保留一份对项目之外也至关重要的决策副本。

Claude Code Projects 中项目记忆的最佳实践

在第一批线程运行前编写项目指令。 每个新线程都会接收到它们,包括你电脑上的线程。

要求 Claude 记住纠正。 这就是修复方法传递到随后的云端线程的方式。

定期检查“项目设置 > 记忆”。 编辑或删除不再正确的条目。

将仓库规则保留在 CLAUDE.md 中,硬性限制保留在指令中。 口头表达的偏好会被保留,但不会被强制执行。

明确地向本地线程提供简要说明,并添加带有规则的仓库。 否则,两者在启动时都不会包含你可能以为存在的上下文。

选择归档而不是删除。 删除会永久移除线程、记忆和文件。

结论

Claude Code Projects 现已向所有加入候补名单的 Pro 和 Max 用户开放,其官方文档回答了获得访问权限后接踵而至的问题:项目如何保存它所学到的内容。

项目的记忆是 Claude 在云端写入的一组文件,由其专属的 MEMORY.md 进行索引,可在“项目设置 > 记忆”中读取和编辑,并且与你机器的自动记忆以及仓库的 CLAUDE.md 文件相互独立。每个云端线程在启动时都会读取它。而你电脑上的线程在启动时会加载项目指令,但不会加载其记忆文件。

为每种上下文提供一个归宿,检查 Claude 保存的内容,并通过指令向本地线程提供简要说明。这样,项目就会在关键的线程中记住你希望它记住的内容。

常见问题

什么是 Claude Code Projects?

Anthropic 将项目描述为“一个持续进行的对话,Claude 在其中为你协调一系列相关工作”。Claude 会为每个任务启动一个线程(通常作为云端会话),并在“概览”(Overview)面板中跟踪它们。

现在谁可以使用 Claude Code Projects?

Projects 目前在 Pro 和 Max 计划中处于公开测试阶段。2026 年 10 月 9 日,Anthropic 允许了候补名单上的所有 Pro 和 Max 用户加入,并表示将在容量允许的情况下允许更多用户加入。文档指出,Projects 目前还不适用于 Team 或 Enterprise 计划。

在 Claude Code Projects 中,项目记忆存储在哪里?

项目记忆以文件形式存储,由 Claude 在工作时写入,并由 MEMORY.md 文件进行索引。你可以在“项目设置 > 记忆”中读取、编辑和删除它们,或者要求 Claude 记住或忘记某些内容。

项目记忆与 Claude Code 的自动记忆相同吗?

不同。Anthropic 的文档指出,项目记忆文件“与 Claude Code 在你机器上保留的自动记忆是相互独立的,尽管两者都使用 MEMORY.md 索引”。本地自动记忆是机器本地的。

我自己电脑上的线程会使用项目记忆吗?

根据文档,你电脑上的线程“在启动时会加载项目指令,但不会加载其记忆文件”。请将本地任务必须知道的任何内容放入项目指令或任务本身中。

当我删除项目时,项目记忆会发生什么?

删除项目将永久移除该项目及其线程、记忆和文件,Anthropic 指出此操作无法撤销。而归档则是将项目隐藏,并且是可逆的。