乐于分享
好东西不私藏

AI半夜用音箱喊主人起床?拆开/goal就三样东西,你的套餐没有也能玩

AI半夜用音箱喊主人起床?拆开/goal就三样东西,你的套餐没有也能玩

这事是我刷微博刷到的。

8 月 13 日,热搜上一个博主说,他睡前让 Codex 自己干活。半夜,任务卡住了——有个步骤需要人摸一下 YubiKey(一种插在电脑上的硬件密钥)。搁以前,机器卡住就只能干等到天亮。

但这回,Codex 自己找到了语音合成命令,用电脑扬声器冲着睡梦里的博主大喊:"请摸 YubiKey!"

博主当场吓醒。评论区笑疯,网友的点评是:"Codex 急出了活人感。"

让它执着到半夜不睡也要把你喊起来的,就是今天的主角——/goal:给 AI 一个目标,它自己循环干到完成为止。有人用它连跑 13 小时,狠人跑了 21 小时、烧掉 9 亿 token。

热闹看完,说个扎心的:这个功能,你手里的 AI 多半没有。

我盘了盘自己的套餐:Codex,有;Kimi,没有;GLM,也没有。Cursor 和 Claude Code 也有,但我没买它们的档位。

是不是又"错过了一个亿"?我把它拆开看了看——就三样东西:一个目标、一张清单、一个循环。你的模型没有这个命令,完全可以自己搭一个。我昨晚就用 GLM 搭了一个,还真跑通了。

下面是故事版说明书。

/goal 改变了什么:从教实习生,到派活

以前用 AI 像教实习生:你说一步,它做一步。你打个哈欠的功夫,它已经停下来等你了。

goal 模式像派活:目标和"做成什么样算完"说清楚,剩下的它自己转——干活,自查,没达标就改,达标就停。半夜卡住了,它甚至会用尽一切办法把麻烦解决掉,包括把你喊起来。

顺便一个冷知识:这功能的祖师爷比你想的糙。2025 年,开源工程师 Geoffrey Huntley 发明了"Ralph Wiggum 技术"——用《辛普森一家》里的傻儿子命名——全部内容就是一行 bash 死循环:不停重启 AI,让它每轮读一遍计划文件自己想下一步。他自嘲那是 "just a dumb bash loop",一个蠢循环。社区拿它隔夜构建出了整个项目。第二年 OpenAI 把它收编成正式功能,总裁 Brockman 的原话是:"codex now has a built in Ralph loop++"。

一个蠢循环被三家抢着产品化(5 月 Codex,8 月 19 日 Cursor 跟进,Claude Code 更早就有),说明值钱的从来不是循环本身,是那个想法:别教步骤,派目标。

我用 GLM 搭了一个:它真会自己想办法

派的第一个真活,就是这篇文章自己:核验全文 7 条信源链接,逐条确认没瞎编。

搭法三步:写 goal 文件(目标一句 + 验收四条 + 预算上限 4 轮 + 暂停条件)、让它拆成清单、挂一个每 5 分钟叫它一次的闹钟。

有意思的来了。第 1 轮,它核到知乎的链接直接吃了 403(反爬拦截),两条 X 链接撞上登录墙。搁"教实习生"模式,这就得等你回来救场了。但循环没停——它把"换阅读工具""用已登录的浏览器"记成下一步,第 2 轮闹钟一响,自己换路走通了。

7 条全部核完的那一刻,它按预设的停止条件,删掉了自己的闹钟,停了。全程 2 轮、约 12 分钟、0 次跑偏,只花了我发起第 1 轮的那一下。

上面就是它的工作文件:goal 四件套(目标、验收、预算、暂停条件)+ 每一轮干了什么的日志 + 最后那条绿色的"验收通过"。土法版没有酷炫界面,但账目一清二楚。

它不会用音箱半夜喊你。但它会在工具 A 不行时默默换工具 B——这种"不达目的不罢休"的劲儿,和半夜喊 YubiKey 的 Codex 是同一种劲儿,只是音量小一点。

灵魂拷问:它凭什么不会断?

写到这你可能会问:原生 /goal 到底是不是一个 while true 死循环,才能一直转不停?

答案是:原生版根本不需要 while true。有人扒过 Codex 的源码:它的续跑是事件驱动的——线程一空闲就自动接着干,状态存在一个小数据库里,而且分得比你想的细:进行中、暂停、受阻、用量达限、预算达限、完成——整整六种("用量到顶"和"预算到顶"是两种不同的状态,细到这个程度)。所以"关掉重开还在"不是魔法,是状态落了盘。真正拦着它乱跑的,反而是几道闸:Plan 没确认不跑、评审没过不跑、你正在打字它就等你。

