视频来源:Bilibili 原视频
上一期做出了你的第一个 Skill。这一期解决一个更日常的痛:你让 Codex 修个 bug,它改两个文件就汇报「完成了」,你一跑没好,只能说「继续」;它又改一轮,又停。来来回回,一晚上你就干了一件事——当「继续复读机」。Codex 里管这件事的能力叫 Goal(目标模式):把「做到什么程度才算完成」一次性交给它,让它自己循环推进,别再靠你续命。
为什么你总在说「继续」
先把话说清楚:这不是模型笨。是任务缺一个「做到什么程度才算完成」的标准——它不知道终点在哪,所以每做一轮只能停下来等你发话。你嘴里一句一句的「继续」,本质上是你在手动帮它维持目标。更典型的是:就算你给了它目标,它执行到一半也会停下来问「是否要继续」——它知道最终目标是什么,但还是会停。
Goal 到底是什么
一句话记住:Prompt 是「帮我做一下」,Goal 是「做到这个结果为止」。普通 Prompt 的流程是你问 → 它做 → 给结果 → 停下等你,一轮就停;Goal 是它做 → 自己检查 → 没达标接着做,循环到完成为止。
定位也要分清:Goal 不是全局记忆,也不是项目规则,它是当前这条对话线程里的持久目标——线程里它看过的文件、跑过的命令、改过的代码、看到的日志,全会拿来判断一件事:到了没有。
Goal 和 AGENTS.md / Memory / Plan / Prompt 的关系
很多人把 Goal 当成大号提示词,什么都往里塞。把五层摆清楚就不会乱:
| 层 | 放什么 | 生命周期 |
|---|---|---|
| AGENTS.md | 项目长期规则 | 长期 · 项目级 |
| Memory | 你的个人偏好和经验 | 长期 · 个人级 |
| Plan | 这次任务动手前怎么拆 | 当前 · 前置 |
| Goal | 这次任务做到什么结果才算完 | 当前 · 完成标准 |
| Prompt | 当前这一轮干什么 | 当前 · 单轮 |
真正需要它持续推进到某个结果的,才放 Goal。
什么任务该用 Goal
判据就一条:这个任务有没有清晰的成功条件,和一个能跑的验证循环。
- 适合:代码迁移、大重构、UI 还原、性能优化、修能复现的 bug——天然就是「改一版、验一版、再改」;
- 不适合:问概念、一句话小改动、边界没想清楚的大任务、一堆互不相关的杂活。
Goal 不是让 Codex 无限干活,是让它围绕一个可验证的结果持续推进。
核心:一个能落地的 Goal,写清楚 6 件事
- 目标结果:最后要变成什么样;
- 验证方式:怎么证明完成了——六个里最要命的一个,一定要给能执行的验证面(哪个测试要过、截图和设计稿一致、build 成功);
- 约束条件:哪些东西不能搞坏;
- 修改范围:只许动哪些文件;
- 迭代规则:每一轮怎么推进;
- 停止条件:什么情况别硬干,回来问人。
对比一下就懂。坏写法:「修复登录问题」——Codex 只能盲猜、盲修、碰运气。好写法把六要素填进去:
目标结果:登录后能正常跳转 dashboard;修改范围:只许动 auth、router、middleware 和相关测试;完成标准:登录测试全过,且未登录访问仍被重定向;迭代规则:每改一次跑一次测试;停止条件:复现不了或缺环境变量,停下来问我。
同一件事,信息量完全不一样:不是让它盲修,是先复现、再修改、再验证。
但新手不该手写 Goal
新手真正的障碍不是记不住格式,是压根不知道「完成标准」该怎么定义——这东西要经验。所以别手写:先让 Skill 把模糊需求锻造成合格的 Goal,你只干一件事——审核。审核就问五个问题:有明确结果吗?有验证方式吗?有不许动的范围吗?有每轮迭代规则吗?有卡住时的停止条件吗?五项都有,放行。你从「写稿的」变成「签字的」。
/goal 是内置的,define-goal 是帮你写目标的 Skill
两层东西别混:/goal 是 Codex 内置的目标执行模式(/goal 查看当前目标,pause / resume / clear 管生命周期);define-goal 是 OpenAI 官方 curated 的 Skill,作用是帮你把模糊需求写成合格的 Goal。注意:官方的不等于默认装好——敲一下 $define-goal,能识别就是有,找不到就装:
# 方法一
$skill-installer define-goal # 装完重启 Codex
# 方法二:/plugins 里搜索安装,装完新开一个 thread
Goal 类 Skill 怎么选:三档
| 档 | Skill | 定位 |
|---|---|---|
| 官方主线 | define-goal | 轻量,把模糊需求变成合格目标,新手就用它 |
| 社区增强 | goal-writer | 六要素结构更完整,会先反过来问你澄清问题 |
| goal-setter | 更工程化,支持 Codex App 插件安装,兼容 Claude Code | |
| 重型长任务 | goalcraft | 生成加激活,支持长任务状态记录 |
| goal-forge | rough idea → SPEC.md → GOAL.md,适合几小时的复杂任务 |
升级路径:define-goal 打底 → 不够用上社区版 → 真有长任务再碰重型的,别反着来。(提示:goal-setter 的仓库名带 -skill 后缀,直接搜名字容易搜不到,点上面链接直达。)
最后
Goal 不难,难的是写出一个能验证的 Goal。所以别硬写——让 Skill 帮你写,你只管审。完整的工作流就五步:模糊需求 → $define-goal 生成 → 人工审核(唯一要亲自干的一步)→ /goal 执行 → 证据收尾。
xhyapi