Claude 项目包含的内容
Claude 聊天中的项目有四种上下文,每种的存储方式都不同。
项目指令 (Project instructions)。Anthropic 的帮助中心表示“Claude 将在项目内的所有聊天中使用这些指令”。它们是常驻简报:语气、角色、规则。
项目知识 (Project knowledge)。您上传的文件。“您上传到此空间的任何内容都将用于该项目内的所有聊天。”在付费计划中,大型知识库会切换到检索模式,我们的 RAG 模式下的 Claude 项目指南对此进行了说明。
项目聊天 (Project chats)。项目内的对话。帮助中心增加了一个重要提示:“除非将信息添加到项目知识库中,否则上下文不会在项目内的聊天之间共享。”
项目记忆 (Project memory)。“每个项目都有自己的记忆。”当您在项目中工作时,Claude 会将该记忆与您在项目之外的聊天记忆一起使用,并且新的记忆会保存到该项目中。
当您迁移到 Claude Code 时,其中的每一项都需要一个目的地,而目的地取决于您使用的 Claude Code 版本。
Claude Code 存放项目上下文的位置
在 claude.ai/code 的新版 Projects 中
Anthropic 正在“分阶段推出新版项目,从 Claude Code 开始”。用帮助中心的话说,“一个项目就是一个对话:你随口说出你的需求,Claude 会将工作分解为在云端运行的并行线程。”它补充道:“每个线程都以项目的文件、存储库、指令和记忆开始”。
Claude Code 文档列出了这些上下文的存放位置:
- 项目记忆 (Project memory):“Claude 记录的关于项目的笔记,如需求、决策和陷阱,以文件形式存储。”每个云端线程启动时都会读取索引文件
MEMORY.md。 - 项目指令 (Project instructions):“发送到每个新线程以及项目对话中的 Claude 的文本,最多 16,000 个字符。”
- 存储库、文件和环境:每个线程克隆的存储库、它可以读取的文件以及它运行的云环境。
新版 Projects 可在 claude.ai/code、桌面应用和 Claude 移动应用中使用。文档的限制部分补充说,它们在“终端 CLI、VS Code 扩展或 JetBrains 插件”中不可用。我们的 Claude Code Projects 和项目记忆指南涵盖了进入后该记忆如何工作。
在您机器上的 Claude Code 中
在终端中,Claude Code 从文件中读取上下文。记忆文档列出了作用域:
- 项目指令 位于
./CLAUDE.md:“项目的团队共享指令”,通过版本控制与团队成员共享。 - 本地指令 位于
./CLAUDE.local.md:“个人项目特定偏好;添加到.gitignore”。 - 用户指令 位于
~/.claude/CLAUDE.md:“所有项目的个人偏好”。 - 自动记忆 (Auto memory):由 Claude 自行编写,涵盖“您的偏好、您给 Claude 的纠正、Claude 无法从代码中推导出的项目上下文”。
存储库也是存放与代码相关的知识文件的地方:规范、架构说明、API 参考。Claude Code 会在任务需要时读取它们。
Anthropic 的迁移涵盖了什么
帮助中心在关于现有项目的部分描述了这次迁移:“我们已经开始为部分 Pro 和 Max 用户将现有项目迁移到新版本。迁移过程中不会丢失或删除任何内容。项目中的所有内容都会随之迁移:您的指令、文件、完整的聊天记录和计划任务。您将从上次中断的地方继续。”
还有两句话决定了这是否适用于您。“如果您在过去 30 天内使用过现有项目,我们会在迁移您的项目之前给您发邮件。”以及:“聊天和 Cowork 中的其他现有项目目前保留在当前版本,我们将随着滚动更新的扩大而迁移它们。”
Claude Code 文档给出了滚动更新的另一面。访问权限“从使用过云端会话且在 claude.ai 聊天或 Cowork 中没有现有项目的账户开始”,早期的项目“将继续像今天一样工作,直到重新设计的体验覆盖到它们”。我们的 Projects 重新设计指南涵盖了该计划最初是如何宣布的。
迁移项目随附的列表提到了指令、文件、聊天记录和计划任务。它没有明确提到项目记忆,因此在迁移后,请打开项目的记忆并检查您依赖的内容是否在那里。
迁移本身无法解决的问题
即使您的项目完成了迁移,仍有一些事情值得刻意去做。
仅存在于聊天中的决策。 迁移后的项目会带走聊天记录,但新线程是从项目的文件、指令和记忆开始的。您三周前在某次聊天中达成的决策存在于历史记录中;线程是否以它开始,取决于它是否进入了记忆或指令。
存储库规则。 新版 Projects 将项目指令与每个存储库的 CLAUDE.md 分开。文档称:“关于一个存储库的规则,例如其构建命令,属于该存储库的 CLAUDE.md”。云端线程读取根目录的 CLAUDE.md,但“子目录中的 CLAUDE.md 文件和特定路径的规则不会被加载”。
终端中的工作。 新版 Projects 不在终端 CLI 中运行。如果您在那里构建,项目的上下文必须到达存储库。
人们首先尝试的方法
等待迁移。 它是分阶段推出的,Anthropic 表示其他项目目前保留在当前版本。
将每个知识文件都上传到存储库。 有些属于那里;而其他的,如会议记录或定价方案,是上下文而非代码,会给每个会话增加噪音。
不加修改地将项目指令粘贴到 CLAUDE.md。 为聊天编写的指令(例如要求 Claude 扮演高级产品经理)通常不适合编码代理(agent),而且过长的 CLAUDE.md 文件会加载到每个会话中。
期望项目记忆出现在终端中。 终端会话使用您机器上的自动记忆,这是一个独立的存储库。
手动迁移
第 1 步:盘点项目
打开项目并写下四个列表:
- 指令:将项目指令复制到文本文件中。
- 知识文件:列出每个文件并决定它是关于代码的(规范、模式、架构说明)还是关于周围工作的(研究、计划、笔记)。
- 聊天中的决策:浏览项目最近的聊天,为每个决策写一行,并注明原因:确定了什么,排除了什么,还有什么是待定的。
- 项目记忆:打开项目页面上的 Memory,记录 Claude 在那里保存的您想要保留的内容。
决策列表是人们最容易跳过的部分,也是最重要的部分。请记住帮助中心的提示:除非在项目知识中,否则上下文不会在项目的聊天之间共享。
第 2 步:选择项目的存放位置
如果您在 claude.ai/code 中拥有新版 Projects,特别是如果您的项目已经迁移,项目的指令和文件可以留在项目中。添加开展工作的存储库。您的任务是检查记忆和指令,并将特定于存储库的规则移入存储库中。
如果您在终端中工作,或者还没有新版 Projects,存储库就是目的地。选择大部分工作发生的存储库。
第 3 步:将每个部分放在 Claude Code 会读取的地方
对于新版 Projects:
- 迁移后检查项目记忆,并在项目对话中要求 Claude 记住第 1 步列表中缺失的任何需求或决策。
- 精简项目指令,只保留每个线程应该开始的简报。
- 将存储库规则移至每个存储库根目录的 CLAUDE.md,以便每个云端线程都能读取它们。
对于终端中的 Claude Code:
- 将项目指令重写为 CLAUDE.md 的一个章节。 保留适用于代码的内容:约定、架构、工作流。将个人偏好放入
CLAUDE.local.md或~/.claude/CLAUDE.md。 - 将与代码相关的知识文件添加到存储库的
docs/文件夹中,并在 CLAUDE.md 中指向它们。 - 将决策记录在会加载的地方。 确定的规则放入 CLAUDE.md。Claude 无法从代码中推导出的上下文(例如为什么拒绝某种方法)可以放入自动记忆:在您的第一个会话中告诉 Claude 记住它。
- 开始一个会话并要求 Claude 在编写代码之前总结它对项目的了解。
保持 CLAUDE.md 简短。我们的 Claude Code 子目录 CLAUDE.md 限制指南涵盖了较长指令文件的加载方式。
更好的方法:将项目决策保存在一个超越项目容器的列表中
手动迁移是有效的,Anthropic 的迁移也帮助了那些获得权限的人。两者都显示出相同的模式:项目最有用的上下文(决策和约束)不断在新的容器中重建。聊天项目记忆、云项目记忆、CLAUDE.md 和自动记忆是存放重叠事实的四个地方,当您在 ChatGPT 或 Codex 中进行规划或审查时,您又要重新解释这些决策。
MemoryLake 是一个记忆层,用于将这些决策保存在一个由您维护的列表中,可供 Claude Code 以及您连接的其他助手(如 ChatGPT 和 Codex)使用。
您可以用自己的语言亲自编写条目。您的 Claude 项目、项目记忆、自动记忆、CLAUDE.md 文件或任何供应商的存储库中都不会有任何内容被读取、写入或删除。对于工作内容,请遵循您组织关于在工具之外保留内容的政策。
第 1 步:创建 API 密钥
登录并从仪表板生成密钥。该密钥属于您的 MemoryLake 工作区,与您的 Claude 账户是分开的。

