前言¶
用 AI 编程工具写功能时,常见的失败往往不是模型写不出代码,而是需求和方案还没对齐,Agent 就已经开始动手。你随口说一个想法,它很快给出目录结构、接口和实现步骤;看起来很完整,事后才发现几个关键分支从来没被问过:要不要兼容旧数据、错误怎么暴露、边界情况归谁处理。
Matt Pocock 把这类失败看成人和 Agent 之间的沟通缺口。他在公开技能仓库 mattpocock/skills 里给出的应对方式,是先开一场 grilling session:不急着出方案,而是按决策树把假设问清楚。面向用户的入口之一就是 grill-me。官方 README 把它和同系列的 grill-with-docs 并列为这套技能里最常用的两个。
这是什么¶
grill-me 是一个需要你主动触发的 Agent Skill。它的定位很窄:拿一个还不成形的想法,通过系统化追问,把它磨到你可以承诺下来。官方文档强调它是无状态的——没有仓库也能跑,不往工作区写文件,也不假设主题一定是代码。功能方向、产品取舍、商务决策、一篇文章的结构,都可以拿来问。
它由 Matt Pocock 维护,源码在 GitHub 仓库 mattpocock/skills 的 skills/productivity/grill-me/。配套说明同时发布在 aihero.dev/skills-grill-me 和仓库内 docs/productivity/grill-me.md,两边内容一致。skills.sh 上也有独立安装页。
当前仓库里,grill-me 自己的 SKILL.md 非常短:
---
name: grill-me
description: A relentless interview to sharpen a plan or design.
disable-model-invocation: true
---
Run a `/grilling` session.
disable-model-invocation: true 表示 Agent 不会自己决定启用它,必须由你输入 /grill-me。真正的面试循环在同仓库的 grilling Skill 里。官方 grilling 文档写得很直接:只装 grill-me、不装 grilling,输入命令后往往什么都不会发生。
核心机制¶
grilling 把主题建模成一棵设计树:每个决策下面挂着依赖它的后续决策。每一轮只问当前的 frontier——前置条件已经确定、现在就能诚实回答的那些问题。一轮里的问题彼此不能互相依赖;你答完之后,树会往外长,再问下一轮。
每一题有固定格式,来自 grilling 的 SKILL.md:
❓ **Q1** - **<question title>**: <question body, might be multiple paragraphs, including multiple choices>
➡️ <your recommended answer>
这样可以按编号回答,例如「1 可以,2 选第二个,3 不行,原因是……」,不必把整段问题抄回去。官方也提醒过一个边角:有时推荐答案是在反对题目本身的表述,这时同意推荐就等于对原题说「不」,需要说清楚你答的是推荐还是原题。
事实和决策是分开的。能从文件系统、代码、工具里查到的事实,由 Agent 自己去查,必要时派子 Agent,不拿这类问题来问你;查的过程不阻塞整轮,只有依赖这次查询的后续问题才等待。决策必须留给你。Agent 自己替你拍板,属于跑偏,不是「灵活理解」。
会话结束的条件有两层:frontier 空了,并且你确认双方已经达成共同理解。确认之前,它不应开始实现。
官方给过一个量级参考:一场普通的 grill-me 会话,大约是四轮、四十多个问题。要按轮数来感受进度,不要按「问了多少题」焦虑。grilling 文档里另一个说法是:十三个问题通常会落在大约三轮,而不是拆成十三轮。两种数字描述的都是「按轮推进」,不是固定配额。
安装与启用¶
grill-me 使用通用的 SKILL.md 格式,可以在 Claude Code、Codex CLI、Cursor 等支持 Agent Skills 的工具里使用。Matt Pocock 仓库提供两条官方安装路径,哲学不同,选一条即可;两边都装会导致同一套技能出现两份。
1、Claude Code 插件。整包、只读、跟随作者更新:
claude plugins install mattpocock-skills
也可以在会话里执行:
/plugin install mattpocock-skills
该插件已在 Claude Code 官方 marketplace 中,不用先加源。
2、用 skills.sh 安装器把文件拷进项目。文件归你、可以改,不会在背后自动更新。Codex 以及其他 Agent 走这条:
npx skills@latest add mattpocock/skills
安装器会让你选择要装哪些 skill、装到哪些编码 Agent。如果只想装 grill-me,skills.sh 页面给出的命令是:
npx skills add https://github.com/mattpocock/skills --skill grill-me
单独挑选时,务必同时装上 grilling。整包安装或 Claude Code 插件则已经包含。之后可用 npx skills update 拉取作者更新。
装好后,在新开的对话里输入 /grill-me,并带上一个还比较松的想法即可。官方明确建议关掉 Plan 模式:Plan 模式会推动 Agent 尽快产出计划,和「停在追问里」是反方向。也不要叠在「已经让 Agent 写好的方案」上面再烤一遍,而是从空白对话开始。
典型用法¶
一个最小的启动方式如下:
/grill-me
我想给内部后台加一个「导出报表」功能,还没想清楚格式、权限和失败时怎么提示。
Agent 应先抛出一整轮 frontier 问题,每题带推荐答案,然后停下来等你。你按编号回答、反驳、或者说「我不知道」。官方把「我不知道」当成合法答案;答不上来的问题,往往说明这件事没法靠谈话解决,需要先做可扔掉的原型,而不是猜。
如果你更习惯一次只问一题,官方支持在全局 CLAUDE.md(或其他工具里等价的 Agent 说明文件)加一行:
When grilling, ask one question at a time.
grilling 文档写过:按轮提问的默认行为本身有争议。慢读、用第二语言、或者需要用「一题一答」来维持注意力的人,不少会改回逐题模式。这是官方支持的退出方式,不是将就。曾经短暂存在过的 /batch-grill-me 已经并进 grilling,不用再单独安装。
问完之后不要新开对话再写规格。官方的理由是:这场会话刚建起来的上下文才是价值所在,同一段对话可以直接交给同仓库的 to-spec,继续进入后续构建流程。to-spec 不是 grill-me 的必选项,只是想法最终落成软件时的一条可选路径。
适用场景与注意事项¶
适合用 grill-me 的情况:
- 只有一个值得认真对待的想法,细节还没展开。模糊不是等待的理由,而是这场会话要吃掉的东西。
- 主题不一定是代码:功能、产品方向、商务决定、写作结构都可以。
- 当前没有工作目录,或不想往仓库里写任何文件。
不该用、或该换入口的情况:
- 你已经能把事情说精确,就不需要再烤一遍。
- 要对齐的是现有代码库,并且希望把术语和硬决策写进仓库,用同系列的
grill-with-docs。它跑的是同一套面试,但是有状态的,会维护CONTEXT.md和 ADR。 - 工作量大到一场会话装不下,用
wayfinder。它会把工作画成地图,再在里面跑 grilling。 - 「长文还是三个页面」「这个交互应该是什么手感」这类问题,官方称为 ungrillable:谈话解决不了,需要先看到东西。这时应停下来做一次性原型,看过再回来用一句话回答。
使用时还有几条官方踩坑说明。
被动点头是主要失败模式。连续四十个「同意」走完一场,得到的是 Agent 写的计划加上你的附和,时长制造了虚假的确定性。你需要主动掌舵:问题问得太浅就顶回去,范围跑偏就说,不知道就承认。产出质量跟你的回答有关,不跟问题数量有关。反过来,问到永远不写代码,是更少见但真实的另一头。
会话变成两百个问题时,通常是范围太大。先让 Agent 把工作拆小,再分别烤。上下文窗口被撑满后,问题质量也会下降。官方不提供问题数量上限,认为固定封顶要么截断难的情况,要么在简单情况下显得武断;控制方式是用自然语言让它收束,或者接受当前已经对齐的部分。
模型选择比多数 Skill 更重要。grilling 依赖模型自己对「系统会在哪里裂开」的判断,官方建议用你手头最好的模型;真正写代码时,有了上下文,用便宜一些的模型往往也能跟。较弱或非前沿模型有时会把「问到达成共识」收成两三问再甩一份提纲,并直接开始写。可靠修法是在 AGENTS.md 或 CLAUDE.md 里写明:未经允许不要实现。
另一个已知毛边:一个 Skill 点名另一个 Skill,并不保证对方一定会被加载。如果一场所谓的 grilling 把所有问题一次抛完、且没有 ➡️ 推荐答案,多半是模型在即兴面试,而不是在跑 grilling。这时直接问它有没有加载 grilling,通常能拉回来。
官方用来判断「这轮是不是在干活」的信号也很具体:一轮是带编号、带 ➡️ 推荐的列表,且可以按编号整轮作答;同一轮里没有谁必须等谁;后一轮会问到前一轮还问不了的问题;能自己查的事实不会拿来问你;结束时先确认共识,而不是直接开工。
小结¶
grill-me 做的事情很克制:在 Agent 动手之前,用一轮一轮的决策树追问,把沉默的假设逼到明处。它不写仓库、不替代你做决定,也不是完整的研发流程。和同系列的 grilling、grill-with-docs、wayfinder 放在一起看,它是那扇「随时随地、不依赖仓库」的用户入口。
官方地址:
- Skill 目录:https://github.com/mattpocock/skills/tree/main/skills/productivity/grill-me
- SKILL.md:https://github.com/mattpocock/skills/blob/main/skills/productivity/grill-me/SKILL.md
- 说明文档:https://aihero.dev/skills-grill-me
- skills.sh:https://skills.sh/mattpocock/skills/grill-me
- 技能集仓库:https://github.com/mattpocock/skills