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

什么是 Codex Goal 模式 —— /goal 在长期任务中保留的内容以及详细信息的归属 (2026)

长期的 Codex 任务往往会发生偏移。你可能从一个迁移任务开始,二十个步骤后 Codex 却在修复一个无关的测试,或者中途停止并询问下一步该做什么。Goal 模式是 OpenAI 的解决方案:你通过 /goal 一次性说明预期结果,Codex 会持续朝着该目标努力,直到工作完成或需要你介入。

命令参考将 /goal 描述为“在运行较大任务时,为 Codex 提供一个可跟踪的持久目标”。“持久(persistent)”这个词是理解的关键。Goal 是附加在单个对话中的一小段特定状态。它不是记忆,不是你的项目指令,并且它有长度限制,这决定了你其余的上下文应该放在哪里。

本指南将解释什么是 Goal 模式、它在何处适用、Goal 保留什么、它不能替代什么,以及如何编写一个能支撑长期任务的 Goal。

什么是 Goal 模式

OpenAI 的长期工作指南阐述了这一理念:“对于可能需要多个步骤的工作,给 ChatGPT 一个明确的结果、约束条件和完成定义。将相关工作保持在同一个对话中,以便 ChatGPT 可以使用相同的上下文来选择下一步并决定工作何时完成。”

Goal 模式将这一理念转化为指令。“在 ChatGPT 桌面应用、Codex CLI 或 IDE 扩展中输入 /goal。Goal 文本既成为第一个提示词,也成为任务的完成标准。”

这第二句话解释了它的大部分行为方式。Goal 不仅仅是任务的开始方式,它还是 Codex 用来判断任务是否完成的测试标准。

适用范围

  • ChatGPT 桌面应用。 输入 /goal 启动 Goal 模式。输入框上方的进度条允许你暂停、恢复、编辑或清除 Goal。
  • Codex CLI。 在交互式会话中输入 /goal,并在同一会话中继续以引导它。
  • IDE 扩展。 在打开的工作区对话中输入 /goal,并在 Goal 运行时保持工作区可用。

ChatGPT 网页版的工作方式不同。对于那里的托管长期工作,指南建议使用 ChatGPT Work 并“直接在提示词中放入结果、约束和评审标准”。

Goal 模式默认开启。配置参考将 goals 列为稳定功能,默认启用,描述为“启用持久化目标和自动续接”。

指令列表

CLI 参考列出了控制命令:

  • /goal <objective> 设置目标。
  • 单独输入 /goal 显示当前目标。
  • /goal edit 进行修改。
  • /goal pause、/goal resume 和 /goal clear 分别用于暂停、恢复或移除目标。

用 OpenAI 的原话来说,预期结果是:“在工作继续进行时,Codex 将目标附加到活动对话中。”

Goal 保留的内容

Goal 被刻意设计得很小。以下是它持有的内容及其存在的位置。

目标(Objective)。 你提供的文本,它既是第一个提示词,也是完成标准。

状态。 激活或暂停,通过上述指令或桌面应用中的进度条控制。

在单个对话中的位置。 Goal 附加在活动对话中。长期工作指南明确提到了并行工作:“每个对话保留自己的上下文、消息、结果和目标。”

进度统计。 描述客户端所用接口的应用服务器文档显示,一个 Goal 携带了 Token 预算以及已使用的 Token 和时间计数。它还说明了编辑的作用:“提供新的目标会替换原 Goal 并重置使用统计。”仅更改状态或保持相同目标会保留使用历史。

大小限制。 “Goal 目标必须非空且最多 4,000 个字符。对于更长的指令,请将详细信息放入文件中,并将 Goal 指向该文件。”

最后一行是该限制中最具实践意义的部分。Goal 是一个靶心,而不是一个装载 Codex 应该知道的所有信息的容器。

Goal 不能替代的内容

因为 Goal 是持久的,人们很容易想往里塞满上下文。但它并非为此设计的,文档指出了其他存放位置。

项目指令 (Project instructions)

适用于每个任务的惯例和规则属于 AGENTS.md。Codex 的记忆文档给出了通用原则:“将团队所需的指导保留在 AGENTS.md 或签入的文档中。”Goal 附加在单个对话中;而 AGENTS.md 适用于仓库中的每个对话。关于 Codex 跳过 AGENTS.md 规则的指南介绍了 Codex 如何找到这些文件。

