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

Codex /clear vs /new —— 各自重置的内容、新对话加载的内容以及任务中途该用哪一个 (2026)

你在 Codex CLI 中完成了一项任务,想为下一项任务开启一个干净的起点。有两个命令看起来作用相同:/clear 和 /new,此外还有一个键盘快捷键 Ctrl+L,看起来像是第三种选择。它们的功能有所重叠,但并不完全相同,选错命令可能意味着你丢失了屏幕显示、丢失了对话,或者两者都没丢。

来自 OpenAI 斜杠命令参考的简短版本:/clear 清除终端并启动新对话,/new 启动新对话但不清除终端,而 Ctrl+L 仅清除终端并保留当前对话。

本指南将详细介绍每个命令重置的内容、Codex 新对话仍会加载的内容、如何返回之前的对话,以及何时使用 /compact、/recap、/fork 或 /side 是更好的选择。

/clear 的作用

OpenAI 的文档这样描述 /clear 的结果:“Codex 清除终端,重置可见的转录内容,并在同一个 CLI 会话中启动一个新对话。”

三件事同时发生:终端屏幕被擦除,可见的转录内容重置,你进入了一个新对话。你仍处于同一个 CLI 会话中,因此不需要重新启动 Codex。

你可以在创建新对话时为其命名。OpenAI 的示例是 /clear release prep。

/new 的作用

/new 在不擦除屏幕的情况下启动新对话。OpenAI 表示:“Codex 在同一个 CLI 会话中启动一个新对话,因此你可以在不离开终端的情况下切换对话。”与 /clear 的区别仅用一句话说明:“与 /clear 不同,/new 不会先清除当前的终端视图。”

/new 还可以询问新对话应该在哪里运行。文档指出,如果 Codex 提供了 checkout 选项,你可以选择当前目录或新的工作树(worktree)。与 /clear 一样,它也接受名称,例如 /new bug bash。

Ctrl+L 的作用

Ctrl+L 是唯一不启动任何新内容的选项。“Ctrl+L 仅清除终端视图并保留当前对话。”OpenAI 还直接将其与 /clear 进行了对比:“与 Ctrl+L 不同,/clear 会启动一个新对话。”

任务运行时禁用清除功能

有一条规则适用于其中两个操作。“当任务正在进行时,Codex 会禁用这两个操作。”在清除或使用 /clear 重新开始之前,请等待当前轮次完成或停止它。

/clear vs /new vs Ctrl+L 一览

  • /clear:新对话,终端已清除,同一个 CLI 会话。
  • /new:新对话,终端保留,同一个 CLI 会话,可选工作树选择。
  • Ctrl+L:同一个对话,终端已清除。

因此,在 /clear 和 /new 之间的真正选择在于你的屏幕。两者都会给你一个新对话。/clear 还会给你一个空白终端;/new 则让旧的输出在上方保持可见。

在 CLI 之外启动新对话

/clear 和 /new 是 CLI 命令。其他 Codex 界面使用它们自己的快捷键来实现相同的想法。

  • ChatGPT 桌面应用:其键盘参考列出“新对话”在 macOS 上为 Cmd+N 或 Cmd+Shift+O,在 Windows 上为 Ctrl+N 或 Ctrl+Shift+O。当终端面板获得焦点时,“清除终端”在 macOS 上为 Ctrl+L 或 Cmd+K。
  • IDE 扩展:其命令列表包含一个新对话命令,在 macOS 上绑定为 Cmd+N,在 Windows 和 Linux 上绑定为 Ctrl+N。

核心理念随处通用:新对话启动时,其上下文中不包含旧的对话内容。本指南的其余部分将重点关注 CLI,因为在 CLI 中,清除屏幕和启动对话之间的区别最容易混淆。

下一个对话仍会加载的内容

新对话并非完全空白的 Codex。有几样东西会继承下来,其中一样的工作方式与人们预期的不同。

启动时的 AGENTS.md 指令

Codex 在执行任何工作前都会读取 AGENTS.md。其文档称:“Codex 在启动时构建指令链(每次运行一次;在 TUI 中,这通常意味着每个启动的会话一次)。”

这产生了一个实际后果。/clear 和 /new 在同一个 CLI 会话中启动新对话,而 OpenAI 的文档并未说明其中任何一个会重建指令链。如果你在会话期间编辑了 AGENTS.md 并希望新对话采用它,请遵循 OpenAI 自己的建议:“如果指令看起来过时,请在目标目录中重新启动 Codex。”关于防止 Codex 跳过 AGENTS.md 规则的指南涵盖了指令丢失的其他原因。

