翼王資訊社

知識分享 · AI 工作流

被下載 700 萬次的五行字:grill-me,與 Matt Pocock 馴服 AI 的整套工作流

最紅的 skill 打開來只有五行字。從讓 AI 反過來拷問你、規格禁寫程式碼、照功能拆任務、TDD 防作弊,到深模組為什麼對 AI 特別重要 —— 拆解一位 TypeScript 大神馴服 AI 的完整思路。

翼王資訊社 · 知識分享 2026-08-25

Step 00 · 全景

先看整條生產線

Matt Pocock 是 TypeScript 領域最頂尖的專家與教師之一,工程師圈的大神級人物。這一年他把重心搬到 AI 上,然後把自己的 AI 工作流整套開源 —— 一個裝滿 skill 的專案,從寫規格、拆任務到寫測試都有。講者說這個專案已被下載 700 萬次、超過 16 萬顆星(此為講者自述的當時數字),其中最先爆紅的就是 grill-me。

Matt 的出發點是:大量依賴 AI 開發之後,比寫程式速度更難的,是控制 AI —— 它本質上是個充滿隨機性的黑盒子。市面上的大框架(影片點名 Spec-Kit、Superpowers 等)想用一條又重又硬的固定流程接管整個開發過程,但前面一步定歪、錯誤就順著整條線傳染下去。Matt 走完全相反的路:每個 skill 都刻意做得很小、很好改、能自由拼裝。「小而模組化」就是他所有東西的底層邏輯。

grill-me AI 拷問你 問到想清楚為止 to-spec 共識寫成規格 禁寫程式碼 to-tickets 照使用者功能 拆成任務 implement TDD 引導實作 先測試後程式 Review 全新對話 照清單審查 主線:五個小 skill,可以從任何一站進場、任何一站收工 日常保養:improve-codebase-architecture 每隔幾天跑一次,掃描專案、產出 HTML 診斷報告,揪出淺模組 進化版:grill-with-docs 邊拷問邊留文件,下次直切重點

整條生產線。跟大框架最大的差別:每一站都能單獨用。

編按:這是三篇一組的第三篇。「skill 是什麼、SKILL.md 怎麼放」在第一篇〈從 LLM 到 Agent Skill〉講過了;「eval、TDD 這類把關思維從哪來」可以對照第二篇〈史丹佛的 AI 系統課〉。這篇看的是一位老手怎麼把這些觀念壓縮成能直接拿來用的工具。
Step 01 · 拷問

grill-me —— 讓 AI 反過來拷問你的五行字

grill-me 的功能一句話:動工之前,強制讓 AI 反過來把你拷問一輪 —— 一題一題問,問到你完全扛不住、非得想清楚不可。打開這個被幾百萬人下載的 skill,裡面居然只有短短五行字。影片整理的五條規則,大意是:

# grill-me 五條規則的大意(影片轉述,非原文逐字翻譯) ① 在我們對計畫達成共識之前,把我往死裡問 ② 像畫心智圖一樣順著我的思路延伸 —— 把每個決定會引發的連鎖反應一個一個抓出來問到底 ③ 每次只問一個問題 ④ 每個問題都要附上你的建議答案 ⑤ 共識達成之前,絕對不准偷跑去寫程式

為什麼大神特地寫這五行?因為寫程式的本質是連續做出幾百個微觀決定:防呆怎麼做?斷線怎麼辦?極端資料怎麼處理?把模糊的想法直接丟給 AI 憑感覺做(也就是 vibe coding),等於把這幾百個決定的決策權全部外包給黑盒子 —— 而 AI 為了討好你,常會瞎掰出一套最難維護的架構。

grill-me 的唯一目的,是把決策權搶回人類手裡。Matt 知道要人面對空白螢幕、從零寫出一份涵蓋所有極端狀況的完美企劃書太痛苦了,所以把「找漏洞」這件苦差事丟給 AI:AI 順著決策樹,無情地把你腦袋裡沒想清楚的盲點一個個挖出來;AI 只負責給選項,拍板定案的永遠是人。透過這種強制的一問一答,人才能穩穩坐在架構師的位置上。

