grill-me:動手寫代碼前,先讓 Agent 把你問清楚

前言

用 AI 編程工具寫功能時,常見的失敗往往不是模型寫不出代碼,而是需求和方案還沒對齊,Agent 就已經開始動手。你隨口說一個想法,它很快給出目錄結構、接口和實現步驟;看起來很完整,事後才發現幾個關鍵分支從來沒被問過:要不要兼容舊數據、錯誤怎麼暴露、邊界情況歸誰處理。

Matt Pocock 把這類失敗看成人和 Agent 之間的溝通缺口。他在公開技能倉庫 mattpocock/skills 裏給出的應對方式,是先開一場 grilling session:不急着出方案,而是按決策樹把假設問清楚。面向用戶的入口之一就是 grill-me。官方 README 把它和同系列的 grill-with-docs 並列爲這套技能裏最常用的兩個。

這是什麼

grill-me 是一個需要你主動觸發的 Agent Skill。它的定位很窄:拿一個還不成形的想法,通過系統化追問,把它磨到你可以承諾下來。官方文檔強調它是無狀態的——沒有倉庫也能跑,不往工作區寫文件,也不假設主題一定是代碼。功能方向、產品取捨、商務決策、一篇文章的結構,都可以拿來問。

它由 Matt Pocock 維護,源碼在 GitHub 倉庫 mattpocock/skillsskills/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——前置條件已經確定、現在就能誠實回答的那些問題。一輪裏的問題彼此不能互相依賴;你答完之後,樹會往外長,再問下一輪。

每一題有固定格式,來自 grillingSKILL.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.mdCLAUDE.md 裏寫明:未經允許不要實現。

另一個已知毛邊:一個 Skill 點名另一個 Skill,並不保證對方一定會被加載。如果一場所謂的 grilling 把所有問題一次拋完、且沒有 ➡️ 推薦答案,多半是模型在即興面試,而不是在跑 grilling。這時直接問它有沒有加載 grilling,通常能拉回來。

官方用來判斷「這輪是不是在幹活」的信號也很具體:一輪是帶編號、帶 ➡️ 推薦的列表,且可以按編號整輪作答;同一輪裏沒有誰必須等誰;後一輪會問到前一輪還問不了的問題;能自己查的事實不會拿來問你;結束時先確認共識,而不是直接開工。

小結

grill-me 做的事情很剋制:在 Agent 動手之前,用一輪一輪的決策樹追問,把沉默的假設逼到明處。它不寫倉庫、不替代你做決定,也不是完整的研發流程。和同系列的 grillinggrill-with-docswayfinder 放在一起看,它是那扇「隨時隨地、不依賴倉庫」的用戶入口。

官方地址:

  • 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