在 AI 辅助编程的早期阶段,开发者往往陷入一种**“回车键监工” (Enter-key Babysitting)** 的窘境:你输入指令,AI 执行一小段代码,然后停下来等你检查并输入“继续”。这种交互模式下,人类依然是核心调度器 (Human-in-the-loop),AI 只是一个更聪明的输入法。
2026 年中,随着 Claude Code 和 Codex 相继内置 /goal 指令,AI 编程工具正式从“连续执行”进化为**“按验收条件收敛” (Convergence by Acceptance Criteria)**。这不仅是一个命令的增加,更是软件工程范式的根本性重构。
一、 范式转移:什么是真正的“目标驱动”?
传统的 AI 编程是指令驱动 (Instruction-Driven),而 /goal 引入了目标驱动 (Goal-Driven)。它的核心不在于让 AI 多跑几轮,而在于定义一个可验证的终态 (Verifiable End-state)。
核心逻辑:用户设定目标 $\rightarrow$ Agent 自动多轮执行 $\rightarrow$ 独立模型/机制验证 $\rightarrow$ 循环直到达成或预算耗尽。
这种模式下,Agent 拥有了持续执行能力 (Persistent Execution)。它会自主阅读代码、执行 Shell 命令、运行测试、修复错误并不断重试,直到满足你设定的判据 (Criteria)。
二、 架构对垒:独立裁判 vs. 环境自审
虽然 Claude Code 和 Codex 都推出了 /goal,但其底层实现哲学截然不同,这决定了它们在处理复杂任务时的可靠性边界。
1. Claude Code:独立裁判模式 (Judge Mode)
Claude Code 采用了一种**“克制且解耦”**的设计。它将执行者与验收者完全分离:
- 主代理 (Main Agent):负责写代码、跑测试等具体脏活。
- 评估器 (Evaluator):默认使用更轻量、响应更快的 Haiku 模型。它不具备工具调用权限,仅通过阅读对话记录 (Transcript Evidence) 来判定目标是否达成。
技术实现: Claude 使用了会话级的 停止钩子 (Stop Hook)。当主代理试图结束任务时,钩子会拦截该动作并触发评估器。评估器必须输出符合以下结构的 JSON:
{ "ok": true, "reason": "引用对话中证明条件已满足的具体证据" }
2. Codex:环境自审模式 (Self-audit Mode)
Codex 则倾向于**“环境证据导向”。它不依赖独立裁判,而是通过强制性的自审清单 (Completion Audit)** 约束主代理。
- 运行时延续 (Runtime Continuation):Codex 将目标状态持久化在本地数据库(如 SQLite)中。每一轮开始前,系统会自动注入一段延续提示词 (Continuation Prompt),强制模型对照真实的系统产物 (Artifacts) 进行核查。
- 工具集成:Codex 鼓励模型直接利用环境工具(如
grep、test-runner)来寻找证据,而非仅仅依赖文本描述。
| 维度 | Claude Code (/goal) | Codex (/goal) |
|---|---|---|
| 判定权 | 独立评估模型 (Haiku) | 主代理自身 (GPT-4.5/5.5) |
| 证据来源 | 仅限对话记录文本 | 真实文件系统与工具输出 |
| 状态管理 | 会话作用域 (Session-scoped) | 线程级持久化 (Persisted State-DB) |
| 核心哲学 | 防止模型自欺欺人 | 强化环境事实校验 |
三、 实战指南:如何编写“防弹级”的目标条件?
/goal 的效果高度取决于条件的质量。一个模糊的目标(如“把代码写好”)会导致 AI 无限循环或产生幻觉。优秀的 /goal 条件应遵循以下黄金公式:
目标 = 任务范围 + 验收标准 + 验证命令 + 边界约束
推荐模板:
markdown /goal 完成 [功能模块] 的迁移,要求:
- 实现 A、B、C 三个核心逻辑;
- 最终必须运行
npm test且输出中无 FAIL; - 验证方式:贴出完整的测试覆盖率报告;
- 约束:不要修改 src/api/ 目录下的任何公共接口签名;
- 兜底:若 20 轮内未完成则停止并输出当前阻塞点。
避坑指南:
- 不可验证的词汇:杜绝使用“更优雅”、“更高效”、“生产可用”等主观词汇。评估器看不到你的审美,它只能看到退出码 (Exit Code) 和字符串匹配。
- 遗漏证据要求:由于 Claude 的评估器只看对话,你必须显式要求 AI “贴出测试结果”,否则评估器会因“证据不足”而拒绝通过。
四、 进阶配置:权限与自动化组合拳
为了实现真正的“无人值守”,/goal 通常需要配合 自动模式 (Auto Mode) 使用:
Auto Mode + /goal:Auto Mode 自动批准工具调用(如写文件、运行 Shell),
/goal自动驱动轮次循环。两者结合,你才能放心地去喝杯咖啡。预批准安全命令:在
.claude/settings.json中配置白名单,减少不必要的弹窗确认:{ "permissions": { "allow": ["Bash(npm test *)", "Bash(git status)"] } }
非交互模式:在 CI/CD 或脚本中,使用
claude -p "/goal ..."可以直接完成长程任务并退出。
五、 总结:软件工程的未来是“反馈工程”
/goal 指令的普及标志着程序员的角色正在发生转变。代码正在变得廉价,而判据 (Criteria) 正在变得昂贵。未来,高阶开发者的核心竞争力将不再是手写代码的速度,而是定义目标、设计反馈闭环 (Feedback Loop) 以及构建自动化代理工作流的能力。
正如控制论之父维纳所暗示的:不要试图与机器闲聊,给它精确的反馈。在目标驱动的时代,请记住:清晰的判据,胜过一万句 Prompt。