它還有進化版:grill-with-docs。grill-me 的罩門是 AI 每次開工都要重新摸一遍你的專案,而且專有名詞的定義、當初為什麼這樣決定,翻遍程式碼也查不到 —— 前半場都在問背景,尖銳的問題要等它摸熟才出得來。grill-with-docs 會在每場拷問裡順手把這些名詞與決策寫成文件留下來,下次 AI 帶著資料進場,開場就能切進重點。Matt 自己比較常用這個版本。
Step 02 · 規格與拆任務

to-spec 與 to-tickets —— 規格禁寫程式碼、任務照功能拆

to-spec:共識要趁熱寫下來,但禁止放程式碼

拷問完,你一關掉對話 AI 就失憶,吵出來的共識直接蒸發 —— 所以第二站是用 to-spec 把共識寫成規格書。有意思的是 Matt 在這個 skill 裡完全禁止 AI 在規格裡引用或撰寫任何程式碼。理由是軟體工程界最大的痛:文件永遠跟不上程式碼的更新速度。程式碼是最容易變動的東西;讓它進了規格,未來程式一改、規格對不上,下次 AI 照規格修改功能時就會被過期的舊碼搞混,越改越亂。封殺這個選項,規格書就永遠只專注在「這個功能到底要解決什麼問題」。

to-tickets:AI 拆任務的壞習慣,用功能切治好它

讓 AI 自己排待辦清單,它天生喜歡照技術架構分工:先建完全部資料庫、再寫完全部後端邏輯、最後才畫前端畫面。最可怕的盲點是 —— 在畫面出來之前,你完全沒辦法測試任何東西;要是第一步資料庫建錯了,得等到最後才發現,前面的心血全毀。to-tickets 強制 AI 改用使用者功能來拆:

同一個電商網站,兩種拆法的差別。
照技術架構拆(AI 的壞習慣)照使用者功能拆(to-tickets 的做法)
任務長相 ① 建好全部資料庫 ② 寫完全部後端 ③ 畫出全部前端 ① 會員登入(含它的資料庫+邏輯+畫面)② 加入購物車(同樣一整套)
什麼時候能測 最後一步之前,什麼都測不了 每做完一個功能,馬上開瀏覽器測
額外的好處 — 互不干擾的任務可以同時發包給好幾個 AI 平行處理,速度直接翻倍
Step 03 · 實作

implement 與 TDD —— AI 愛作弊,先把測試定死

任務排好,implement 這個 skill 照著清單開始寫程式,過程中用 TDD(Test-Driven Development,測試驅動開發)引導。所謂「測試」,就是一段用來檢查對錯的程式:你要做「滿千送百」的結帳功能,測試就是提早定下死規矩 ——「購物車滿 1,000 元時,結帳金額必須扣 100」。以後有人改壞了程式,測試一跑立刻報錯。而 TDD 的核心是:寫功能之前,必須先寫好測試。

為什麼這對 AI 開發特別重要?影片講得很直白:因為 AI 骨子裡是個作弊仔。

  • 先寫程式、後補測試:AI 把「滿 1,000 扣 100」寫成了扣 200,它為了交差,會直接生出一個「滿 1,000 必須扣 200,檢查通過!」的假測試 —— 拿自己寫錯的邏輯配一個絕對會過的測試,你根本抓不出 bug。
  • 先寫測試、後寫程式:測試先定死「只能扣 100」。這時程式還沒寫,測試一跑必定失敗、亮紅燈;紅燈出現了,才准 AI 開始寫真正的程式,直到紅燈變綠燈為止。亂寫交差的空間被徹底鎖死。
