实际迁移了什么
ChatGPT 项目包含什么
OpenAI 的帮助中心指出:“项目将相关的对话、文件和指令整合在一起。”在实践中,这包含四个方面:
- 源文件(Sources)。 您上传的文件、来自 Google Drive 或 Slack 的链接,以及您通过“保存到项目”选项保存的对话回复。
- 指令(Instructions)。 “项目指令仅在该项目内适用,并会覆盖您的全局自定义指令。”
- 对话(Chats)。 在项目中发起的所有对话,它们可以相互引用。
- 项目记忆(Project memory)。 根据设置,对话会借鉴项目中的其他对话;在默认记忆设置下,还会借鉴您保存的记忆。
最后一点是最难迁移的,因为您无法直接看到它。帮助中心的常见问题解答(FAQ)中问道:“我可以查看我的项目记忆列表吗?”并回答道:“不能。项目记忆不会像个人记忆那样显示记忆列表。”项目所学到的内容分散在各个对话中。我们关于 ChatGPT 项目记忆模式的指南详细解释了默认和仅限项目(project-only)的设置。
Codex 读取什么
Codex 从文件夹开始运行。在桌面应用中,“本地项目允许对话访问您计算机上的一个或多个文件夹,例如源文件集合或代码库。”在终端中,“Codex CLI 将您启动它的目录视为该对话的项目。”
指令来自文件,而不是设置字段。“Codex 在执行任何工作之前都会读取 AGENTS.md 文件”,并且“Codex 在启动时会构建一个指令链(每次运行构建一次;在 TUI 中,这通常意味着每次启动会话构建一次)”。该指令链有大小限制:Codex “一旦合并大小达到 project_doc_max_bytes(默认 32 KiB)定义的限制,就会停止添加文件”。我们关于 Codex 忽略 AGENTS.md 规则的指南介绍了超出限制时会发生什么。
可重用的程序可以转化为技能。“技能是一个包含 SKILL.md 文件以及可选脚本和参考资料的目录”,并且“对于代码仓库,Codex 会扫描从当前工作目录一直到仓库根目录的每个目录中的 .agents/skills。”
OpenAI 官方指南对于任何需要长期保留的内容也给出了相同的建议:“将持久的项目指南保存在 AGENTS.md 或已提交的文档中,以便后续对话使用。”
两者在桌面应用中的交汇点
桌面应用将这两种项目并排显示。“ChatGPT 桌面应用中的项目(Projects)视图包括 ChatGPT 项目以及连接到您计算机文件夹的本地项目。”这很方便,但在同一个视图中显示并不意味着它们是同一种东西。
文档在它们之间划清了界限:
- “ChatGPT 项目不提供对您计算机上文件夹的直接访问,因此请上传或连接您希望 ChatGPT 使用的源文件。”
- 在 Codex 中,“ChatGPT 对话不会出现在 Codex 侧边栏中,侧边栏仅包含您的 Codex 对话和项目。”
- “工作对话历史记录与 Codex 历史记录保持独立。”
- 在桌面应用之外,“CLI 不会公开 ChatGPT 项目视图”,且 IDE 插件“不会公开 Web 或桌面应用中的 ChatGPT 项目视图”。
OpenAI 还将这两种智能体体验描述为有所重叠。其在 ChatGPT Work 和 Codex 的对比中提到:“如果您更喜欢 Codex,可以继续使用它进行研究、文档、演示文稿和其他知识性工作。”它列出的差异主要在于呈现方式:Codex 可以“查看开发者详情,包括 diff 和 review 视图”,而桌面应用中的 ChatGPT 可以“隐藏 Git 或 shell 命令等技术细节”。因此,将项目迁移到 Codex 不仅仅是为了代码。它适用于任何您希望智能体在您控制的文件上运行的工作。
对于单个对话,有一个桥梁。“通过新对话(New chat),您可以打开现有的 ChatGPT 对话并将其添加到 Codex 对话中。”这对于将特定讨论引入 Codex 任务非常有用。这是一种引用对话的方法,而不是迁移项目的方法。
双方的记忆机制
双方保持独立的记忆。OpenAI 的记忆页面指出:“ChatGPT 网页版使用 ChatGPT 记忆,而本地 Codex 客户端使用独立的本地记忆存储和控制。”Codex 在后台从其自身的对话中构建本地记忆:它“跳过活跃或短期的会话,从生成的记忆字段中脱敏敏感信息,并在后台更新记忆”。我们关于开启 Codex 本地记忆的指南详细介绍了这些控制选项。
OpenAI 的文档中没有任何内容表明 Codex 可以读取 ChatGPT 项目从其对话中学到的内容。如果您开启了 Codex 记忆,它们将在您启动后从您的 Codex 对话中构建。
开始前需要检查的事项
共享项目。 如果项目是共享的,其记忆仅限项目内部,并且“无法访问项目外部单个成员的记忆或上下文”。其他成员的文件和对话也可能不属于您可以复制的范围。在迁移共享工作之前,请先询问所有者。
仅限项目的记忆。 如果您的项目使用仅限项目的记忆,帮助中心指出“ChatGPT Work 在该项目中不可用”。如果您希望智能体处理这些材料,Codex 本地项目是实现这一目标的一种方式。
删除原项目。 在完成之前不要清理原项目。“删除项目将永久移除其对话和指令,以及仅存储在项目中的文件。”
链接的文件。 Google Drive 和 Slack 源是链接,而不是副本。请下载您所需文件的当前版本,而不要指望链接会自动迁移。
手动迁移
Step 1: 盘点项目并下载 Codex 所需的内容
打开项目并列出其中的内容。对于每个源文件,决定它是否属于新文件夹。帮助中心指出,您可以“从项目源文件列表中打开项目文件以进行预览、下载或删除”,因此请下载重要的文件并将其保存在一起。
将项目指令复制到文本文件中。然后浏览对话。您需要寻找决策、约束和约定,即项目记忆默默保留的那些内容。用简单的句子写下每一条,并附上日期。
如果某个特定对话包含您在 Codex 任务中需要的上下文,请做好记录。稍后,您可以在 Codex 的“新对话”中打开该对话并将其添加到 Codex 对话中,而无需手动粘贴。
在复制任何内容之前,请删除不应迁移的信息:凭据、个人详细信息,以及属于您尚未确认其政策的客户或雇主的任何内容。
Step 2: 将项目重构为 Codex 可读取的文件夹
创建一个文件夹,或使用您的代码仓库,并将其设为本地项目的主文件夹。OpenAI 指出:“新对话在主文件夹中开始。Codex 还将该文件夹用作 Git 操作以及自动发现 AGENTS.md、技能和 config.toml 的默认文件夹。”它还增加了一个值得提前规划的限制:“Codex 不会自动从次级文件夹中发现这些项目文件。”请将您的指令文件放在主文件夹中。
然后转换 ChatGPT 项目的每个部分:
- 指令转化为
AGENTS.md。 保持简短且具有程序性。Codex 会自根目录向下追加文件,32 KiB 的上限适用于所有这些文件的总和。 - 源文件转化为文件夹中的文件。 将参考文档放入名为
docs的文件夹中,并使用描述性的名称,以便 Codex 可以通过普通的文件搜索找到它们。 - 决策转化为决策文件。 单个文件,按日期记录,最新内容排在最上面。在
AGENTS.md中指向它。 - 重复的程序转化为技能。 如果您经常要求项目执行相同的多步骤任务,请将其编写为
.agents/skills中的技能。
在新项目中启动 Codex 对话,并让它总结其指令和决策文件。如果有些内容缺失或过时,请修改文件,而不是在对话中进行纠正。在对话中进行的修改仅存在于该对话中。如果您还将在云端运行 Codex,我们关于准备 Codex 云环境的指南介绍了其中哪些文件会传输到云端。
更好的方法:将项目决策保存在双方均可使用的统一位置
手动迁移之所以有效,是因为它将隐藏的项目记忆转化为了您可以阅读的文件。该决策文件是您产出的最有价值的东西。但它也是最容易发生偏差的东西,因为 ChatGPT 项目和 Codex 文件夹都会继续运行。
MemoryLake 是一个记忆层,用于将这些决策保存在您维护的统一列表中,供 ChatGPT、Codex 以及您使用的其他助手使用。
您可以用自己的语言亲自编写这些记录。不会从您的 ChatGPT 项目、Codex 记忆或任何供应商的存储中读取、写入或删除任何内容。在将工作内容复制到任何地方之前,请先检查您所在组织的政策。
Step 1: 创建 API 密钥
登录并从控制面板生成密钥。该密钥属于您的 MemoryLake 工作区,与您的 OpenAI 账户独立。