记忆 (Memories)

Codex 记忆将早期对话的上下文带入后续对话,且默认关闭。记忆文档称其为“有用的召回层”,而不是必须始终适用的规则的唯一来源。Goal 的作用恰恰相反:它让一个对话专注于一个结果。两者互不替代。关于开启 Codex 本地记忆的指南介绍了记忆的工作原理。

对话的其余部分

Goal 不保存 Codex 在过程中学到的内容。那些内容在对话中。指南建议“将相关工作保持在同一个对话中”正是出于这个原因:对话是上下文所在,而 Goal 是 Codex 知道其目标的手段。如果长对话接近其上下文限制,关于 GPT-6.1 Sol 在 Codex 中 500k 默认值的指南介绍了何时触发压缩。

权限

Goal 不会赋予 Codex 更多的行动空间。“启动 Goal 不会授予 ChatGPT 更广泛的访问权限。它保持相同的沙箱和审批策略,并在需要决策时暂停。”

如何编写一个经得起考验的 Goal

长期工作指南建议在适用时包含三个要素:

  • 结果 (Outcome)。 “描述你想要的结果,而不只是 ChatGPT 应该执行的活动。”
  • 约束 (Constraints)。 “指明所需的工具、边界、兼容性需求或要避免的方法。”
  • 验证 (Verification)。 “添加测试、测量或评审标准,以证明工作已完成。”

OpenAI 自己的例子用两句话涵盖了这三点:将代码库从 JavaScript 迁移到 TypeScript,保留现有行为,在不使用显式 any 类型的情况下以严格模式编译,并使完整的测试套件通过。

如果结果尚不明确,指南建议先使用 /plan。“让 ChatGPT 采访你,识别约束条件,并将结果转化为具有可衡量成功标准的 Goal。然后使用 /goal 启动细化后的目标。”

在运行时引导 Goal

你不需要等待 Codex 完成。在每个客户端中,你都可以在同一对话中发送后续消息以添加上下文或调整约束,并要求状态回顾。

桌面应用增加了两个选项。你可以使用侧边对话“当你想要状态回顾或解释而不中断主对话时”。你也可以在预计失去连接前暂停 Goal,然后在准备好让 Codex 继续时恢复它。

对于并行工作,指南的建议是运行独立的对话,避免让两个对话更改相同的文件,并使用 worktrees 为并行的编码对话提供独立的检出。在 Mac 上,“运行期间防止休眠”功能可保持本地工作持续进行。

人们最先尝试的误区

将整个简报写进 Goal。 目标上限为 4,000 字符。请将长指令放入文件中,并将 Goal 指向它。

开启新对话以改变方向。 Goal 和上下文都在旧对话中。在工作所在的对话中编辑 Goal 或发送后续消息。

期望 Goal 延续到下一个对话。 每个对话都有自己的 Goal。新对话开始时没有 Goal。

使用 Goal 代替 AGENTS.md。 Goal 涵盖一个任务。适用于每个任务的规则属于 AGENTS.md。

中途更换目标。 新目标会替换原 Goal 并重置其使用统计。如果你只需要调整约束,发送一条后续消息可能就足够了。

解决方案:保持 Goal 简短,将细节放入文件,并有目的地交接

第 1 步:将 Goal 写成一个测试

写下结果、约束以及证明完成的检查项。如果你无法陈述检查项,请从 /plan 开始,并将计划转化为 Goal。让 Goal 仅保留 Codex 判断是否完成所需的内容。

第 2 步:将细节放在持久的地方

将详细需求放在仓库的文件中(如规格说明或任务笔记),并将 Goal 指向它。将超出此任务范围的惯例放在 AGENTS.md 中。这两者在 Goal 清除后依然可用,并且可以像任何其他文件一样进行评审。

第 3 步:在切换对话前进行交接

