
structure|1️⃣ 三级笔记、思想框架
中文教程解释 Codex Goals 的实用入口
核心观点 / 主旨
Codex Goals 是把一次性 prompt 升级为持续工作合约的机制。它让 Codex 在同一个线程里围绕明确结果、验证标准、约束边界和预算持续推进,直到有证据证明目标完成,或诚实地报告阻塞。
一、Goals 的基本定义:从一次性指令到持久完成条件
1.1 Goals 是 Codex 里的持久目标机制
- 普通 prompt 是一次性的:用户给出指令,Codex 执行并等待下一轮。
- Goals 提供持续有效的完成条件:什么算完成、如何验证、过程中什么不能动。
- 它不是让 AI 无边界自主运行,而是一个用户可控、有范围、有预算的完成合约。
1.2 Goals 适合路径会随证据变化的任务
- Codex 原本就能处理边界清楚的任务,例如看代码、修 bug、写测试、解释报错。
- Goals 针对更长链条的任务:性能调优、不稳定测试排查、依赖迁移、bug 复现、多步重构、benchmark 调参、需要最终文档的研究任务。
- 这类任务的问题不是 prompt 不够长,而是目标需要在多轮工作中保持可见。
二、怎么使用 Goals:命令、版本和生命周期
2.1 使用入口
- Goals 从 Codex 0.128.0 开始支持,当前入口是 Codex CLI 的 experimental 功能。
- 设置目标时使用
/goal 加上期望达到的结果。
- 目标激活后,Codex 可以查看代码、运行命令、修改文件、测试结果,并根据证据判断下一步。
2.2 生命周期管理
/goal 查看当前目标。
/goal pause 暂停激活中的目标。
/goal resume 恢复已暂停目标。
/goal clear 移除当前目标。
- 停止条件包括成功完成、暂停、清除、用户打断、达到预算上限,或遇到需要用户介入的阻塞点。
三、Goals 与普通 prompt 的关键差异
3.1 普通 prompt 只完成当前指令
- 普通请求里,Codex 完成当前动作后就汇报结果并等待。
- 它没有一个持续附在线程上的目标,也不会在下一轮自动以同一成功标准继续检查。
3.2 Goals 让 Codex 按证据继续或完成
- Goals 让 Codex 在每轮结束后检查目标是否达成。
- 如果目标仍激活且预算未用尽,Codex 可以从最新状态继续。
- 示例中的 p95 checkout 延迟目标不是泛泛的“提升性能”,而是给出可测量结果、验证方法和正确性约束。
四、好的 Goal 是精简合约,不是更长 prompt
4.1 强 Goal 通常定义六件事
- 结果:工作完成时应该呈现的最终状态。
- 验证方法:用测试、benchmark、报告、产出物、命令输出或源材料证明。
- 约束:工作期间哪些东西不能退化。
- 边界:Codex 可以使用哪些文件、工具、数据、仓库或资源。
- 迭代策略:每次尝试后如何选择下一步。
- 阻塞停止条件:什么时候应停止并报告限制。
4.2 强弱 Goal 的差别在于证据标准
- 弱 Goal 只描述愿望,例如“降低延迟”或“写份文档”。
- 强 Goal 会命名最终状态、验证面和约束,例如指定 p95 阈值、基准测试、正确性测试、可触碰范围,以及遇到阻塞时需要汇报的证据。
- 如果性能改善但没有到阈值,或延迟达标但测试失败,Goal 都不能算完成。
五、目标激活后改变的三件事
5.1 目标持续可见
- 线程里始终保留原始目标。
- benchmark 有提升但未达阈值时,Codex 可以继续。
- 研究遇到数据缺失时,Codex 可以调整证据计划,而不是丢失研究标准。
5.2 可以从空闲线程继续
- Codex 不会在另一轮还在跑、用户输入排队、或其他线程工作待处理时继续。
- 只有线程空闲、目标激活、预算仍可用时才会继续。
5.3 完成必须有证据
- Goal 不应因为模型觉得“差不多”就完成。
- 完成需要对照具体证据:文件改动、命令运行、测试通过、benchmark 输出、生成产物或研究证据。
六、Goals 的内部设计:线程范围内的持久状态
6.1 Goal 不是全局记忆,也不是项目指令
- Goal 属于当前线程,和该线程里的文件检查、命令运行、diff、日志、推理上下文绑定。
- 它记录目标、生命周期、预算和进度。
- 这种范围限制让 Goal 成为用户、模型、线程三者之间的合约。
6.2 继续机制是事件驱动的
- Codex 只在安全边界处检查是否继续,例如一轮结束后、没有待处理工作、没有用户输入排队、线程空闲时。
- 纯规划工作不会触发继续。
- 被打断会暂停目标;恢复线程时,可以在合适情况下恢复目标。
- 如果一次继续没有产生工具调用,下一次自动继续会被抑制,避免空转。
6.3 预算不是完成
- 达到预算上限时,Codex 应停止实质性工作,汇总进度和阻塞点。
- 预算耗尽只能说明当前资源用完,不能被包装成目标完成。
七、复杂研究示例:复现 Deep Hedging 论文
7.1 研究 Goal 要定义“最强证据支持”
- 弱目标是笼统地“复现论文”。
- 更好的目标是尝试每个主要结果,验证输出,并在最终报告中区分成功机制、近似训练结果、被阻断路径和剩余不确定性。
- 这样 Codex 的任务不是做一个看起来厉害的复现,而是在现有材料下尽量减少不确定性。
7.2 Goal 让研究保持诚实
- Codex 可以把论文结论拆成多个证据通道,重建可本地测试的部分,并标出无法精确复现的原因。
- 当缺少随机种子、训练路径、计算图、优化器状态、检查点或原始模拟状态时,最诚实的结果是部分和近似复现。
- 最终报告应保留不同证据强度,避免把近似结果压平成单一的“成功”声明。
八、什么时候不该用 Goals
8.1 简单任务不需要 Goal
- 一行代码修改、简单解释、短代码评审、只想要一个答案的问题,更适合普通 prompt。
8.2 终点线模糊时不该用 Goal
- “把这个做得更好”“重构这段代码”都太弱,除非定义了最终状态、测试和约束。
- 如果数据可能不可用、benchmark 可能不稳定、只能使用代理证据,都要在 Goal 中说明处理方式。
关键概念 / 术语
- Goals:Codex 的持久目标机制,用来把一次性请求变成有状态的工作循环。
- 完成合约:由结果、验证、约束、边界、迭代策略和阻塞条件组成的工作协议。
- 证据检查:目标完成必须由测试、benchmark、产出物或研究材料支撑。
- 线程范围状态:Goal 只属于当前线程,不是全局记忆或项目级指令。
- 事件驱动继续:Codex 只在安全边界处判断是否继续,而不是无条件循环。
- 预算上限:限制持续工作的资源边界,达到预算表示停止和汇报,不表示完成。
concepts|2️⃣ 关键概念、概念网络
agentic reading|3️⃣ 费曼 x3