第 2 章:grilling 与对齐
出处
来源:grilling · grill-me · grill-with-docs · 状态:已读
一句话
追问不是「多问几个问题」,而是按设计树推进前沿:一轮问完所有现在能问的,事实归 agent 去查,决策归你来拍。 前沿空了才算对齐;没你确认,不准动手。
核心概念
三个词撑起整套追问
grilling 是模型去拿的原语。grill-me 和 grill-with-docs 的 SKILL.md 几乎只有一行,去调它。
| 词 | 是什么 |
|---|---|
| 设计树 | 每个决定下面挂着它解锁的那些决定 |
| 前沿 | 前置都已拍板、现在就能问、不必猜还没听到的答案 |
| 一轮 | 把当前整条前沿问完,等你答完,再重算前沿 |
一轮里的问题互不依赖。答案还取决于本轮另一问的,属于下一轮。文档里的经验数:13 个问题大约 3 轮,而不是 13 轮。
一轮长什么样
固定形状,所以你可以按编号回(「1 是,2 选第二个,3 否,原因是…」),不必把问题抄回去:
❓ **Q1** - **<标题>**: <题干,可以很长,可以带选项>
➡️ <agent 的推荐答案>已知毛边:推荐有时在反驳题干本身,同意推荐等于对问题说「不」。这时答推荐,并说一声。
前沿是 agent 的判断,不是算出来的图。它可能把两问放进同一轮,事后才发现一答本该改另一问。没有自动防护,只能你说,下一轮重开受影响的枝。
事实归 agent,决策归你
这是整章最硬的分工。
- 事实(文件系统、工具、环境里查得到的):agent 自己派子代理去找,不准问你。查找进行中算「未决前置」——只有依赖它的问题等;前沿其余的照问。
- 决策:必须交给你,必须等。自己回答自己问题的 grilling agent,不是「灵活解读」,是把 skill 跑坏了。
会话结束条件:前沿空了,每条枝都走过,没有默默假定的东西。然后还要你确认「我们已经对齐」——在此之前不准根据追问结果去改代码。
skill 在问,范围归你。失败模式是被动:四十个问题一路「同意、同意」,出来一份 agent 写、你点头的计划。会话很长,像做了事;其实没有决定,结果却带着没挣来的确定感。主动意味着:问题低于你要的保真度就顶回去,范围在漂就说,答「我不知道」并且当真。纸上谈不清的观感或状态机,停追问,去做可丢的原型,看完再用一行答。
一场追问在工作,通常是:你顶过至少一问;问题按几轮来,后面的轮明显叠在你前面的答案上;结束时你能向不在场的人辩护每一个选择。没有顶过,这场你并不需要。
两套包装,一个原语
| 你面前是什么 | 打哪个 |
|---|---|
| 没有工作目录(计划、写作、设计) | /grill-me:同样的问,什么文件都不留 |
| 有仓库,一会话能问完 | /grill-with-docs:同样的问,词写进 CONTEXT.md,够格的决定写成架构决策记录 |
| 一会话装不下(新项目、大功能) | /wayfinder,见 07-规模与迷雾 |
| 纸上谈不清观感或状态机 | 先 /prototype,见 05-反馈环 |
| 你自己的 skill 需要一轮问 | 去调 grilling,不要再写一套访谈 |
有仓库时,grill-with-docs 严格更好:同一场问,留下纸面。grill-me 留给没有可写之处的场合。
grill-with-docs 是有状态的。词一旦拍板,立刻写进 CONTEXT.md,不攒到结束。决定过了三道闸,才写成架构决策记录。文档自己承认:大多数决定不够格,一场追问产出零份决策记录是正常的——这意味着大量已拍板的东西只活在当前窗口里。所以收尾不该 /clear,该把同一场对话交给 /to-spec。机制在 03-共享语言 和 04-主流程。
依赖加载失败,看起来像「问得不对」
grill-with-docs 的正文是一行委托。两个依赖没加载齐,你会看见两种假成功:
- 两个都没加载:一口气抛出所有问题,没有推荐,不提
CONTEXT.md - 只加载了
grilling:问得很好,纸面为零
这和模型、推理强度相关,是该 skill 被报告最多的问题。怀疑时直接问它加载了哪几个 skill。
另一个已知缺陷:它被嵌进别人的编排层(某种规格驱动包装、多代理框架)时,写文件那一半会静默不做,访谈还在跑。文件是真文件,所以也可能该有却没有,也可能多人写的时候漂。
关键洞察
- 一轮问完整条前沿,是在防「你被一问一答带着走」。 一问一答让 agent 用你上一句重写下一问,树会窄成一条链。整条前沿一起问,才是在走树。
- 「自己查事实」把人从键值对接口里救出来。 仓库里有什么模块、测试现在怎么跑,不是决策。把这些问人,是在消耗本该用来拍板的注意力。
- 空前沿仍要你确认,是完成标准,不是礼貌。 否则 agent 会把「问题问完了」当成「可以开写了」。和 Cookbooks 第 1 章同一类闸:先规定什么叫完,再动手。
个人思考
对照 Book 1 02-Prompt是控制平面:那里约束的是模型怎么说话;这里约束的是人还没决定时模型不准说话装决定。追问把「需求」从一段用户散文,变成一棵可遍历的树。下一章处理这棵树留下的词:哪些进词汇表,哪些配得上决策记录,哪些只活在这场对话里。