Claude Code /goals:将“执行者”与“裁判”分离,通过独立评估模型防止 AI 代理过早退出,确保任务真正完成

工具5个月前发布 小马良
264 0

在复杂的代码迁移或长期开发任务中,开发者常遭遇一种令人沮丧的现象:AI 代理显示任务已完成,流水线看似正常,但关键模块从未编译,或核心逻辑未被覆盖。这并非模型能力不足,而是代理“自作主张”地决定了任务结束。

Claude Code /goals:将“执行者”与“裁判”分离,通过独立评估模型防止 AI 代理过早退出,确保任务真正完成

为解决这一痛点,Anthropic 在 Claude Code 中推出了 /goals 功能。它正式将任务执行代理与任务完成评估代理分离,引入一个独立的“裁判”模型,在每一步后审查工作成果。只有当预设的客观条件被严格满足时,任务才会被标记为完成。这一机制无需第三方可观测性平台,即可显著提升长程任务的可靠性与可审计性。

核心机制:双模型协作,内置裁判

1. 执行与评估的双层循环

传统 Agent 在一个单循环中工作:读取 -> 执行 -> 自我判断是否完成。这种模式下,模型容易混淆“已做的工作”与“需做的工作”,或因幻觉而误判。
/goals 引入了第二层循环:

  • 执行者 (Worker):负责具体的编码、文件操作和命令运行。
  • 评估者 (Evaluator):在每轮执行后介入,对照用户定义的目标条件进行严格审查。
    • 若条件未满足:强制代理继续运行。
    • 若条件满足:记录达成证据,清除目标,正式结束任务。

2. 为何选择独立评估器?

  • 避免自欺欺人:“做具体工作的模型是最糟糕的评判者。” 独立评估器消除了执行者的认知偏差与偷懒倾向。
  • 低成本高效能:评估任务通常只需判断“是/否”或验证简单状态,因此可以使用更小、更快的模型(如 Claude Haiku),在保证精度的同时大幅降低 Token 成本。
  • 原生集成,零维护:无需配置 LangGraph 的批评者节点或 Google ADK 的复杂终止逻辑,/goals 作为 Claude Code 的内置功能,开箱即用。

如何定义成功的 /goals?

Anthropic 指出,高效的 /goals 应具备以下三个要素:

要素说明示例
可衡量的最终状态必须是客观、可量化的指标,而非主观感受“所有单元测试通过”、“构建退出码为 0”、“待办队列为空”
明确的检查方法指定具体的验证命令或操作“运行 npm test 且无报错”、“检查 git status 是否为干净状态”
相关的约束条件规定过程中不可触碰的红线“不得修改现有测试文件”、“不得更改公共 API 签名”

示例 Prompt:

/goals
- 目标:重构用户认证模块
- 验证条件:
  1. 运行 `pytest tests/auth/` 全部通过 (退出码 0)
  2. `npm run build` 成功完成
  3. 没有新增任何 linting 错误
- 约束:
  1. 不得修改 `public/api.ts` 中的接口定义
  2. 保持原有日志格式不变

行业对比:谁在定义“完成”?

平台完成判定机制特点
Claude Code (/goals)内置独立评估器默认分离执行与评估,原生支持,低配置成本,Haiku 模型高效裁决
OpenAI Agents模型自判 + 外部评估器保持循环不变,允许用户附加自定义评估逻辑,灵活性高但需自行实现
Google ADK / LangGraph开发者自定义逻辑支持独立评估节点,但需手动构建批评者、编写终止逻辑及配置可观测性,开发成本高

行业趋势:从“聊天”到“可审计系统”

/goals 的推出反映了 AI 代理领域的一个关键转变:从依赖模型的主观判断,转向基于客观验证的系统化工程。

正如 Sprinklr 解决方案总监所言:“你不能相信一个模型能自己评判自己的工作。” 随着 Agent 承担更多有状态、长周期的任务,评估器模型、验证系统与独立裁决机制将成为基础设施的标准组件。

Anthropic 通过将这一机制原生化为 /goals,不仅提升了单个任务的可靠性,更推动了整个 Agent 生态向更可审计、更可观察、更可控的方向演进。对于企业而言,这意味着 AI 不再只是一个“聪明的助手”,而是一个可以被严格管理和信任的“数字员工”。

© 版权声明

相关文章