順序就是一切。同樣是「有測試」,先寫後寫的差別是天壤之別 —— 先寫的測試是規矩,後補的測試是橡皮圖章。
Step 04 · 審查

Code Review —— 把幾十年的爛 code 徵兆寫成清單

程式寫完、測試過了,流程會自動觸發審查 skill —— 而且是開一個全新的對話來做 Code Review,讓 AI 在最乾淨的狀態下檢查,不被寫程式時的記憶干擾。這個 skill 最值得學的地方是:它不是空泛的一句「幫我檢查有沒有 bug」,而是把軟體工程界幾十年公認的爛 code 徵兆(code smells)寫成具體的檢查清單 —— 影片說 Matt 一口氣點名了 12 種,全部出自經典名著《Refactoring》。挑三個新手最容易踩的:

徵兆(指引詞)症狀處方
Shotgun Surgery
散彈槍手術
只想改一個按鈕的顏色,卻要打開十幾個檔案 —— 每次改動都像散彈打出去,散落各處 把散落的相關邏輯重新集中起來
Feature Envy
依戀情結
處理訂單的程式碼,老是跑去管庫存的檔案拿資料來算 邏輯放錯位置了 —— 搬去訂單那邊
Data Clumps
資料泥團
買家姓名、電話、地址三個變數總是同時出現、散著傳來傳去 永遠綁在一起的東西,打包成一個「聯絡人」物件
Step 05 · 寫法

寫 skill 的秘密 —— 修剪、指引詞、完成標準

Matt 的每個 skill 都非常短、非常精煉,每個字都是挑過的。專案裡有個 skill 叫 writing-great-skills,藏著他磨字句的三個原則:

  • 修剪(pruning)。核心信念是:在 AI 面前,你多寫一句廢話,AI 就多一分分心的可能。廢話、會讓 AI 分心的文字、那些你不說模型也知道該怎麼做的指令 —— 全部刪掉。這就是 grill-me 只需要五行字的原因:每一句都有實際作用。
  • 指引詞。字這麼少 AI 聽得懂嗎?靠的是「資訊被極度壓縮、含金量超高的專有名詞」。對 AI 說一句 Data Clumps,等於說了一百字的解釋 ——「請檢查程式碼裡有沒有總是綁在一起出現的變數,有的話打包成獨立物件」。這些深植在訓練資料裡的經典術語,一個字頂一百字。
  • 完成標準。給 AI 一個明確的終點,它才知道什麼時候該收工,不會漫無目的地發散。

就像快退休的老教練給球員的一句話:聽起來簡單,裡面是幾十年的經驗。用最精簡的語言表達最深奧的道理,AI 就沒有分心或發散的空間。

Step 06 · 架構

深模組 —— AI 時代最重要的架構觀

流程再完整,專案還埋著一顆隱形炸彈:邏輯過度碎片化。AI 寫程式快,但天生沒有大局觀,最容易寫出一堆淺模組。影片的比喻很傳神:一棟房子,廚房客廳臥室分得很乾淨,但沒有大門 —— 進廚房要走窗戶、進客廳要爬煙囪。AI 寫購物車結帳就愛蓋這種房子:切成「算折扣、驗信用卡、建訂單、扣庫存、寄信」五個小房間,卻沒有一扇統一的大門把細節藏起來,主程式得親自處理五間房的資料傳遞。

淺模組:沒有大門的房子 主程式(負擔極大) 算折扣 驗信用卡 建訂單 扣庫存 寄信 ✗ AI 修 bug 要在五個房間瘋狂跳轉 → 超載 → 瞎猜 深模組:一扇簡單的大門 主程式(敲一次門) processCheckout( ) ← 大門 算折扣 驗信用卡… 扣庫存、寄信 ✓ 細節全藏在門後,來龍去脈集中在一個視野裡 AI 只讀這一個模組,就能精準打擊

淺模組讓 AI 迷路並瞎猜;深模組讓 AI 專注並精準打擊。

