
大家好,我是正在被 AI 拷问的林月半子。
你有没有过这种时候。
甩给 AI 一句”帮我写个脚本,把这个文件夹里的图片批量压缩一下”,它一个问题都没问,二话不说就开干了。
十分钟后脚本跑完了。你一看:压到什么质量它定了,子文件夹要不要一起处理它定了,原图留不留,它也替你定了。
这些你一个字都没说过。
只能推翻重来。第二遍你多交代了几句,它又在另外三个地方自作主张。
这就是 vibe coding 最贵的地方。不是它写得慢,是你直到看见结果,才知道它误会了你。
后来我想明白一件事。
我们总说 vibe coding 是”把活外包给 AI”。这个说法不太准。真正被外包出去的不是活,是决策。而且外包得悄无声息,你以为你只是下了一句指令,实际上你签了一沓空白支票,金额它自己填。
写代码这件事往下拆到底,是连着做几百个微观决策。你少说一句,它就替你填一张。
而 AI 最讨好你的地方,从来不是夸你。是它从不说”我不懂你要什么”。
它宁可猜一个,也不肯停下来问。
那怎么把决策权抢回来?
这个问题,有人已经把答案开源了,而且吃到了 19 万颗星。

前两天刷到了 Matt Pocock 那套 skills。
我顺手去仓库看了一眼。
星数每天都在涨,这个不算什么。
让我愣了一下的是另一件事,网上都在传,这堆东西里下载量排第一的那个 grill-me,正文只有五行字。我点开想看看长什么样。
结果文件显示:7 行,147 字节。
正文只有一句话:
Run a `/grilling` session.
就这样。没了。
真正的内容,就这四条那几行字被搬到了同目录下的 grilling 里,重新组织成了四段。grill-me 现在只是个入口,你敲它,它去跑 grilling。
我把这四段翻译一下:
第一段:不停地拷问我这件事的每一个方面,直到我们达成共识。顺着决策树的每一个分支往下走,一个一个地解决决策之间的依赖关系。每个问题,都给出你推荐的答案。
第二段:一次只问一个问题,等我回答完再问下一个。一口气甩一堆问题只会让人懵。
第三段:如果一个事实可以通过翻文件系统、调工具查到,就自己去查,别问我。但决策是我的。每一个都摆到我面前,等我回答。
第四段:在我确认我们达成共识之前,不准动手。
完了。整个被下载了几百万次的东西,就这四段。
那为什么要拆成两个文件
grill-me 是 user-invoked。它的 frontmatter 里写着 disable-model-invocation: true,模型不能自己调它,只有你亲手敲 /grill-me 才触发。
grilling 是 model-invoked。模型自己能调,别的 skill 也能调它。
拆开之后,grill-with-docs、improve-codebase-architecture 这些都能直接复用同一个拷问引擎,不用各自复制一份。
一个引擎,多个入口。变短的不是内容,是入口的重量。
第三条才是它不烦人的关键我看很多人转这个 skill,都在夸前两条。
一次一问、附带推荐答案。
我个人觉得,最容易被跳过、但最要命的是第三条
能自己查到的事实,自己去查。只有需要你拍板的决策,才停下来问。
你想想看,如果没有这一条会发生什么。
还是刚才那个压缩脚本,那些它自己翻两下代码就知道的事,要是全问你一遍,你被问到第五个就想关掉窗口了。
有了这一条,它就会先自己去翻,翻完再来找你。找你的时候问的,全是它翻不出来的东西。
这一条把”拷问”从”审讯”变成了”跟一个已经做完功课的人开会”。差别巨大。
那我岂不是得先自己想全?
不用。这里有个反转,是我读完第三条才拐过弯来的。
我们一直有个误解,想把 AI 用好,得先自己把需求想清楚,最好一次性写出一份滴水不漏的方案。
可对着一块空白的屏幕,从零写出一份考虑了所有极端情况的企划书,这件事本身就是最痛苦的那一步。大部分人就是卡在这儿,卡着卡着放弃了,回去继续 vibe coding。
grilling 给的是另一条路:挖漏洞这个苦差事,恰恰是该外包给 AI 的那部分。
它顺着决策树往下走,一个一个把你的盲点掏出来。你不用提前想全,你只需要在它把选项摆到你面前的时候,说一句”用这个”。
前面说 vibe coding 外包错了东西。到这儿能说得更准一点。
该外包的是”找出有哪些决策”,不该外包的是”这些决策怎么定”。
分清这两件事,你才坐得稳架构师那个位置。
分不清,你就是个打字员,还是个连自己签了什么都不知道的打字员。
怎么上手装一条命令,直接点名装这一个
px skills add mattpocock/skills --skill grill-me
不依赖任何别的东西,不用配置,装完就能用。试水,一个就够。
调用打 /grill-me,后面跟一句话,说你要干什么。
它不会自己触发,必须你手动叫。这是刻意设计的。
关键是这句话别写太满。 你写得越详细,它问得越浅。你现在有多模糊就说多模糊,”我想改造 X,但还没想清楚做成什么样”,这种话才是最好的燃料。
还有一个:纯聊天窗口里别用。 第三条要靠文件读取权限才生效,没权限它查不了任何东西,就退化成什么都不问、全靠猜,比不用还糟。
我拿它重构了一个自己的项目说完了,实际跑一次给你看。
我手上有个自己写的工具叫「半自动」,是给公众号和视频做素材用的。用了一阵子之后越看越别扭,想改,但说不清楚要改成什么样。
我丢给它的原话就一句:
/grill-me 改造这个项目,从审美和功能两个层面。
够模糊吧。
这也是我故意的,前面说过,你写得越满,它问得越浅。
它第一句话就把我怼回来了:
好,进入拷问环节。你说要改造这个项目(视频封面生成 Web 应用),从审美和功能两个层面。这话太模糊了,我先把最尖锐的问题抛出来。
先注意一个细节:我从头到尾没告诉过它这项目是干什么的。“视频封面生成 Web 应用”这句是它自己翻代码翻出来的。
这就是第三条在干活,能查的它自己查了,剩下的才来问我。
它问了什么。
四个问题,一次一个。
审美判断、优先级、长期规划、授权范围。
这四样东西,翻遍我的代码库也翻不出来。
它能查的它都查了,剩下的这些,只能等我开口。
第三个问题是那次拷问里最狠的一刀。我一开始压根没想过”给不给别人用”这件事。我只是觉得界面丑。但这个问题一出来,整个改造的性质就变了:给自己用,好看就行;要产品化,那得考虑第一次打开的人看不看得懂。
后面所有的设计取舍,都是被这个问题拽出来的。
改完之后
跑完之后,你会撞上第二个问题
一场跑完,AI 给你一份共识小结,问你”这样对吗”。
你说对。
然后呢?
然后你关掉窗口。第二天再开一个会话,它对这一切一无所知。
刚聊出来的所有决策,跟着上下文一起蒸发了。
这个问题 Matt 也有解,仓库里另有一个 to-spec,专门把决策从对话里捞出来落到盘上。它跟 grill-me 正好相反:grill-me 只问不写,to-spec 一句不问,只写。
那条工程链我下一篇单写。
写在最后它没做什么新东西。
拷问、决策树、一次问一个、给推荐答案。
每一条单独拎出来都不新鲜,加起来也就四段话。
但它把一件我们一直知道该做、却一直没做的事,变成了一个可执行的动作:在动手之前,把该你拍板的东西一个一个摆出来。
vibe coding 爽在你只说一句。代价是剩下那几百个决策,它替你签了,而且你看不见。
grill-me 干的事就是把那沓空白支票摊开在你面前,让你自己填金额。
事实归它,决策归你。
这两件事分清楚了,你才是那个架构师。
本文由作者【林月半子聊AI】,微信公众号:【林月半子的AI笔记】,原创/授权 发布于平台,未经许可实力配资平台,禁止转载。
永华证券提示:文章来自网络,不代表本站观点。