第 2 步:上传您的第一批记忆
从手动迁移第 1 步中的决策列表开始:确定了什么、原因以及排除了什么。每个条目一个决策,注明日期,并贴上所属项目的标签。

第 3 步:连接您的 AI 和代理
连接 Claude Code 和您使用的其他助手。下一次会话(无论是在终端还是在云端线程中)都将从触手可及的决策开始。

这在实践中改变了什么
第一个区别是构建从项目的推理开始,而不仅仅是文件。Claude Code 知道决策了什么以及原因。
第二个区别是每个部分都落在了正确的位置。存储库规则留在存储库中,项目笔记留在项目记忆或自动记忆中,个人偏好保持私有。
第三个区别是下一次迁移会更容易。当滚动更新覆盖到您的其他项目,或者您将项目的工作转移到 ChatGPT 时,决策已经存在于任何单一容器之外。
将 Claude 项目迁移到 Claude Code 的最佳实践
首先写下决策。 它们是最容易留在旧聊天记录中的部分。
自动迁移后检查项目记忆。 迁移列表没有明确提到它。
将存储库规则放入存储库。 放在根目录的 CLAUDE.md,这样云端线程和终端会话都能读取它。
将代码知识与工作上下文分开。 规范放入仓库;会议记录则不需要。
不要将个人偏好放入共享的 CLAUDE.md。 使用 CLAUDE.local.md 或您的用户文件。
在 Claude 构建之前要求它重述项目。 这是检查上下文是否到达的最快方法。
如果 Claude 即使在聊天中也忘记了项目文件,我们的 Claude 项目忘记知识文件指南涵盖了该问题。
结论
Claude 项目包含指令、知识文件、聊天及其自身的记忆。Anthropic 正在将一些现有项目迁移到首先在 Claude Code 中发布的新版本中,并表示迁移中不会丢失任何内容。随附的内容列表提到了指令、文件、聊天记录和计划任务。新版 Projects 不在终端 CLI 中运行,其他项目目前保留在原处。
无论您的项目是自动迁移还是您手动迁移,同样的工作仍然存在:写下决策,将存储库规则放入 CLAUDE.md,检查记忆中包含的内容,并在 Claude 编写代码之前要求它重述项目。