Codex 不用你会写 Goal 了:先聊需求,它自动补齐 6 个验收条件 附方法

内容分享1周前发布
10 1 0

6 月 15 日,Codex App 和 Codex CLI 同时补强了 Goal(持续目标)工作流。

Codex App 增加了 Goal 的输入框快捷入口,暂停、恢复、编辑和清除也更顺手;Codex CLI 0.140.0 则解决了一个很实际的问题:大段文字、超长粘贴内容和图片附件,目前都能完整进入 Goal,远程 App Server 会话也能保留这些内容。

不过,我认为这次更新最值得讲的,并不是“Goal 能塞更多东西了”。

OpenAI 官方文档给出了一套更省力的用法:

先用普通话描述需求
  /plan  Codex 把问题聊清楚
  Codex 帮你起草 Goal
 检查 6 个关键条件
 再启动长期执行

以前我们担心自己不会写 Goal,怕漏掉验收标准、修改边界和停止条件。目前,用户只要先把真实需求说清楚,Codex 可以根据项目、讨论结果和附件,整理出一份更完整的任务合同。

这项能力真正减少的,是任务开始后来反复补一句“继续”“再试一次”“别忘了跑测试”的次数。

Codex 不用你会写 Goal 了:先聊需求,它自动补齐 6 个验收条件 附方法

一、普通提示词和 Goal,差别在有没有“终点线”

普通提示词解决的是下一步。

列如:

检查登录功能为什么偶尔失败。

Codex 可能读取代码、运行一次测试、给出一个判断,然后停下来等你回复。

接下来你往往还要继续发:

把问题复现出来。
继续找根因。
试着修一下。
再跑测试。
还有失败就继续处理。

Goal 解决的是整段过程。

它会把一个持续目标挂在当前 Thread(线程)上。Codex 每完成一轮工作,就会重新检查证据:目标是否已经达到、测试是否通过、还有没有阻塞。如果条件没满足,Goal 依旧有效,而且预算允许,Codex 可以根据刚得到的结果选择下一步。

两种工作方式可以这样理解:

普通提示词:
提问 → 工作 → 返回结果 → 等待下一句话

Goal:
工作 → 检查证据 → 继续或完成

所以,Goal 特别适合这些任务:

  • 难以一次找到根因的 Bug;
  • 需要反复跑测试的框架升级;
  • 必须达到某个数值的性能优化;
  • 步骤会随着新证据变化的代码审查;
  • 需要最终报告和证据清单的研究任务。

改一行文字、解释一个报错、做一次简单代码审查,继续用普通提示词更省事。

Codex 不用你会写 Goal 了:先聊需求,它自动补齐 6 个验收条件 附方法

二、Codex 的确 能帮你写 Goal,但要先给它真实上下文

“自动写 Goal”需要说准确。

Codex 不会凭空替你决定项目目标。更可靠的流程是:用户先描述想完成什么,Codex 再根据当前项目、对话和附件起草 Goal。

例如,不要一上来硬写一大段复杂命令。先自然地告知它:

我想把这个旧项目升级到新版框架。

页面外观、公开 API 和数据库结构都不能变。
你先检查仓库,确认当前版本、主要依赖和测试情况。
遇到不清楚的地方先问我。

然后切到 Plan(规划)模式:

/plan

在 Plan 模式里,让 Codex 完成三件事:

  • 读取项目,确认真实现状;
  • 找出影响目标的依赖、测试和风险;
  • 向用户询问少量必须回答的问题。

等讨论清楚后来,再发:

根据刚才的项目检查和讨论,
帮我起草一份强 Goal。

请补齐最终结果、验收依据、不能破坏的内容、
允许修改的范围、每轮失败后的处理方法,
以及什么情况下应该停止并向我报告。

先把 Goal 草稿给我检查,不要立即执行。

这一步很关键。

让 Codex 先给草稿,用户检查后再激活,比一句“帮我完成升级”直接放它长时间运行更稳。