注意,深模組不是叫你把一萬行程式塞在同一個大房間不准切分 —— 而是蓋一扇極度簡單的大門,把複雜藏在裡面。為什麼這對 AI 特別重要?因為 AI 的 context window 有限:邏輯散落五個檔案,它就得來回跳轉,塞進太多瑣碎邏輯、超過記憶範圍,就開始瞎猜,最後連正常的程式都改壞。深模組有極強的局部性:出問題時 AI 只要專注讀這一個模組,所有來龍去脈都在眼前。

對付淺模組危機的工具是 improve-codebase-architecture。它的判斷方式很殘酷 —— 刪除測試:想像把某個模組直接拔掉、讓主程式自己來,會怎樣?拔掉後天下大亂、複雜邏輯全炸回主程式 —— 這是有在做事的深模組;拔掉後程式碼反而變清爽 —— 它根本沒隱藏任何細節,只是個害人迷路的空殼,清掉。Matt 建議把它當日常保養:每隔幾天跑一次,它會掃描專案、生成一份 HTML 診斷報告畫出前後架構對比,你挑一個最急迫的建議說「照這個方案重構」就行。

Step 07 · 對比

與 Superpowers 的對比,與臺灣讀者的編按

影片最後拿這套 skill 跟另一套熱門的開發框架 Superpowers 比較。Superpowers 最強的地方是把整套工作流定義得很完整 —— 用寫死的步驟逼你想清楚目標、寫好文件才准動工;在模型還不夠聰明、容易偏題的時代,這種保母級防呆非常管用。但講者認為,模型夠聰明之後,重度防呆反而變成累贅:

Superpowers(大框架)Matt Pocock(樂高積木)
哲學完整流程接管:設計 → 計畫 → 執行一條龍極簡與模組化:一個 skill 只解決一個問題,做完就收工
強項確保不漏步驟,品質穩定 —— 模型較弱時的自動化生產線不被死流程綁架:手上有規格(自己寫的、主管給的、別的 AI 產的)就能直接從 to-tickets 進場
弱點產出的文件為自家下一步量身打造,別人難接手;前面定歪整條重跑沒有保母 —— 該想清楚的還是得自己想(所以才有 grill-me)
講者的結論模型還笨的年代的好答案模型夠聰明的現在,把主導權交還給人
編按一:兩套都是公開專案,可以自己驗證。兩個專案的 GitHub 連結都在頁尾,臺灣讀者取用零門檻。「16 萬星、700 萬下載」是講者錄影當下的自述,數字會變動;「grill-me 只有五行」以你打開 repo 當下的版本為準。另外「哪套比較好」是講者的觀點 —— 我們的看法比較務實:兩套的核心洞見(動工前把需求逼清楚、測試先行、文件與程式分離)是相通的,選哪套是口味問題,有沒有做才是分水嶺。
編按二:「深模組」不是影片發明的。這個概念出自 John Ousterhout 的《A Philosophy of Software Design》(頁尾第 5 條);爛 code 徵兆清單出自 Martin Fowler 的《Refactoring》。影片的貢獻是把兩本經典跟「AI 的 context window 有限」這件事接起來 —— 老智慧在 AI 時代反而更值錢,因為對 AI 友善的架構,跟對人類友善的架構,是同一種架構。

一句話總結

整套系統說穿了就一件事:Matt 把幾十年的軟體工程功力用在兩個地方 —— 用經典方法論(深模組、code smells、TDD)規範 AI 的行為,用經典術語(指引詞)跟 AI 精準溝通。這也打破了一個迷思:有了 AI 就不用在自己的領域精進了嗎?恰恰相反 —— 只有成為專業領域的專家,你才能真正控制 AI。

互動實驗室:你卡在哪一站?

四個 AI 協作開發的常見慘狀,點選看這套工作流會開哪一帖藥:

載入中……

參考與引用來源 (References & Sources)

MORE

全部 21 篇文章 →  ← 回首頁