Step 2: 上传您的第一批记忆
从您在手动迁移步骤 1 中写下的决策开始。每条记录包含一个决策,附带日期、原因以及其来源项目。

Step 3: 连接您的 AI 和智能体
连接 ChatGPT、Codex 以及您使用的其他助手。无论您是在 ChatGPT 项目中还是在 Codex 文件夹中,都可以使用相同的决策。

这在实践中带来了什么改变
第一个改变是项目的知识变得可见。OpenAI 的帮助中心指出,项目记忆不会显示记忆列表;而决策文件可以被阅读、审查和纠正。
第二个改变是为每个 Codex 对话带来了更好的起点。AGENTS.md 在启动时加载,参考文件保存在文件夹中,并且 Codex 不再依赖于 CLI 和 IDE 插件无法显示的“项目”视图。
第三个改变是减少了重复劳动。当 ChatGPT 项目继续用于研究和规划,而 Codex 用于构建时,两者都可以基于相同的决策运行,而不是使用两个逐渐产生偏差的版本。
第四个改变是后续迁移更加容易。如果项目的一部分需要迁移到其他地方,相同的文件和决策依然适用,正如我们关于将 ChatGPT 项目迁移到 Claude 项目的指南所示。
将 ChatGPT 项目迁移到 Codex 的最佳实践
复制前先盘点。 源文件、指令、对话和决策是四项不同的工作。
写下项目记忆所了解的内容。 帮助中心指出它不会显示列表,因此请自行提取。
使用主文件夹。 Codex 会在其中发现指令和技能。
保持 AGENTS.md 大小在限制之内。 详细内容应放入链接的文档中。
下载链接的文件。 Drive 和 Slack 链接并不是副本。
在迁移共享项目前先询问。 这些工作成果可能不完全属于您个人。
不要过早删除原项目。 删除会移除其对话、指令和仅限项目的文件。
结论
ChatGPT 项目 and Codex 本地项目虽然显示在同一个“项目”视图中,但它们是不同的东西。ChatGPT 项目保存上传的源文件、指令、对话以及不显示列表的项目记忆。Codex 则基于文件夹运行,从中读取 AGENTS.md 和技能,并保留独立的本地记忆。CLI 和 IDE 插件根本不会显示 ChatGPT 项目。
行之有效的迁移方式是重构。下载源文件,将指令转化为 AGENTS.md,写下项目对话中保留的决策,并将所有内容放入本地项目的主文件夹中。
保持该决策文件的最新状态。这是您的 ChatGPT 项目中在 Codex 以及您下一步使用的任何工具中都非常有用的部分。