你的记忆(如果已开启)

本地 Codex 记忆是一个独立的系统。启用后,memories.use_memories 设置“控制 Codex 是否将现有记忆注入未来的会话”。根据你的设置,新对话可以利用 Codex 从之前对话中学到的内容。

你还可以通过 /memories 控制每个对话的记忆。OpenAI 指出:“对话级别的选择不会改变你的全局记忆设置。”我们的 Codex 记忆 v2 指南介绍了更新的记忆流水线如何存储其学到的内容。

不会继承的内容

对话本身。无论你在旧对话中解释了什么、Codex 读取了哪些文件、你尝试了哪些方法以及你在对话中达成的决定,都不会成为新对话上下文的一部分。这就是它被称为“全新开始”的原因。

返回你离开的对话

你离开的对话仍被保存。/resume 会打开一个已保存对话的选择器,OpenAI 表示它“重新加载所选对话的转录内容,以便你可以从上次中断的地方继续,同时保持原始历史记录完整”。在 TUI 之外,codex resume 将“通过 ID 继续之前的交互式会话或恢复最近的对话”。

为对话命名对此很有帮助。在离开前运行 /rename,或者为你启动的对话向 /clear 或 /new 传递一个名称,这样选择器就会显示可识别的内容。如果对话似乎丢失了,我们关于查找丢失的 Codex 对话历史记录的指南涵盖了存档对话和其他可以查找的地方。

何时使用其他命令

/clear 和 /new 用于开启新任务。如果你不是要开启新任务,其他命令可能更合适。

/compact,当你继续同一项任务时

当对话很长但工作尚未完成时,压缩(compacting)可以让对话继续。OpenAI 表示 /compact “用简明摘要替换之前的轮次,在保留关键细节的同时释放上下文”。Codex 在对话接近限制时也会自动压缩;我们关于 Codex 中 GPT-6.1 Sol 500k 上下文的指南介绍了何时触发该功能。

/recap,当你想要摘要而不改变任何内容时

/recap 生成对话摘要,但不改动其上下文。OpenAI 区分道:“当你想要释放上下文空间时,请使用 /compact。”在清除之前,阅读或保存一份 recap 是个好习惯。

/fork,当你想要尝试另一个方向时

/fork “将当前对话克隆到一个具有新 ID 的新对话中,保持原始转录内容不变,以便你可以并行探索另一种方法”。与 /new 不同,新对话会继承到目前为止的对话内容。我们关于 fork 一个 Codex 对话的指南涵盖了 fork 和工作树的内容。

/side,当你有一个快速问题时

/side 从当前对话启动“一个临时 fork,而无需切换出主对话”。它的转录内容与父对话分开,因此绕道提问不会增加主对话的内容。

任务中途该用哪一个

这些命令对应以下几种情况:

  • 任务已完成,下一个任务无关。 使用 /clear 获得干净屏幕,如果你想让旧输出可见则用 /new。
  • 任务未完成但对话太长。 使用 /compact。
  • 你想尝试不同方法而不丢失当前方法。 使用 /fork。
  • 你有一个快速问题。 使用 /side。
  • 屏幕太乱但对话没问题。 使用 Ctrl+L。
  • 你编辑了 AGENTS.md。 重新启动 Codex 以重建指令链。

如果你正处于一个轮次的中途,/clear 和 Ctrl+L 是不可用的。请先让该轮次完成。

人们首先尝试的误区

使用 /clear 来整理屏幕。 它会启动一个新对话。Ctrl+L 才是清除视图并保留对话。

期望 /new 重新加载已编辑的 AGENTS.md。 文档称指令链是在 Codex 启动时构建的,并建议如果指令看起来过时就重新启动。

在任务中途清除。 任何仅在对话中决定的内容都会脱离新对话的上下文。应改为压缩,或先保存决定。

假设旧对话消失了。 它已被保存。使用 /resume 或 codex resume。

启动新对话以尝试替代方案。 /new 启动时不带对话历史。/fork 则会带上对话历史。

解决方案:保存新对话需要的内容,然后启动它

第 1 步:捕获应比对话更持久的内容

在清除之前,寻找任何你需要再次解释的内容:约定、约束、决定及其原因。将项目规则放入 AGENTS.md。对于整个对话的记录,/recap 提供摘要,而我们关于导出 Codex 对话的指南涵盖了将转录内容保存为 Markdown 的方法。

第 2 步:命名对话并选择命令

使用 /rename 重命名对话,以便你能在 /resume 中找到它。然后选择 /clear 以获得空白屏幕,或选择 /new 以保持旧输出可见。如果你更改了 AGENTS.md,请改为重新启动 Codex。

