AI 写出来的全是你不要的?装完 Claude Code 最该先做的事------让 grilling 审问你
Windows/macOS/Linux · Claude Code 2.x · Matt Pocock Skills v1.2.0 · 2026-07-25
一、你描述的需求,AI 理解对了吗?与其让AI猜测,你何不如实招供!
你遇到过这种事吗:
跟 AI 说"帮我写个用户认证系统",它秒回 800 行代码------注册、登录、JWT、OAuth、密码重置全安排了,编译通过,测试全绿,看着完美。
然后你发现:它用的数据库是你没打算用的 MongoDB,密码策略不符合公司的复杂度要求,session 存储没走 Redis 而是写进内存------800 行代码,方向全对,细节全错。
这不是 AI 不够聪明。恰恰相反------AI 太"能干"了,能干到你不说清楚它就替你脑补。
这里有一个根本问题:你和 AI 之间缺少一个"共享设计概念"。两个人合作时,你们会讨论、辩论、对齐------你知道他知道什么。但 AI 不会跟你讨论,它直接开工。你给 3 个词,它写 3000 行,中间 40 个决策它替你做了。
Matt Pocock 管这个叫 failure mode #1:"The Agent Didn't Do What I Want" ------Agent 没做你要的事。他给的解药就叫 grilling------"审问式开发"。
速览:grilling 三件套
| 技能 | 一句话 | 命令 | 适用场景 |
|---|---|---|---|
| grill-me | 无代码库的纯净审问,不写文件 | /grill-me |
任何地方------梳理思路、评审方案、压力测试想法 |
| grill-with-docs | 审问 + 写 CONTEXT.md 术语表 + ADR 决策记录 | /grill-with-docs |
有代码库------开工前的对齐仪式 |
| grilling | 底层审问引擎,被其他技能内部调用 | 自动触发 | 你不需要直接调它,但它是灵魂 |
核心原则:在写任何代码之前,先让 AI 审问你。审到你们两个对"要做什么"有完全一致的理解为止。
二、grill-me --- 无代码库的"纯净审问"
一句话:在没有代码、没有仓库、没有任何上下文的情况下,让 AI 对你的想法进行 relentless(不留情面)的审问,直到你被问到没话说。
安装:
bash
npx skills@latest add mattpocock/skills
装完在 Claude Code 里直接 /grill-me 就能用。
这不是"AI 帮你做决定",而是"AI 逼你做决定"。
它到底怎么审
你输入一个想法------比如"我想写一个 CLI 工具来管理项目模板"------然后 AI 不是开工,而是开始审问你:
Q1: 模板的来源是什么?是本地 git clone、远程 GitHub 仓库、还是 Docker 镜像?
推荐:GitHub 仓库,因为模板需要版本管理,而 git 天生支持这个。
→ 你决定
Q2: 模板里的变量替换------像项目名、作者名这些------你准备怎么处理?
推荐:Handlebars 模板引擎,因为它对纯文本替换来说够轻,不需要引入 EJS 或 Jinja。
→ 你决定
Q3: 如果模板仓库更新了,已经用旧模板创建的项目怎么办?
推荐:不自动同步------模板是脚手架不是依赖。可以在 CLI 里加一个 diff 命令让用户手动对比。
→ 你决定
注意三个关键设计:
- 一问一答,绝不多问。哪怕它脑子里有 10 个问题排着队,也只问一个。多问会让人懵。
- 每个问题带推荐答案。你不是在填空,而是在审批。这比"你觉得呢"的压迫感小得多。
- 事实它自己查,决策才问你。如果它能通过读文件、搜代码查到的------它不烦你。它只把属于你的决策端到你面前。
问题会怎么展开
grill-me 的审问顺着决策树走------一个答案会影响下一个问题:
你: 我想做项目模板管理 CLI
└─ Q: 模板从哪来?(你选 GitHub)
└─ Q: 缓存策略?(因为涉及远程拉取)
└─ 你选"每次拉最新"
└─ Q: 网络断了怎么办?
└─ Q: GitHub API 限流怎么处理?
└─ 你选"本地缓存"
└─ Q: 缓存失效策略?
└─ Q: 替换变量怎么处理?(你选 Handlebars)
└─ Q: 用户自定义 helper?
└─ Q: 模板里引用了不存在的变量怎么办?
这不是固定问卷,是自适应决策树。不同的答案开出不同的分支。
适合你如果
- 有一个模糊的想法,想把它想清楚再动手
- 要评审别人的方案或设计文档
- 在几个技术方案之间纠结,需要外部压力测试
- 任何"开工前必须先想清楚"的场景
不适合你如果
- 已经想得很清楚,只是想快点写代码(直接用
/implement) - 只是小修小补(改一行 CSS 不需要审问 20 分钟)
三、grill-with-docs --- 有代码库的"审问 + 留档"
一句话 :比 grill-me 多做一件事------把审问过程中达成的共识写到文件里。
命令还是那条:
bash
/grill-with-docs
但它会在审问过程中同步产出:
CONTEXT.md--- 一个术语表 (glossary),不是需求文档。比如"这个项目里Template指什么?Workflow指什么?"每当你俩对一个术语达成共识,立刻写入,不攒到最后。docs/adr/--- 架构决策记录 (ADR),但极其克制。只有同时满足三个条件的决策才会写入:不可逆 + 没有上下文会很奇怪 + 经过真实取舍。大部分 grilling 会话一个 ADR 都不产出。
为什么需要留档
grill-me 的审问结果只存在于对话里。下次 /clear 或者会话结束,就没了。
grill-with-docs 把它变成可跨会话复用的资产:
今天你 /grill-with-docs "设计用户权限系统"
→ AI 审问你 45 分钟
→ 产出一份 CONTEXT.md(术语表 + 边界定义 + 约束条件)
→ 没产生 ADR(因为没有不可逆的决策)
下周你回来继续开发
→ AI 自动读取 CONTEXT.md
→ 不需要重新审问,直接基于上次的共识开始写代码
在完整工作流里的位置
grill-with-docs 不是孤立的------它是 Matt Pocock 完整开发流水线的第一步:
/grill-with-docs → /to-spec → /to-tickets → /implement → /code-review
(对齐理解) (写成PRD) (拆成任务) (逐任务实现) (双轴审查)
这五个步骤之间绝不 /clear。每个步骤都依赖前一步的理解。grill 出来的共识,spec 写成文档,tickets 拆成任务,implement 对着任务做 TDD,review 对照原计划审查。
适合你如果
- 有代码库,且这次任务涉及架构决策
- 团队协作------需要把共识以文档形式留下来
- 一个功能会跨多天开发------不想每次回来重新解释
不适合你如果
- 只是在脑暴阶段,不需要留档
- 任务太简单,不值得写 ADR
四、grilling 引擎 --- 60 个字改变开发方式
这是整个体系最惊人的部分:grilling 核心引擎的 SKILL.md 只有 56 个英文单词。
Interview me relentlessly about every aspect of this until we reach a shared understanding.
Walk down each branch of the decision tree, resolving dependencies between decisions
one-by-one. For each question, provide your recommended answer.
Ask the questions one at a time, waiting for feedback on each question before continuing.
Asking multiple questions at once is bewildering.
If a *fact* can be found by exploring the environment (filesystem, tools, etc.), look it up
rather than asking me. The *decisions*, though, are mine --- put each one to me and wait for
my answer.
Do not act on it until I confirm we have reached a shared understanding.
60 个字。但它做了五件事:
| 机制 | 对应文本 | 解决的问题 |
|---|---|---|
| 决策树遍历 | "walk down each branch of the decision tree" | 不遗漏任何一个隐性决策 |
| 一问一答 | "one at a time, waiting for feedback" | 避免问题轰炸让人懵掉 |
| 带推荐答案 | "provide your recommended answer" | 把"填空"变成"审批",降认知负荷 |
| 事实 vs 决策分离 | "facts found by exploring... decisions are mine" | AI 能查的自己查,该你定的才问你 |
| 确认门禁 | "do not act on it until I confirm" | 审问没结束绝对不动代码 |
整个 grilling 体系的力量不在"提示词的技巧",而在"流程的设计"。
谁在内部调用 grilling
grilling 被设为模型可自动调用 ------不只是你手动 /grill-me,其他技能也会在需要时自动触发它:
| 调用者 | 触发场景 |
|---|---|
improve-codebase-architecture |
生成架构候选方案报告后,审问你选哪个 |
triage |
对 Issue 分类决策时,审问你的优先级判断 |
wayfinder |
解析决策类工单时,每个工单标记为 HITL(Human In The Loop) |
这就是 grilling 作为"底层原语"的价值------一个技能写好了审问机制,所有技能都可以复用。
五、为什么 grilling 的思路比 grilling 的代码更重要
"你的水平是 AI 能到达的天花板。" ------ Matt Pocock
战略编程 vs 战术编程
Pocock 从 John Ousterhout 的《A Philosophy of Software Design》里借了一个框架:
| 层级 | 做什么 | AI 时代的角色 |
|---|---|---|
| 战术编程 | 写代码、修 bug、提交 commit | AI 做------它更快更便宜 |
| 战略编程 | 系统设计、架构决策、任务拆解、测试策略、产品判断 | 你来做------这是 AI 的上限 |
AI 吃掉的是战术层。但战略层的质量决定了代码最终对不对、好不好。
grilling 就是在战略层建立强制对齐。
三个"书挡",把代码夹在中间
Pocock 的完整方法论不只是 grilling,而是三个"bookends"(书挡):
grilling(审问对齐)
↓
写代码(AI 做,这是"桌上的书")
↓
TDD(测试驱动------确保"对"的代码没写错)
↓
Code Review(对照原计划审查------确保写的代码没跑偏)
| 维度 | 传统代码审查 | TDD | grilling |
|---|---|---|---|
| 时机 | 代码写完之后 | 写代码的同时 | 写任何代码之前 |
| 问什么 | "这段代码对不对、干不干净?" | "这段代码过不过测试?" | "你确定你要做的东西是对的吗?" |
| 方向 | 人审 AI 的代码 | AI 测自己的代码 | AI 审人的思路 |
| 防止什么 | 烂代码 | 不能用的代码 | 做错的东西------最贵的错误 |
做错需求以前只浪费一个下午。现在 AI 能 5 分钟交 2000 行------做错需求的成本暴涨了 100 倍。grilling 就是把投资从"修复做错的东西"移到"防止做错"上。
不只是 Claude Code 在用
grilling 的思想正在跨工具传播:
- OpenAI Codex 社区移植了
grill-me-codex(chaseai-yt),加入跨模型对抗审查 - 变体
drill-me(timini)把概念反转------AI 用间隔重复法考用户 - Anthropic 官方回应 :Claude Code v2.1.218 把
/code-review改成后台子代理运行,v2.1.215 停止让 Claude 自己触发审查------把触发权交还给开发者。这正是 grilling 的核心理念:人必须留在决策环里
六、grill-me vs Plan Mode --- 为什么 Pocock 抛弃了 Plan Mode
很多人好奇:Claude Code 内置的 Plan Mode 和 grilling 有什么区别?Pocock 自己就是从 Plan Mode 迁移到 grilling 的。
| 维度 | Plan Mode(Claude Code 内置) | grilling(Matt Pocock) |
|---|---|---|
| 触发方式 | 选项开关 | /grill-me 或 /grill-with-docs |
| 行为 | AI 出一个计划文档 | AI 做一个审问式对话 |
| 人的角色 | 看文档、说 yes/no | 被追问、做决策 |
| 输出 | 一份 Markdown 计划 | 共享理解 + 可选 CONTEXT.md |
| 交互模式 | 一问一答(你问 AI) | 一问一答(AI 问你) |
| 问题 | AI 太急着写文档,不够主动挖掘你的真实意图 | 强制走完决策树,每一层深度遍历 |
Pocock 的原话:"Plan Mode 的问题是它太渴望产生一份文档了------而不是先搞清楚你到底要什么。"
grilling 反其道而行之:在理解到位之前,一个字都不写。
七、我的选择
如果你只能记住一件事 :装完 Claude Code 和 Matt Pocock Skills 之后,任何超过 30 分钟的任务,第一步永远是 /grill-with-docs。
不是因为 grilling 本身有多神奇。是因为 AI 时代最贵的错误不再是"写出烂代码"------而是**"写出完美的代码,但它做的事不是你想要的"**。
grilling 用 60 个单词的提示词 + 一个决策树模型,把这个最贵的错误挡在代码还没写的时候就消灭了。
| 场景 | 用哪个 | 为什么 |
|---|---|---|
| 脑暴阶段、梳理思路 | /grill-me |
不需要留档,只要想清楚 |
| 有代码库、涉及架构决策 | /grill-with-docs |
留下 CONTEXT.md,跨会话复用 |
| 小修小补、改个 CSS | 不用 | 不值得审问 |
| 不确定 | /grill-me |
先审了再说,没损失 |
扩展阅读
本系列相关文章:
-
使用技巧(五):插件市场全景游 ------ Superpowers、Night Market、ECC 横向对比 --- Matt Pocock Skills 的生态位置
-
使用技巧(六):Superpowers 深度配置 ------ 7 阶段开发工作流完整走通 --- 另一个完整工作流的参考
-
使用技巧(十):Claude Code 会话管理术 ------ compact、rewind、checkpoint 与上下文监控 --- 别在 grilling 审问过程中
/clear -
Matt Pocock Skills --- GitHub --- 18.7 万 Star,完整技能套件
-
AI Hero --- Skills 文档 --- grill-me 官方文档
-
Matt Pocock's skills, mapped v1.1 --- 完整技能地图
参考文献
- mattpocock/skills --- GitHub 仓库,包含 grilling / grill-me / grill-with-docs 三个技能的完整实现
- Skills Engineering README --- 工程技能的设计哲学与完整流水线说明
- grill-me just passed 650,000 installs --- Skillselion 安装里程碑报告
- Matt Pocock's Agent Skills --- 30K Stars and the Start of the Skill Economy --- DEV Community 深度分析
- Software Fundamentals Matter More Than Ever --- DOFI 对 grilling 方法论的思想层面分析
- Frederick P. Brooks, "The Design of Design" (2010) --- grilling 的设计哲学源头:共享设计概念
- John Ousterhout, "A Philosophy of Software Design" (2018) --- 战略编程 vs 战术编程的理论基础