本文介绍了 OpenAI Codex 中的“Goals”功能,它将工作模式从单次“提示-执行-停止”转变为基于证据的自主循环。Goal 为 Codex 设定了一个可审计的完成目标,使其能在空闲时自主决定下一步并推进任务,无需用户反复指令。文章详细阐述了 Goal 的生命周期、命令,并重点说明了如何编写一个包含结果、验证面、约束等六个要素的“强 Goal”。同时,它指出了 Goal 最适用于性能优化、复杂任务复现等需多轮探查的场景,而不适用于简短问答等简单任务。
OpenAI Codex Cookbook 系列之 Goals
从 "prompt" 到 "goals" · Prompt:ask → work → result → wait(做完即停) · Goal:work → check → continue or complete(做完检查证据,未达成则继续) Goal 的关键是给 Codex 一条可审计的完成线,并允许它在空闲时基于已有证据自主决定下一步,而无需用户每轮重复说"继续"、"再跑一次基准"、"现在查测试"。
生命周期和命令 Goals 是 线程作用域 的持久状态,不是全局 memory,也不是项目级 instructions。 /goal <目标> 设置目标 /goal 查看当前目标 /goal pause 暂停 /goal resume 恢复 /goal clear 清除 可能的停止条件:成功、暂停、清除、被打断、预算耗尽、遇到需用户输入的阻塞。
continuation 是事件驱动的,不是死循环:仅在线程 idle、无队列输入、无 pending 工作、Goal 仍 active 且在预算内时才会触发。Plan-only 的回合不触发 continuation;如果某次 continuation 没有调用任何工具,下一次自动 continuation 会被抑制(防止空转)。
如何写一个"强 Goal"--六个要素 1. Outcome(结果):完成时什么应为真。 2. Verification surface(验证面):用什么证据证明--测试、benchmark、报告、命令输出、产物。 3. Constraints(约束):工作期间不能回退什么。 4. Boundaries(边界):可用的文件、工具、数据、仓库。 5. Iteration policy(迭代策略):每次尝试后如何选择下一步。 6. Blocked stop condition(阻塞停止条件):何时该停下并说明无可行路径,需要什么才能解锁。