Claude Code v2.1.139 出了一个新功能/goal。很多 ai 都会有主动降智的行为比如你给出一个大任务它干完一轮就停了你得手动说继续它又干一轮又停了你来来回回催好几趟跟个猪一样赶一下动一下。/goal能解决这个问题。你设一个完成条件Claude 每干完一轮系统自动检查条件有没有满足。没满足就继续干满足了就自动停。下面我展开讲讲。基本用法/goal 做一个移动端界面适配的检查用webapp-testing这个skills。出现了适配性的bug就修复直到满足 webapp-testing 的检查标准。设完之后 Claude 立刻开始干活你会看到一个◎ /goal active的状态指示器显示目标已经运行了多久。每一轮结束后系统会用一个小模型默认 Haiku评估条件是否满足给出一个简短的 reason这就是“评估器”。你可以在状态面板和对话记录里看到这个 reason知道 Claude 在朝哪个方向努力。最后成功完成了任务官方在文档里给了几个/goal 适合场景的例子把一个模块迁移到新 API直到所有调用点编译通过、测试全过按照设计文档实现功能直到所有验收标准满足把一个大文件拆成聚焦的小模块直到每个文件都在大小限制内清理 issue 列表直到队列为空所以有明确终态的、可验证的大任务就可以用 /goal 。和 /loop、Stop Hook 的区别Claude Code 里有三个让 Claude 持续工作的机制我们引用一下官方文档的介绍可以看到/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/goalclear# stop、off、reset、none、cancel 也能用查看状态会显示条件内容、已运行时间、已评估轮数、当前 token 消耗、评估器最近一次的 reason。会话恢复如果你退出会话时 goal 还在跑下次用--resume或--continue恢复会话时goal 会自动恢复。轮数、计时、token 消耗会重置但条件不变。非交互模式也支持 /goalclaude-p/goal CHANGELOG.md has an entry for every PR merged this week这种一条龙跑到底的适合 CI/CD 场景。CtrlC 中断。底层浅析/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记得把 CC 升级到 v2.1.139如果你喜欢我的文章请点点赞、点点关注~