Codex 不用你会写 Goal 了:先聊需求,它自动补齐 6 个验收条件 附方法

三、一份强 Goal,最好补齐这 6 个关键条件

OpenAI 官方把高质量 Goal 拆成 6 个部分。为了方便记忆,可以把它们理解成一份任务合同。

关键部分

需要回答的问题

Outcome(最终结果)

任务结束时,什么状态必须已经实现?

Verification surface(验收依据)

用测试、基准、日志、截图还是最终文件证明完成?

Constraints(保护条件)

哪些现有功能、性能、接口或数据不能退化?

Boundaries(工作边界)

Codex 可以修改哪些文件、调用哪些工具、访问哪些资源?

Iteration policy(迭代规则)

一次尝试失败后,如何根据证据选择下一步?

Blocked stop condition(阻塞停止条件)

遇到什么情况必须停下,并报告缺少什么?

以前许多 Goal 只写了第一项:

/goal 把项目升级到新版框架

这句话看似清楚,实际留下了许多空白:

  • 升级到哪个具体版本?
  • 怎样才算升级完成?
  • 现有页面变样了算不算失败?
  • 能不能顺手改数据库?
  • 测试失败后可以尝试多少种方案?
  • 依赖不兼容时是继续硬改,还是停止报告?

Codex 帮你写 Goal 的价值,就是根据项目和对话,把这些空白补出来。

Codex 不用你会写 Goal 了:先聊需求,它自动补齐 6 个验收条件 附方法

四、从一句模糊需求,变成一份可执行 Goal

还是用“升级旧项目”做例子。

用户最开始只说:

把这个旧项目升级一下,功能不要坏。

经过项目检查和 Plan 讨论后,可以让 Codex 整理成这样的 Goal:

/goal 将当前项目升级到目标框架版本,
并保证现有公开功能正常运行。

最终结果:
项目能够完成依赖安装、构建和启动,
主要页面与升级前保持一致。

验收依据:
运行现有单元测试与集成测试;
执行生产构建;
使用浏览器检查登录、首页和核心业务流程;
输出升级前后的依赖变化与测试报告。

保护条件:
不修改公开 API;
不改变数据库结构;
不删除现有功能;
不为了通过测试而降低断言标准。

工作边界:
只修改应用源码、依赖配置、构建配置和相关测试;
不要修改生产数据、账号设置和外部服务配置。

迭代规则:
每完成一个小阶段就运行相关测试;
失败时先记录证据,再选择影响范围最小的修复方案;
不要连续重复同一种失败方案。

停止条件:
测试、构建和核心页面检查全部通过时完成;
如果关键依赖没有兼容版本,或必须改变公开 API 才能继续,
停止执行并报告已尝试方案、证据、阻塞缘由和需要用户决定的事项。

这份 Goal 没有规定 Codex 每一步必须怎么做,却把结果、证据和边界规定清楚了。

Codex 可以根据实际情况调整路线,但不能用一句“应该已经好了”宣布完成。

Codex 不用你会写 Goal 了:先聊需求,它自动补齐 6 个验收条件 附方法

五、0.140.0 让长文、截图和附件真正进入 Goal

过去复杂需求还有一个麻烦:Goal 输入过长,或者从需求文档复制了大段内容,部分信息可能没有完整进入持续目标;图片附件在某些会话里也容易丢失。

Codex CLI 0.140.0 专门补了这一块。

目前 /goal 可以保留:

  • 超长 Goal 文本;
  • 一次粘贴进来的大段需求;
  • 图片和截图附件;
  • 远程 App Server 会话里的 Goal 内容。

这让下面几种任务更适合 Goal:

产品需求文档 + 当前仓库
UI 截图 + 页面验收标准
错误日志 + 复现步骤
论文 PDF + 实验目标
迁移清单 + 不能破坏的接口列表

列如做页面改造时,可以把目标截图放进当前线程,再让 Codex 起草 Goal:

根据我上传的截图和当前页面代码,
起草一份页面改造 Goal。

