Codex 用例
遵循目标
为 Codex 设定一个持久的长期工作目标。
使用 /goal 适用于任务需要 Codex 跨回合持续工作,直至达到可验证的停止条件的情况。
适用场景
- 具有明确成功条件和验证循环的长期编码工作。
- 代码迁移、大型重构、部署重试循环、实验、游戏以及 Codex 能够持续推进的副项目。
- 需要运行具有明确成功标准的长期实验的团队。
目录
遵循目标
为 Codex 设定一个持久的长期工作目标。
使用 /goal 适用于任务需要 Codex 跨回合持续工作,直至达到可验证的停止条件的情况。
使用 /goal 适用于任务需要 Codex 跨回合持续工作,直至达到可验证的停止条件的情况。
适用场景
- 具有明确成功条件和验证循环的长期编码工作。
- 代码迁移、大型重构、部署重试循环、实验、游戏以及 Codex 能够持续推进的副项目。
- 需要运行具有明确成功标准的长期实验的团队。
起始提示词
简介
使用 /goal 当你希望 Codex 持续朝着一个持久目标工作,而不是在一个常规回合后就停止时使用。它适用于具有明确目标、验证循环,并且有足够空间让 Codex 在不需要你引导每一步的情况下就能取得进展的工作。当你使用 /goal,Codex 可以独立工作数小时而无需你的输入。
通过以下方式设定目标 /goal <objective>,检查当前目标为 /goal,并使用 /goal pause, /goal resume, or /goal clear 当你需要控制运行过程时。
If /goal 未出现在斜杠命令列表中,请启用 features.goals
in config.toml:
[features]
goals = true
你也可以从 CLI 运行 codex features enable goals 或让 Codex 运行它。
选择合适的工作
一个好的目标应该大于单次提示,但小于开放式的待办事项。它应该定义 Codex 需要达成什么、不应该更改什么、如何验证进展,以及何时应该停止。
这适用于以下情况:
- 目标技术栈、一致性检查和约束条件都很明确的代码迁移
- Codex 能够在每个检查点后运行测试的大型重构
- Codex 能够持续改进可用工件的实验、游戏或原型
避免为一系列松散且不相关的工作设定目标。
建立循环
- 明确一个目标和一个停止条件。
- 为 Codex 指定它必须首先阅读的文件、文档、Issue、日志或计划。
- 定义能够证明进展的命令或工件。
- 告诉 Codex 按检查点工作,并保留简短的进度日志。
- 使用
/goal以便在其运行时检查状态。 - 在运行完成、受阻或改变方向时暂停、恢复或清除目标。
最重要的部分是契约。Codex 在开始之前就应该清楚“完成”意味着什么。如果目标是迁移,“完成”可能意味着新路径通过了契约测试,而旧路径仍然可以回滚。如果目标是游戏或原型,“完成”可能意味着应用能够构建、启动,并且符合输入参考或预期行为。
向 Codex 寻求帮助:首先与它讨论你想要构建的内容,然后要求它直接设定目标并开始工作。
让 Codex 独立工作
在执行目标期间,要求提供简洁的进度报告,让运行过程更值得信赖。有用的状态更新应包含当前的检查点、已验证的内容、剩余的工作量以及 Codex 是否受阻。如果状态描述变得模糊,请收紧目标,而不是添加更多临时指令。明确告诉 Codex 下一个重要的检查点是什么、用什么命令来证明,以及什么原因应该导致它暂停。
当 Codex 遵循一个目标时,它可以独立工作数小时,而无需你时刻关注。当它确信已达到停止条件时就会停止运行,因此你应该将 /goal 视为一个无需监控的后台任务。
目标示例
迁移
无论你是在将游戏迁移到新技术栈、将移动应用迁移到新平台,还是将代码库迁移到新框架,你都可以使用 /goal 让 Codex 执行迁移:
原型创建
无论你是要从头创建新应用、新游戏还是新功能,你都可以使用 /goal 让 Codex 完成一个经过打磨的初版。你可以使用 PLAN.md 文件来指导初版的创建,精确描述你想要构建的内容。
提示词优化
当你拥有一个评估套件时,你可以使用 /goal 根据评估结果优化提示词。Codex 可以检查失败用例、更新提示词、重新运行评估,并不断迭代,直到分数提高或达到你设定的停止条件。