autogoal 是一个智能体原生的目标生命周期内核技能,用于把“继续做”的模糊指令转化为线程范围内的完成契约:应当为真的是什么、如何验证、什么不能改变、Codex 何时应当停止。
用途
当用户请求一个持久目标、长期自主工作、目标设置,或仓库治理技能要求在工作开始前设置目标时使用。普通提示是“做下一件事”,目标则是“持续工作直到该结果成立,或直到证据表明存在真实阻塞”。目标适用于下一步取决于途中学习结果的工作:调试、迁移、不稳定测试、基准调优、深度研究、大型重构、原型、浏览器验证循环与通过门控计划。
主要能力
autogoal 是目标生命周期内核,负责:目标形态、可衡量的完成阈值、证据标准、活动目标冲突处理、持久计划状态、阻塞与完成规则,以及当目标支撑的工作流未达预期时的修复路由。它不负责项目政策:仓库命令、包管理器、浏览器工具、发布规则、PR 政策、评分卡、问题台账与按通道的通过计划应放在派生技能或文档模板中。派生技能可以比 autogoal 更严格,但不应重复目标生命周期。
使用方式
目标计划通过静态物化组合:一个活动目标、一个具体的 docs/plans 计划文件、一个主模板,以及可选的已物化包。主模板按主导风险选择(task、docs、major-task、slate-plan 等);包按触及面选择(docs、agent-native、browser、package-api 等)。可使用命令行生成:node .agents/rules/autogoal/scripts/create-goal-scratchpad.mjs --template task --with docs --with agent-native --title "<short task title>"。目标流程模式有三种:一次性执行、智能体主导的计划加固、协作式规划。目标必须定义八项内容:流程模式、结果、完成阈值、验证面、约束、边界、迭代策略、阻塞停止条件。
工具契约
使用目标工具:get_goal 检查当前线程目标,create_goal 创建新活动目标,update_goal(status: complete) 仅在目标真正达成时调用,update_goal(status: blocked) 仅在无自主进展且同一阻塞反复出现时调用。每个线程只能有一个活动目标;重复调用 create_goal 会失败。应先调用 get_goal,仅当其返回无目标时再创建。完成前需通过 node .agents/rules/autogoal/scripts/check-complete.mjs <docs/plans/path> 作为机械门禁,但该检查器不能替代测试、浏览器证据、源码审计或基准输出。
适用场景与限制
适用于:用户要求设定目标或要求 Codex 持续工作至可验证终态;仓库技能要求使用 create_goal;工作长期迭代且成功条件可审计;路径不确定但终点可审计;用户不断说“继续”“试下一个修复”“重跑基准”;通过门控通道需要单一持久目标;用户以 autogoal repair <expectation> 要求修复未达预期的工作流。
不适用于:一次性问题或简短回答;微小编辑且无继续循环;完成标准模糊(如“做得更好”“提升性能”);用户明确拒绝目标设置;唯一可能的下一步需要用户输入;创建目标会掩盖不确定性;用户只想修复当前产物一次。
证据类型包括:命令、源码审计、浏览器、产物、评审、外部来源,以及 N/A:<reason>。证据必须指明所属工作区、包、应用、路由或工具。修复模式仅用于目标支撑运行中反复出现的期望未达,不用于单个计划中的一次性措辞偏好。目标工具不可用时,应说明不可用并继续最近的安全工作流。