⚡ AgentUpdate 技术博客

从“回车键监工”到“目标驱动架构”:深度解析 Claude Code 与 Codex 的 /goal 指令演进

从“回车键监工”到“目标驱动架构”:深度解析 Claude Code 与 Codex 的 /goal 指令演进

在 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 鼓励模型直接利用环境工具(如 greptest-runner)来寻找证据,而非仅仅依赖文本描述。
维度 Claude Code (/goal) Codex (/goal)
判定权 独立评估模型 (Haiku) 主代理自身 (GPT-4.5/5.5)
证据来源 仅限对话记录文本 真实文件系统与工具输出
状态管理 会话作用域 (Session-scoped) 线程级持久化 (Persisted State-DB)
核心哲学 防止模型自欺欺人 强化环境事实校验

三、 实战指南:如何编写“防弹级”的目标条件?

/goal 的效果高度取决于条件的质量。一个模糊的目标(如“把代码写好”)会导致 AI 无限循环或产生幻觉。优秀的 /goal 条件应遵循以下黄金公式

目标 = 任务范围 + 验收标准 + 验证命令 + 边界约束

推荐模板:

markdown /goal 完成 [功能模块] 的迁移,要求:

  1. 实现 A、B、C 三个核心逻辑;
  2. 最终必须运行 npm test 且输出中无 FAIL;
  3. 验证方式:贴出完整的测试覆盖率报告;
  4. 约束:不要修改 src/api/ 目录下的任何公共接口签名;
  5. 兜底:若 20 轮内未完成则停止并输出当前阻塞点。

避坑指南:

  • 不可验证的词汇:杜绝使用“更优雅”、“更高效”、“生产可用”等主观词汇。评估器看不到你的审美,它只能看到退出码 (Exit Code) 和字符串匹配。
  • 遗漏证据要求:由于 Claude 的评估器只看对话,你必须显式要求 AI “贴出测试结果”,否则评估器会因“证据不足”而拒绝通过。

四、 进阶配置:权限与自动化组合拳

为了实现真正的“无人值守”,/goal 通常需要配合 自动模式 (Auto Mode) 使用:

  1. Auto Mode + /goal:Auto Mode 自动批准工具调用(如写文件、运行 Shell),/goal 自动驱动轮次循环。两者结合,你才能放心地去喝杯咖啡。

  2. 预批准安全命令:在 .claude/settings.json 中配置白名单,减少不必要的弹窗确认:

    { "permissions": { "allow": ["Bash(npm test *)", "Bash(git status)"] } }

  3. 非交互模式:在 CI/CD 或脚本中,使用 claude -p "/goal ..." 可以直接完成长程任务并退出。

五、 总结:软件工程的未来是“反馈工程”

/goal 指令的普及标志着程序员的角色正在发生转变。代码正在变得廉价,而判据 (Criteria) 正在变得昂贵。未来,高阶开发者的核心竞争力将不再是手写代码的速度,而是定义目标、设计反馈闭环 (Feedback Loop) 以及构建自动化代理工作流的能力。

正如控制论之父维纳所暗示的:不要试图与机器闲聊,给它精确的反馈。在目标驱动的时代,请记住:清晰的判据,胜过一万句 Prompt。