第 3 步:带着需要的内容启动下一个对话

开启新对话时,使用简短的提示词,包含它应该知道的之前的所有内容。Codex 将拥有你的指令,如果启用了记忆,还将拥有你的记忆。但它不会拥有之前的对话历史。

在 MemoryLake 中设置

/clear 和 /new 效果很好,因为 Codex 会跨对话保留你的指令,并可选地保留其记忆。薄弱环节在于你在对话中达成但未写下来的决定。它不会随新对话一起出现,也无法在其他工具中使用。

MemoryLake 是一个记忆层,用于将这类上下文保存在你维护的一个列表中,供 Codex 以及你连接的其他助手(如 ChatGPT 和 Claude Code)使用。

你用自己的语言亲自编写条目。没有任何内容会从你的 Codex 对话、AGENTS.md 文件、Codex 记忆或任何供应商的存储中读取、写入或删除。/clear 和 /new 继续按照 OpenAI 描述的方式工作。

第 1 步:创建 API 密钥

登录并从控制面板生成一个密钥。该密钥属于你的 MemoryLake 工作区,与你的 OpenAI 账户分开。

MemoryLake 控制台显示 API 密钥界面,在此创建并复制新密钥以供 agent 使用
MemoryLake 控制台显示 API 密钥界面,在此创建并复制新密钥以供 agent 使用

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

从你在解决方案第 1 步中捕获的、适用于单个代码库之外的内容开始:你原本需要重复的决定、约束和偏好。每条一个要点,注明日期。

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

第 3 步:连接你的 AI 和 Agent

连接 Codex 和你使用的其他助手。在 /clear、/new 或切换到其他工具后,相同的决定依然可用。

MemoryLake 集成界面列出了可以连接到记忆层的 AI 客户端和 agent 框架
MemoryLake 集成界面列出了可以连接到记忆层的 AI 客户端和 agent 框架

这在实践中改变了什么

第一个区别是你不再靠猜。/clear 和 /new 都会启动新对话,Ctrl+L 则不会,前两者之间唯一的区别在于你的屏幕。

第二个区别是你清楚新对话拥有什么。Codex 在会话开始时构建的指令、你的记忆(如果已开启),以及对话中不包含任何内容。

第三个区别是你为当下选择了正确的工具。压缩以继续,fork 以探索,side 以提问,只有当你真正要开启新任务时才使用新对话。

Codex 中 /clear 和 /new 的最佳实践

屏幕杂乱时使用 Ctrl+L。 它会保留你的对话。

在无关任务之间使用 /clear 或 /new。 根据你是否希望旧输出可见来选择。

编辑 AGENTS.md 后重新启动 Codex。 指令链是在启动时构建的。

离开对话前为其命名。 这会让 /resume 变得更容易。

任务中途使用压缩而非清除。 /compact 保留工作的摘要。

使用 Fork 尝试替代方案。 /fork 保持原始对话不受影响。

清除前进行 Recap。 摘要易于保存和重复使用。

结论

在 Codex CLI 中,/clear 和 /new 都会在同一个 CLI 会话中启动一个新对话。/clear 还会擦除终端;/new 则保留终端,并可以提供工作树选项。Ctrl+L 仅清除屏幕并保留你的对话。当任务正在进行时,任何清除操作都无法工作。

根据 OpenAI 的文档,新对话启动时会带有 Codex 在会话开始时构建的 AGENTS.md 指令,以及你的记忆(如果已启用),但不包含对话历史。旧对话会被保存并可以恢复。在清除之前,请保存那些你不想重复解释的决定,如果你更改了指令,请重新启动 Codex。

常见问题

Codex 中 /clear 和 /new 有什么区别?

两者都在同一个 CLI 会话中启动新对话。/clear 还会清除终端;/new 则不会。

/clear 会删除我的 Codex 对话吗?

不会。它会启动一个新对话。之前的对话可以通过 /resume 重新打开。

Ctrl+L 在 Codex CLI 中有什么作用?

它清除终端视图并保留当前对话。

为什么我现在不能使用 /clear?

当任务正在进行时,Codex 会禁用 /clear 和 Ctrl+L。请等待该轮次完成。

/new 会重新加载 AGENTS.md 吗?

OpenAI 的文档称指令链是在 Codex 启动时构建的。如果你编辑了 AGENTS.md,请重新启动 Codex。

我应该使用 /compact 还是 /new?

使用 /compact 以带有摘要的形式继续同一项任务。当你开始无关的事情时,使用 /new 或 /clear。