如果你需要在不同的对话、不同的机器或 worktree 中继续工作,请先记录下现状:已完成的内容、剩余的内容以及已做出的决定。Codex 的交接功能可以在本地、worktree 和远程主机之间移动对话,我们的 Codex 交接指南解释了随之移动的内容。对于全新的对话,我们的编写交接提示词指南涵盖了应包含的内容。如果你想在不丢失原始方案的情况下尝试不同方法,我们的 fork Codex 对话指南展示了操作方法。

在 MemoryLake 中设置

Goal 让一个对话专注于一个结果。该工作产生的决策(例如为什么选择某种方法,或者哪些方法行不通)比 Goal 的寿命更长,下一个任务、对话或工具也需要它们。

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

你用自己的语言亲自编写条目。你的 Goal、对话、AGENTS.md 文件、Codex 记忆或任何供应商的存储空间都不会被读取、写入或删除任何内容。Goal 模式将继续按照 OpenAI 描述的方式工作。

第 1 步:创建 API 密钥

登录并从控制面板生成密钥。该密钥属于你的 MemoryLake 工作区,与你的 ChatGPT 账号和 Codex 配置相互独立。

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

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

从上一个长期目标产生的结果开始:决策、你发现的约束以及你排除的方法。每条记录一个要点,注明日期,并贴上仓库标签。

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

第 3 步:连接你的 AI 和代理

连接 Codex 和你使用的其他助手。在任何对话或工具中,下一个 Goal 都会从上一个 Goal 确定的内容开始。

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

这在实践中改变了什么

第一个区别是长期任务会在你预期的位置结束。Goal 是完成测试,因此 Codex 知道何时停止。

第二个区别是 Goal 保持精简。细节存在于比对话更持久的文件中,规则存在于 AGENTS.md 中。

第三个区别是切换对话不再意味着从头开始。你有目的地进行交接,并记录下状态。

Codex Goal 模式的最佳实践

陈述结果、约束和验证。 Goal 同时也是完成标准。

保持在 4,000 字符以内。 其余内容将 Goal 指向文件。

在同一对话中引导。 那里是 Goal 和上下文所在的地方。

结果不明确时使用 /plan。 然后将计划转化为 Goal。

失去连接前暂停。 准备好后再恢复。

为并行对话提供独立的 worktrees。 每个对话保留自己的 Goal 和上下文。

将规则保留在 AGENTS.md 中。 一个 Goal 仅涵盖一个任务。

结论

Goal 模式为长期的 Codex 任务提供了一个持久目标。你可以通过桌面应用、CLI 或 IDE 扩展中的 /goal 进行设置,Goal 文本既成为第一个提示词,也成为完成标准。Goal 附加在对话中,持有最多 4,000 字符的目标描述及其状态和使用情况,且不会扩大 Codex 的权限。

将 Goal 写成一个测试,将细节放入它指向的文件中,将规则保留在 AGENTS.md 中,并在工作转移到另一个对话时有目的地进行交接。

常见问题

什么是 Codex 中的 Goal 模式?

这是一种为 Codex 的长期任务提供持久目标的方法。你通过 /goal 设置它,OpenAI 表示 Goal 文本既成为第一个提示词,也成为完成标准。

如何在 Codex 中使用 /goal?

在 ChatGPT 桌面应用、Codex CLI 或 IDE 扩展中输入 /goal 后跟你的目标。单独使用 /goal 查看它,使用 /goal edit 修改它,使用 /goal pause、/goal resume 或 /goal clear 来控制它。

Goal 模式是默认开启的吗?

是的。配置参考将 goals 列为默认启用的稳定功能。

Codex Goal 可以有多长?

最多 4,000 个字符。OpenAI 建议将较长的指令放入文件中,并将 Goal 指向该文件。

Goal 会延续到新对话中吗?

不会。OpenAI 表示每个对话保留自己的上下文、消息、结果和目标。

Goal 与 Codex 记忆是一回事吗?

不是。Goal 附加在单个对话中,使其专注于一个结果。而记忆(当你开启时)会将早期对话的上下文带入后续对话。

为什么 Goal 模式不起作用?

请检查你是否在使用受支持的客户端:ChatGPT 桌面应用、Codex CLI 或 IDE 扩展。ChatGPT 网页版则使用 ChatGPT Work 处理长期任务。同时检查你的配置中是否关闭了 goals 功能。