最终页面需要对齐截图中的布局、间距和信息层级;
保留现有业务逻辑和接口;
验收时使用浏览器截图对比、构建结果和交互测试。

先给我草稿,不要立即执行。

截图不再只是第一轮的参考,它可以成为 Goal 的验收依据之一。

Codex 不用你会写 Goal 了:先聊需求,它自动补齐 6 个验收条件 附方法

六、检查草稿后,再用 /goal 真正启动

Codex 给出草稿后,先检查 5 个地方:

  • 完成标准是否能实际验证;
  • 有没有写清不能破坏的内容;
  • 修改范围是否过大;
  • 失败后来是否会无限重复;
  • 阻塞时是否知道应该停下来问人。

确认没问题后,把整理好的内容设置为 Goal。

直接输入:

/goal

然后粘贴最终版本,或者让 Codex 根据刚才确认的草稿设置 Goal 并开始执行。

如果命令列表里看不到 /goal,可以运行:

codex features enable goals

也可以在用户配置文件中开启:

[features]
goals = true

提议先更新 Codex:

npm install -g @openai/codex@latest
codex --version

使用 Homebrew 的朋友可以执行:

brew update
brew upgrade --cask codex
codex --version

Goal 从 Codex 0.128.0 开始提供;想要完整保留长文本、大段粘贴和图片附件,提议升级到 0.140.0 或更新版本。

Codex 不用你会写 Goal 了:先聊需求,它自动补齐 6 个验收条件 附方法

七、运行中可以继续指导,也可以随时暂停

Goal 激活后来,不代表用户把控制权全部交出去了。

Codex App 会在输入框上方显示 Goal 进度,并提供暂停、恢复、编辑和清除入口。用户也可以继续发送消息,补充新证据或调整方向。

CLI 中常用的命令有:

/goal
/goal pause
/goal resume
/goal clear

它们分别用于查看当前 Goal、暂停、恢复和清除。

例如 Codex 正在反复修改测试,却忽略了真实页面,可以先暂停:

/goal pause

补充要求:

先不要继续修改代码。

我发现问题只在 Windows 上出现,
请把这个条件加入 Goal 的验收范围,
并补充 Windows 下的复现和验证步骤。

确认更新后的 Goal 没问题,再恢复:

/goal resume

需要注意,Goal 的自动继续很克制。

它只会在线程空闲、没有用户消息排队、没有其他工作等待,而且仍在预算内时继续。遇到中断、预算限制、重复阻塞或必须由用户决定的问题时,应该停止并汇报。

Codex 不用你会写 Goal 了:先聊需求,它自动补齐 6 个验收条件 附方法

八、最后提炼:先让 Codex 写任务合同,再让它连续执行

这次 Goal 工作流可以浓缩成 6 步:

描述真实需求
 /plan 检查项目并讨论
  Codex 起草 Goal
 检查 6 个关键条件
 /goal 激活
 用证据决定继续还是完成

最值得直接复制的一句话是:

根据当前项目、刚才的讨论和我上传的附件,
帮我起草一份强 Goal。

请补齐最终结果、验收依据、保护条件、工作边界、
每轮失败后的迭代规则和阻塞停止条件。

先给我草稿检查,不要立即执行。

Goal 的作用不是让 Codex 无限制地自己跑。

它更像一份持续有效的任务合同:目标一直留在线程里,Codex 可以根据新证据继续选择下一步;是否完成,则要由测试、日志、基准、截图或最终文件来证明。

以前长任务最常见的交流方式,是用户隔几分钟补一句“继续”。

目前更稳的做法,是先让 Codex 根据项目和讨论写好 Goal,再由用户确认什么叫完成、什么不能动、什么时候必须停。

会不会写复杂 Goal,已经不再是使用门槛。真正重大的是,用户能不能把最终结果和验收证据说清楚。

Codex 不用你会写 Goal 了:先聊需求,它自动补齐 6 个验收条件 附方法

© 版权声明

相关文章

1 条评论

none
暂无评论...