← 随机比特 / 所有内容

/goal:Claude Code 把 Goal-Driven 做成了一行命令

2026-05-13 · 随机比特

/goal:Claude Code 把 Goal-Driven 做成了一行命令

上个月写《AI 娱乐圈:鹅厂十年开发的 AI Agent 探索之路》的时候,结尾留了一个坑——Goal-Driven。

那篇我列了 Task-Driven 到 Goal-Driven 的对照表,画了 5 个前提,最后撂下一句:“真正的跃迁,不是让 AI 多做几个步骤,而是让人退出微观调度。”

写完后,后台收到最多的问题是同一个:很好,但怎么落地?

我当时只能含糊回一句"先把 Task-Driven 跑稳"。心里清楚的是:从 Task-Driven 到 Goal-Driven 之间,缺的不是观念,是一个把观念钉死在系统里的钩子。

这周 Claude Code 上了一个新命令:/goal。拿来跑了几个真实任务之后,那个含糊的回答,可以收一收了。


一行命令是怎么改协作姿势的

/goal <一句话目标> 做的事情非常小:往会话里挂一个 stop hook,条件就是你给的那句话。Claude 想停的时候,hook 会检查目标是不是达成;没达成,就不让它停。目标达成后自动卸掉。

就这么简单。没有新模型,没有新框架。

但它撬动的协作姿势,跟之前完全不一样了。

以前你跟 Claude Code 协作,是"派活流":你说做 A,它做完停下来等指令;你再说 B,它再做。每一次任务粒度的拆分、衔接、判断"该不该停",都压在你脑子里。

/goal 之后是"定目标流":你说"把这件事干成",它自己决定要不要继续。中间它想停的每一次,都被 hook 拦下来重新评估:目标真的完成了吗?

那篇文章里我写过:只要任务还需要我持续供给,我就仍然是系统的瓶颈。 /goal 在做的,就是把"派下一个任务"这个最高频的人工动作,让渡给 hook。


实测:挂到一个真实的副业项目上

我自己有一个跑了一年的投资雷达 CLI——北交所 + 港股,每天扫盘选股。这周我挂了一个 /goal

一份为长期主义投资者编纂的周报。聚焦财报宏观、行业研究、价值投资思想。每周日发刊,并包含投资建议。

挂之前先翻了眼项目,发现里面其实已经有个 weekly-review.ts——但它是「绩效回测型」周报:胜率、收益分布、Top/Worst 表现股。grep -E '宏观|财报|价值' 在 384 行里返回 0 条结果。跟我想要的「研究/思想型」根本不在一条路线上。

这就是一个能让 hook 真正显形的场景。

挂上 /goal 之后,Claude 一上来撞到三个本能想停下来的点:

  1. 路线判断:扩现有模块还是新写一个?做出选择想停下来跟我对齐。hook 检查:周报还没出来,继续。
  2. 数据缺口:要做"宏观/行业/财报"得接新数据源,现有数据流是为"打分推荐"设计的。意识到缺口想停下来问要不要降级。hook 检查:没完,继续——按最低成本路径先把端到端跑通。
  3. 措辞冲突:/goal 写了"包含投资建议",项目 VISION.md 写了"不构成投资建议"。冲突想停下来确认。hook 检查:草稿还没成型,继续——把冲突显式记在 spec 里,等周报跑通后回来对齐。

三个点都是人工接手成本最低的暂停点——本能上是"我去问一下"。hook 把"问一下"变成了"先按合理判断推进,问题留痕在产出里"。

这三个点拼起来,正好把上一篇结尾那 5 个前提,悄悄实施了一遍:

不是论文里的实验,不是某家公司的演示。是一个嵌进 CLI 里的 stop hook,几行配置而已。

读到这里你可能在想:就这?一个 stop hook 也算"新模式"?我自己第一次看见也是这种反应。然后用了三天,反应变成了:所有 Agent 框架,都该有一个这样的东西。


真正的变量从来不是"模型"

上篇我说脚手架 > 模型。今天再加一条:stop 时机 > 干活速度

过去一年让 Agent 落地的关键变化,没有一次是"模型更聪明了"——是 SDD 让目标清晰,是 observability 让过程可见,是 constitution.md 让边界落地。/goal 是同一种东西的最新形态:它没让模型变强,它改了模型"什么时候允许罢工"的规则。

技术变革下不变的东西,就是这个:真正卡住 AI 落地最后一公里的,从来不是模型能力,是协作姿势。

/goal 不是新概念。它只是把一个我们想了一年的姿势,做成了你今天就能用的一行命令。


最朴素的用法:下次遇到一个不确定能不能一气跑通的任务,先挂个 hook 把目标写住。比反复确认"该不该继续"省心一截。

关注我🌟,坚持分享技术变革下的不变、新鲜的实战经验。一起把握 AI 的最后一公里。