Claude Code新功能goal用法详解

Written by

in

文章目录
  • /goal 做一个移动端界面适配的检查,用webapp-testing这个skills。出现了适配性的bug就修复,直到满足 webapp-testing 的检查标准。 设完之后 Claude 立刻开始干活,你会看到一个 ◎ /goal active 的状态指示器,显示目标已经运行了多久。 每一轮结束后,系统会用一个小模型(默认 Haiku)评估条件是否满足,给出一个简短的 reason,这就是“评估器”。你可以在状态面板和对话记录里看到这个 reason,知道 Claude 在朝哪个方向努力。 最后成功完成了任务 官方在文档里给了几个/goal 适合场景的例子: 把一个模块迁移到新 API,直到所有调用点编译通过、测试全过 按照设计文档实现功能,直到所有验收标准满足 把一个大文件拆成聚焦的小模块,直到每个文件都在大小限制内 清理 issue 列表,直到队列为空 所以,有明确终态的、可验证的大任务,就可以用 /goal 。
  • Claude Code 里有三个"让 Claude 持续工作"的机制,我们引用一下官方文档的介绍 可以看到,/goal 是"跑到目标为止",/loop 是"每隔多久跑一次",Stop Hook 是"你自己定规则"。 另外,“auto mode自动批准工具调用” 解决的是单轮内的权限问题,不跨轮。/goal 解决的是跨轮的自动续跑。两者可以互补:auto mode 去掉每个工具的确认弹窗,/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记得把 CC 升级到 v2.1.139+ 以上就是Claude Code新功能goal用法详解的详细内容,更多关于Claude Code goal用法的资料请关注风君子博客其它相关文章!
  • 目录
    • 基本用法
    • 和 /loop、Stop Hook 的区别
    • 怎么写好一个 goal 条件
    • 常用操作
    • 底层浅析
    • 写在最后

    Claude Code v2.1.139 出了一个新功能:/goal

    很多 ai 都会有主动降智的行为,比如你给出一个大任务,它干完一轮就停了,你得手动说"继续",它又干一轮又停了,你来来回 回催好几趟,跟个猪一样,赶一下动一下。

    /goal 能解决这个问题。你设一个完成条件,Claude 每干完一轮,系统自动检查条件有没有满足。没满足就继续干,满足了就自动停。

    下面我展开讲讲。

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

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

    基本用法

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

    最后成功完成了任务

    基本用法_图2

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

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

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

    Claude Code 里有三个"让 Claude 持续工作"的机制,我们引用一下官方文档的介绍

    和 /loop、Stop Hook 的区别

    可以看到,/goal 是"跑到目标为止",/loop 是"每隔多久跑一次",Stop Hook 是"你自己定规则"。

    另外,“auto mode自动批准工具调用” 解决的是单轮内的权限问题,不跨轮。/goal 解决的是跨轮的自动续跑。两者可以互补:auto mode 去掉每个工具的确认弹窗,/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记得把 CC 升级到 v2.1.139+

    以上就是Claude Code新功能goal用法详解的详细内容,更多关于Claude Code goal用法的资料请关注风君子博客其它相关文章!

    站内搜索