首页 > 教程攻略 > ai教程 >一条龙服务!Claude Code新功能goal详解

一条龙服务!Claude Code新功能goal详解

来源:互联网 时间:2026-07-22 07:20:31

其实,Claude Code v2.1.139 这次更新里的 /goal 功能,挺有意思的。

用过 AI 写代码的人大概都有类似的体验:你给它布置一个大任务,它吭哧吭哧干完一轮,然后就停在那了。你得手动说一句"继续",它再干一轮,然后又停。来来回回催好几趟,跟赶驴似的,推一下动一下。

/goal 就是为了解决这个痛点设计的。你设定一个完成条件,Claude 每干完一轮,系统会自动检查条件是否满足。没满足就继续,满足了自动停,全程不需要你盯着。

下面展开聊聊。

基本用法

用法很简单,直接说:

/goal 做一个移动端界面适配的检查,用webapp-testing这个skills。出现了适配性的bug就修复,直到满足 webapp-testing 的检查标准。

设完之后 Claude 立刻开始干活,你会看到一个 ◎ /goal active 的状态指示器,显示目标已经运行了多久。

一条龙服务!Claude Code新功能goal详解

每一轮结束后,系统会用一个小模型(默认 Haiku)评估条件是否满足,并给出一个简短的 reason。这就是"评估器"。你可以在状态面板和对话记录里看到这个 reason,了解 Claude 当前在朝哪个方向努力。

直到任务成功完成。

一条龙服务!Claude Code新功能goal详解

官方文档里给了几个适合 /goal 的场景:

  • 把一个模块迁移到新 API,直到所有调用点编译通过、测试全过
  • 按照设计文档实现功能,直到所有验收标准满足
  • 把一个大文件拆成聚焦的小模块,直到每个文件都在大小限制内
  • 清理 issue 列表,直到队列为空

所以,有明确终态、可验证的大任务,就适合用 /goal

/loop、Stop Hook 的区别

Claude Code 提供了三种"让 Claude 持续工作"的机制,来看官方文档怎么说的:

一条龙服务!Claude Code新功能goal详解

简单来说,/goal 是"跑到目标为止",/loop 是"每隔多久跑一次",Stop Hook 则是"你自己定规则"。

另外,"auto mode 自动批准工具调用"解决的是单轮内的权限问题,不跨轮。/goal 解决的是跨轮的自动续跑。两者可以互补:auto mode 去掉每个工具的确认弹窗,/goal 去掉每轮结束后的手动续跑。

怎么写好一个 goal 条件

这是 /goal 好不好用的关键。

评估器只会看对话记录里已有的内容来判定条件是否满足,它不会自己跑命令或读文件。所以,你的条件要写成 Claude 的输出能证明的东西。

一个好的条件通常包含三个要素:

  1. 一个可衡量的终态
  2. 一个验证方式
  3. 需要保持不变的约束

举几个例子:

# 好:具体、可验证
/goal npm test 退出码为0,且没有修改其他测试文件

# 好:有明确的检查方式
/goal CHANGELOG.md 里包含本周每个已合并 PR 的条目

# 好:包含时间约束
/goal test/auth 下所有测试通过且 lint 无报错,或超过 20 轮后停止

# 不好:太模糊
/goal 修好这个 bug

条件最长 4000 字符,想限制运行时间可以在条件里加 or stop after 20 turns 之类的约束。

常用操作

# 查看当前 goal 状态
/goal

# 清除活跃的 goal
/goal clear

# stop、off、reset、none、cancel 也能用

查看状态会显示:条件内容、已运行时间、已评估轮数、当前 token 消耗、评估器最近一次的 reason。

关于会话恢复:如果你退出会话时 goal 还在跑,下次用 --resume--continue 恢复会话时,goal 会自动恢复。轮数、计时、token 消耗会重置,但条件不变。

非交互模式也支持 /goal

claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

这种一条龙跑到底的模式,很适合 CI/CD 场景。Ctrl+C 中断。

底层浅析

/goal 的底层是一个 session 级的 prompt-based Stop Hook。

每轮 Claude 干完活之后,系统把条件和到目前为止的对话记录发给一个小模型(默认 Haiku),让它判断:条件满足了没有?

  • 不满足:把 reason 喂给 Claude 作为下一轮的指导,继续干
  • 满足:清除 goal,在对话记录里记录达成

所以你看到的那条 reason 不只是给你看的,Claude 也会参考它来决定下一轮怎么干。

需要注意的是,/goal 要求你的 workspace 已经接受了 trust dialog(就是第一次在某个目录跑 Claude Code 时弹出的那个信任确认),因为评估器依赖 hooks 系统。如果你在 managed policy 里设了 disableAllHooks/goal 就不可用。这两种情况下命令都会告诉你原因,不会静默失败。

写在最后

/goal 把重复的人工监督变成了自动化的条件判定。以前你要当监工,每轮完了手动说继续;现在设好目标,Claude 自己跑到完。

使用 /goal 记得把 Claude Code 升级到 v2.1.139+ 版本。