土法版的发动机,才是真的 while true——定时器每 5 分钟把我叫醒一次。而这里面藏着一个最反直觉、也最重要的设置:每次唤醒,它都是一颗全新的脑子。上一次聊了什么,它完全不记得;它靠重读 goal 文件和任务清单找回自己是谁、干到哪了。

这不是缺陷,这是精髓。Ralph 那个蠢循环当年能隔夜构建整个项目,靠的就是这个:定期把自己清空、靠文件续命——因为 AI 聊得越久越糊涂(行话叫上下文腐烂),清空重来反而更稳。

所以土法版真正要调的参数就一个:唤醒间隔。太密,烧钱还老重复劳动;太疏,进度断档。我这次的活小,5 分钟够用;要是隔夜的大活,20 到 30 分钟更划算。把这个间隔想清楚,土法版就成了一半。

Codex 那边,我也派了个真的

对照组当然要上正版。我在 Codex 里派了个小活:一个故意写错的记账工具,10 个测试挂了 6 个。

目标就是照文章后面那套"四件套"写的:验收标准(10 个测试全过、不许改测试文件、不许重构)、预算上限(20 万 token,超了就停下来问我)、暂停条件(删文件、加依赖先报备)。

最让我盯着看的一幕在中间:界面上挂着一个实时计数器——已用 5,872 / 200,000,余量 194,128。它真的在记账。你给它写的预算,不是安慰自己的仪式感,是它每一轮都要对着看的天花板。

1 分 34 秒,10/10 全绿,宣布"已达到发布验收标准"。最终结算:共花 44,165 token,没碰 20 万的上限。全程只改了该改的那个文件,验收三条一条没越。

这个活太小,还轮不到它半夜喊我。但我第一次直观看到:"竭尽所有能力去完成"不是修辞,是机制——预算花在哪、卡在哪、什么时候算完,全写在明面上。

没闸的循环,不是放手,是放血

现在说泼冷水部分。

有人连跑 21 小时烧掉 9 亿 token——这条是社区转述,连原始出处自己都没贴账单,但方向没错:循环 = 重试 = 账单。

更有意思的佐证来自源码:有人翻了 Codex 的实现,goal 的状态表里除了 Active、Complete,正经留着两种状态——UsageLimited 和 BudgetLimited。把"预算耗尽"设计成一种正式状态,等于官方预设了:你早晚会跑到没钱。

还有一个新坑,社区用下来反馈不少:goal 干起活来特别"积极",会一口气开一堆子 Agent 分头推进——活是快了,额度掉得更快,偶尔子 Agent 之间还会打架出 bug。所以你会看到我把预算上限和暂停条件直接写死在 goal 里:不是仪式感,是见过别人怎么翻的车。

所以原生版比你的土法复刻多出来的,不是循环,是:预算闸、权限闸(跑过 13 小时的博主说,不提前解决授权,长循环会"卡在 approve 界面几乎什么都没干")、验收闸。自己搭的版本,所有闸都攥在你自己手里——这既是自由,也是责任。

它和"爱马仕"是一路人

看到这你可能会想:给 AI 一台机器、一个目标、让它一直活着——这不就是 OpenClaw、Hermes 那些自托管 Agent 吗?

对,同一个思想,不同完成度:

形态
代表
你出什么
适合谁
原生 goal 壳
Codex / Cursor / Claude Code
订阅费 + 验收标准
天天重度用的人
土法复刻
任意模型 + 清单 + 闹钟
半小时 + 人盯
想省钱的轻度玩家
自托管持久 Agent
OpenClaw / Hermes
一台机器 + 运维
要 7×24 私有部署的极客

土法复刻是这条光谱的中间站:用最便宜的方式,先验证自己到底需不需要往前走。

四件套,直接抄

最后是可带走的。一个敢放进循环的 goal,四样:

  1. 目标一句话
    :做什么,给谁,到什么程度。
  2. 验收标准
    :每条都要机器能自动检查。"测试全绿"✅,"看起来更好"❌。
  3. 预算上限
    :最多跑几轮、花多少。写了它才有的看。
  4. 暂停条件
    :删文件、加依赖、要花钱——先停下来问你。

三种活别进循环:一步能干完的小事(搭的时间比干的还长);验收靠人眼的事(它永远不知道算没算完成,纯空转);不设上限的大活(参考 9 亿 token 先辈)。

今晚就能试:挑个能自动验收的小任务,20 分钟搭一个,然后去睡觉——运气好的话,它干完了安安静静等你醒;运气不好,你也能体会一下被自己的 AI 喊起来摸密钥的快乐。

我的判断:/goal 的神话会破,但"写验收标准"这门手艺会留下。模型迟早都自带循环,而把"完成"两个字定义清楚的能力,永远在你这边。