Goal 模式教程:用 /goal 把长任务交给 ChatGPT 和 Codex 自己跑完
需要很多步、跑很久的工作,适合用 Goal 模式:把结果、限制和完成标准一次说清,让 ChatGPT 或 Codex 自己推进、自己检查。本文按官方文档讲清 /goal 在各客户端的用法、目标怎么写、运行中怎么管,以及多个目标并行时的注意事项。
要让 ChatGPT 或 Codex 完成一件需要很多步、跑很久的工作,比如把整个项目从 JavaScript 迁到 TypeScript,最好的办法是用 Goal 模式(/goal):把目标、限制和「做完的标准」一次说清,让它自己推进、自己检查。本文按 OpenAI 官方文档讲清 Goal 模式怎么开、目标怎么写、跑起来以后怎么管。
在哪里用 /goal
- ChatGPT 桌面应用:在输入框输入
/goal进入 Goal 模式。输入框上方会出现进度条,可以暂停、继续、修改或清除目标。 - Codex 命令行:在交互会话里输入
/goal。之后在同一个会话里继续发消息,就能调整方向或询问进度。 - 编辑器插件:在对话里输入
/goal,为当前打开的工作区开启 Goal 模式,同样在同一个对话里继续引导。 - 网页版 ChatGPT:需要在云端长时间运行的工作,用 ChatGPT Work,把结果、限制和检查标准直接写进提示词。
第一步:目标没想清楚,先用 /plan
/goal 后面写的文字,既是第一条任务提示,也是判断「做完了没有」的标准。所以目标越具体越好。如果你自己还说不清要什么,先输入 /plan:ChatGPT 会反过来问你问题、找出限制条件,再把结果整理成带可衡量完成标准的目标,然后你再用 /goal 启动。
第二步:把「做完」写成能检查的标准
官方建议目标里包含三部分:
- 结果:要得到什么,而不只是要做什么动作;
- 限制:必须用的工具、不能碰的范围、兼容性要求、不想用的方法;
- 验证:用哪些测试、数据或检查标准证明已经完成。
以官方的迁移例子为思路,可以这样写:
/goal 把项目从 JavaScript 迁移到 TypeScript。保持现有功能不变;在严格模式下编译通过,不使用显式的 any 类型;完整测试全部通过。
有了能检查的标准,ChatGPT 才能对照它检查自己的进度,判断工作是否完成。
第三步:跑起来以后怎么管
- 进度条(桌面应用):随时暂停或继续,修改目标,或者清除目标。
- 追加消息:任务运行中直接发消息,补充背景或调整限制。
- 旁支对话(桌面应用):想知道进展或让它解释某一步,在旁支对话里问,不打断主任务。
- 断网前先暂停:预计要断网时先暂停,网络恢复后再继续。
权限不会因为开了 Goal 而变大
开启目标不会给它更多权限:沙箱和审批规则和平时完全一样。需要你拍板的时候,目标会自动暂停等你决定。如果开了自动审批复查,会有一个单独的审核者评估符合条件的请求,同样不会越过原有边界。所以放心让它长时间跑,但审批模式要按项目的实际情况设好。
同时跑多个目标
每个对话有自己独立的上下文、消息、结果和目标,多个对话可以同时运行。要注意:
- 不要让两个对话改同一批文件,或往同一个连接的数据源里写数据;
- 并行写代码时,用工作树(worktree)给每个对话一份独立的代码检出;
- 在 Mac 上跑本地任务,在设置里打开 Prevent sleep while running,防止电脑休眠中断任务;
- 打开系统通知或 Pets(桌面宠物)提醒,任务需要你输入或可以审查时会提醒你。
上手建议
- 相关的工作放在同一个对话里,相关文件放进同一个项目;互不相关的任务才分开开对话。
- 第一次用,挑一个有现成测试的小任务,例如「修好这个模块的全部失败测试,不改测试文件」,观察它怎么按标准自查。
- 想把大任务交出去之前,先用
/plan把目标聊清楚,再/goal启动。
经常把大任务交给 Goal 模式跑的,可以在 BuyBuy代充(buybuytopup.cn) 开通 ChatGPT Pro;日常使用开通 Plus 也能用上文的方法。