试试 Codex 的 /goal 指令

发布时间:2026/7/7 10:32:12
试试 Codex 的 /goal 指令 用 AI 写代码的人应该都干过这件事跑完一轮发现没做完打字继续。又跑一轮还是没完再打字继续。来来回回五六轮中间还穿插着你刚才改的不对回退“跑一下测试看看”“别停把剩下的也改了”。整个过程就像在遛一条注意力只有三秒的狗——你得一直拽着绳子稍一松手它就跑去闻别的东西了。貌似Codex 里也有个 Goal 功能我用了几天感觉思路是对的。它想解决的就是这个问题能不能让 AI 自己知道做完长什么样不用你每一步都盯着。Goal 是什么东西说白了就是一个持久目标。你用/goal给 Codex 设一个目标它就会自己跑跑完一步会自己检查有没有达成没达成就继续达成了就停。跟普通 prompt 的区别在于普通 prompt你问 → 它答 → 等你下一步指令Goal 模式你定目标 → 它自己干 → 自己判断 → 继续或完成关键变化是下一步该做什么取决于它刚发现了什么不是每一步都要你拍板。比如你让它集成 OAuth2它写完授权流程发现 token 刷新逻辑有问题会自己去修、自己跑测试验证不需要你手动说再试一次。怎么用命令很简单/goal 给项目集成 OAuth2 登录支持 Google 和 GitHub 两个 Provider然后就不用管了。它会自己跑测试、改代码、再跑测试直到达成目标或者碰到搞不定的障碍。管理命令命令干嘛用的/goal看当前目标是什么/goal 描述设一个新目标/goal pause暂停/goal resume恢复/goal clear清掉实际案例集成 OAuth2说一个我自己用 Goal 跑的真实场景给一个 Node.js 项目集成 OAuth2 登录。这个任务看着简单但坑也不少。你要处理授权码流程、token 交换、refresh token、用户信息映射、跟现有 session 体系对接中间还涉及 PKCE、state 参数防 CSRF 这些安全细节。拆成单独的小任务每个都不难但串起来之后很容易丢失细节处理。烂 Goal/goal 给项目加上 OAuth2 登录什么叫加上Google 还是 GitHub登录成功后 token 存哪refresh 逻辑做不做现有的密码登录还能用吗这些问题不讲清楚Codex 跑完你也不知道它算不算做完了。好 Goal/goal 给项目集成 OAuth2 登录支持 Google 和 GitHub 两个 Provider。 用现有的用户表结构OAuth 登录后映射到本地用户。 验证标准两个 Provider 都能走通完整的登录-回调-token刷新流程 跑通集成测试现有的密码登录不能受影响。 每轮跑完记录改了什么、测试结果、下一步打算试什么。 如果某个 Provider 的 SDK 有问题或者跟现有架构冲突了停下来报告 卡在哪里、尝试过什么、需要我提供什么配置或决策。Codex 实际跑下来的结果Google 登录授权码流程 → 跑通了GitHub 登录授权码流程 → 跑通了token 自动刷新 → 做了用 cron 任务在 token 过期前刷新用户信息映射 → 做了email 匹配 首次登录自动建本地账号PKCE → 做了Google 要求的state 参数防 CSRF → 做了集成测试 → 全绿现有密码登录 → 没动验证通过中间碰到了一个问题GitHub 的 OAuth API 返回的用户邮箱有时候是 null用户设了隐私Codex 自己发现的自己加了降级逻辑——先用 username 查本地用户查不到就让用户手动绑定邮箱。如果是普通 prompt 模式这个问题大概率要到测试阶段甚至上线后才暴露。Goal 模式下它每轮都在跑测试验证自己就把这个边界情况堵住了。这就是 Goal 的价值——它不会因为主流程跑通了就停下来交差它会带着测试结果告诉你哪些做到了哪些有坑坑在哪。什么时候该用什么时候别用适合用 Goal 的场景第三方服务集成OAuth2、支付、消息队列等有明确的端到端验收标准flaky test 排查需要反复跑、反复改性能优化有 benchmark有明确指标任何做完有客观标准、但路径不确定的任务别用 Goal 的场景改一行代码问一个问题简单的 code review你自己都不知道做完长什么样的任务最后一种情况尤其要注意——如果你自己都说不清楚目标Goal 只会让 Codex 带着一个模糊的路径在那疯狂烧你的额度。背后的实现思路Goal 不是全局记忆也不是项目级配置它是线程级状态。你在一个对话里设的 Goal只属于那个对话。状态有四种active跑着、paused暂停、complete完成、budget-limited到5h/周限额了。它的继续机制是事件驱动的不是简单循环。只有在以下条件全部满足时才会自动继续当前这轮跑完了没有其他任务在排队没有用户输入在等Goal 处于 active 状态额度没烧完(很费额度这个)限额到了之后它会停下来给你一份进度总结告诉你下一步该做什么。额度耗尽不等于目标完成——这一点很重要别搞混了。我自己的感受用了几天之后我觉得 Goal 解决的核心问题其实不是效率而是**“上下文丢失”**。以前用 Codex 跑复杂任务最大的痛点不是它能力不够而是你得不停地把目标重新说一遍。跑偏了你拽回来拽回来它又跑偏了来回拉扯消耗的精力比自己写还多。Goal 把目标钉在那里Codex 每轮都能看到我要去哪。这听起来很简单但对多步骤任务来说区别很大。不过这个功能目前还是偏早期。写好 Goal 本身是个技术活——你得想清楚目标、验证方式、约束条件这其实就是把需求分析的活提前干了。如果你平时写需求就是加上登录优化一下这种级别的描述那 Goal 也帮不了你太多。