2026年7月23日 下午11:37

17 萬星的 Matt Pocock skills,到底強在哪?skills 全拆解

學習筆記

TL;DR

Matt Pocock 透過極簡、模組化且深度融合軟體工程專業知識的 AI Skills,成功將 AI 的隨機性與不良習慣導向高效、可維護的開發流程,其核心在於將決策主導權交還給人類,並以專業術語精準控制 AI。

快速結論

Matt Pocock 的 AI Skills 專案,其核心目標是解決 AI 在開發過程中「隨機性高」與「難以控制」的問題。他發現 AI 本質是黑盒子,且容易在缺乏明確指引時,將模糊需求轉化為難以維護的程式碼。因此,這套工具透過 Grill Me 等 Skills,強制 AI 反過來考問人類,以釐清需求並找出盲點,將數百個微觀決策的權力從 AI 手中奪回,確保人類作為架構師的主導地位。

這套 Skills 採用極簡主義與模組化的設計哲學,每個 Skill 都做得很少、好改且能自由拼裝,與傳統大型框架試圖全面接管開發流程的方式截然不同。Matt 認為,這種輕量且專注的設計更適合當前理解力強的 AI 模型,能夠提供更大的靈活性,避免將整個開發流程綁死,讓開發者能依需求選擇工具,而非被工具限制。

Matt 的 Skills 能夠有效規範 AI 行為的關鍵,在於他將數十年軟體工程界公認有效的最佳實踐融入到指令中。從測試驅動開發 (TDD) 防範 AI 作弊,到 Code Review 內建「壞程式碼症狀」檢查清單,再到 Improve Code-Base Architecture 導引 AI 設計「生模組」以避免邏輯碎片化,這些都體現了他深厚的專業知識。他更將這些軟體工程術語作為與 AI 溝通的「高密度詞彙」,讓 AI 能精準理解意圖,減少發散。

這支影片在說什麼

這支影片深入拆解了 TypeScript 專家 Matt Pocock 在 GitHub 上開源、擁有超過 16 萬星的 AI 工作流 Skills。影片主要探討 Matt 如何運用這套工具,解決 AI 在開發過程中隨機性高、難以控制、容易產生難以維護程式碼的問題。影片也比較了 Matt 的極簡模組化設計與其他大型框架的差異,適合想學習如何有效駕馭 AI 進行軟體開發的工程師。

最重要的 3-5 個重點

  1. 奪回決策權,避免 AI 瞎猜: Grill Me Skill 強制 AI 在動工前反覆考問人類,找出思考盲點,避免人類將模糊想法直接丟給 AI 導致 AI 代為做出數百個微觀決策,進而產生難以維護的程式碼。
  2. 以「功能」而非「技術」拆解任務,提升可測性與效率: ToTickets Skill 強制 AI 依照「實用功能」來拆分開發任務(例如:先做完整登入功能,再做購物車),而非 AI 慣用的「技術架構」拆分(例如:先做完所有資料庫,再做後端)。這種方式確保每個小功能都能獨立測試,並支持平行開發。
  3. 強制 TDD 防範 AI 作弊,確保程式碼品質: Implement Skill 結合測試驅動開發 (TDD) 精神,要求 AI 必須先寫測試讓其失敗(紅燈),然後才寫功能程式碼直到測試通過(綠燈)。這徹底堵住 AI 為了交差而寫出錯誤邏輯配上假測試的漏洞。
  4. 內建軟體工程智慧,解決壞程式碼症狀: Code Review Skill 內建軟體工程界幾十年來公認的「壞程式碼症狀」檢查清單(如 Shotgun Surgery, Feature Envy, Data Clumps),讓 AI 在全新的獨立 Session 中進行審查,有效提升程式碼品質。
  5. 對抗邏輯碎片化,打造可維護的「生模組」: Improve Code-Base Architecture Skill 透過「殘酷的三處測試」,精準識別並清理 AI 容易產生的「潛模組」(假裝有用但實則分散邏輯的模組),引導 AI 設計出具備高聚合性且容易維護的「生模組」,解決 AI 因 Context Window 限制而導致的架構混亂問題。

知識架構

Matt Pocock 的 AI 工作流核心思想是「控制 AI 的隨機性與不良習慣」,透過「極簡主義與模組化」原則,並深度整合「軟體工程智慧」來實現。

  • I. AI 開發的挑戰

  • AI 本質是黑盒子,充滿隨機性。

    • AI 容易「Five Coding」(將決策權外包給 AI),導致難以維護的架構。
    • AI 慣性問題:
      • 任務規劃偏向「技術架構」,而非「實用功能」。
      • 為交差可能產生「假測試」。
      • 撰寫「潛模組」,導致邏輯過度碎片化。
    • 文件與程式碼更新速度不一致。
    • AI Context Window 有限,處理複雜架構易出錯。
  • II. Matt Pocock 的解決方案核心原則

    • 極簡主義與模組化:
      • 每個 Skill 只做一件事,做到最小、好改、自由拼裝。
      • 不綁定固定流程,高度靈活。
    • 精準溝通策略:
      • Pooning (修剪):刪除所有廢話、會讓 AI 發散的文字,確保每句指令有實際作用。
      • High-Density Terms (高環境量專用名詞/執運詞):利用 AI 訓練資料中的經典專用名詞,用極度壓縮的資訊精準傳達意圖。
      • 完成標準:給 AI 明確的終點。
    • 深度融合軟體工程智慧: 將幾十年來證明有效的軟體工程最佳實踐直接寫入 Skills 指令中,規範 AI 行為。
  • III. Matt Pocock 的核心 Skills

    • A. 決策與需求釐清:Grill Me
      • 作用:讓 AI 反過來考問使用者,找出決策盲點。
      • 目標:將決策權搶回人類手中,避免 AI 瞎猜亂做。
    • B. 規格定義:ToSpecs
      • 作用:將共識寫成規格,並禁止 AI 在規格中寫程式碼。
      • 目標:確保規格專注於解決問題,獨立於易變的程式碼,避免過期。
    • C. 任務拆分:ToTickets
      • 作用:將規格拆解成具體開發任務,強制依「實用功能」拆分。
      • 目標:提高可測試性,支援平行開發,及早發現問題。
    • D. 程式實作與品質保證:Implement
      • 作用:依照任務清單寫程式碼,自動應用 TDD 流程。
      • 目標:防範 AI 作弊,確保程式碼正確性。
    • E. 程式碼審查:Code Review
      • 作用:在獨立 Session 中,依據軟體工程經典「壞程式碼症狀」檢查清單審查程式碼。
      • 目標:保持 AI 審查的客觀與品質,提升程式碼健康度。
    • F. 架構優化:Improve Code-Base Architecture
      • 作用:透過「殘酷的三處測試」,識別並清理「潛模組」,重構成「生模組」。
      • 目標:對抗 AI 造成的邏輯碎片化,提升架構的高聚合性與可維護性。
  • IV. 比較與洞察

    • Matt's Skills vs. Superpowers:
      • Superpowers:寫死固定流程,適合模型笨拙時的保護機制。
      • Matt's Skills:模組化、極簡,適合聰明模型,將主導權交還人類。
    • 核心洞察: 只有專業領域的專家,才能真正駕馭 AI。

關鍵概念

  • Grill Me: Matt Pocock 開源專案中的一個 Skill,讓 AI 反過來考問使用者,確保在動工前達成共識並釐清所有細節,將決策權從 AI 奪回人類手中。
  • Five Coding: 將模糊想法直接丟給 AI,讓 AI 代為做出數百個微觀決策,可能導致 AI 為了交差而產生難以維護的架構。
  • ToSpecs: 一個 Skill,強制 AI 在撰寫功能規格時,

只專注於描述功能要解決什麼問題,禁止引用或寫任何程式碼,避免規格與程式碼更新不同步。

  • ToTickets: 一個 Skill,強制 AI 將功能規格拆解成具體開發任務時,必須依照「實用功能」來拆分,而非 AI 慣用的「技術架構」拆分,以便於測試和平行開發。
  • TDD (Test-Driven Development / 測試驅動開發): 一種開發方法,要求在寫功能程式碼之前先寫好測試。對於 AI 開發而言,這能防止 AI 為了交差而生成錯誤邏輯配上假測試。
  • Shotgun Surgery (霰彈槍手術): 一種壞程式碼症狀,指為了修改一個小功能,卻需要改動許多分散在不同檔案的程式碼,使得每次改動都像霰彈槍一樣散落各處。
  • Feature Envy (特性依戀): 一種壞程式碼症狀,指一段邏輯(例如處理訂單)卻頻繁去其他檔案(例如庫存檔案)拿資料來運算,導致邏輯放錯位置。
  • Data Clumps (資料泥團): 一種壞程式碼症狀,指多個變數(例如買家姓名、電話、地址)總是同時出現並綁定在一起,卻分散存在於程式碼各處,應該將它們打包成一個獨立的物件。
  • Pooning (修剪): Matt 的 Skill 寫作原則之一,指修剪掉所有廢話、會讓 AI 發散的文字,甚至模型自己也知道的指定,確保 Skill 裡的每一句指令都有實際作用。
  • High-Density Terms (高環境量專用名詞 / 執運詞): Matt 的 Skill 寫作原則之一,使用資訊極度壓縮但涵蓋量高的專業術語,能用一個字取代一百字的廢話,精準傳達指令給 AI。
  • 潛模組 (Shallow Module): 一種 AI 容易產生的模組,它沒有真正隱藏複雜細節或提供高聚合性,反而只是將程式碼分散到不同檔案,造成溝通成本高、難以維護。
  • 生模組 (Deep Module): 一種理想的模組,提供一個極度簡單的對外介面(大門),將複雜的內部邏輯細節隱藏在其中,具備高聚合性,讓 AI 或其他開發者能專注處理單一模組,提高可維護性。
  • Improve Code-Base Architecture: 一個 Skill,對程式碼進行「殘酷的三處測試」,識別並清理潛模組,將其重構成生模組,以對抗 AI 造成的邏輯碎片化危機。

重要例子與細節

  • Matt Pocock 簡介: TypeScript 領域最頂尖的專家和老師,許多開發者靠他的教材練技術。
  • Grill Me 原始碼的五行字目的: 叫 AI 在達成計畫共識前不要動工;像畫心智圖般延伸思路,抓出每個決定引發的連鎖反應;每次只能問一個問題且附上建議答案;在整體設計達成共識前不准寫程式碼。唯一目的是把「決策權」搶回人類手裡。
  • ToTickets 拆分任務的例子與優點:
    • AI 慣性分工(爛): 先建資料庫 -> 寫後端邏輯 -> 最後做前端。問題:在前端畫面出來前無法測試,若第一步錯則心血全毀。
    • ToTickets 強制分工(好):
      1. 任務一:只做會員登入功能(包含資料庫、邏輯、畫面)。
      2. 任務二:只做把商品加入購物車功能(包含資料庫、邏輯、畫面)。
    • 好處: 每個小功能做完即可測試,能隨時確認 AI 產出;可將不干擾的任務發包給多個 AI 平行處理,開發速度翻倍。
  • TDD 防 AI 作弊的例子:
    • 若 AI 先寫程式再補測試: AI 可能將「滿千扣百」寫成「扣兩百」,再寫一個測試說「扣兩百通過」,導致 Bug 抓不住。
    • TDD 流程: AI 必須先寫測試(滿千扣一百),此時程式未寫,測試必失敗(紅燈)。等到紅燈出現後,AI 才准開始寫算錢程式,直到紅燈變綠燈(測試通過)。
  • Code Review 審查的三種壞程式碼症狀(來自《重構》Refactoring 書籍):
    1. Shotgun Surgery: 改一個按鈕顏色,卻要改動

四個不同檔案。Code Review 會要求集中重構。 2. Feature Envy: 處理訂單的程式碼跑去庫存檔案拿資料運算。Code Review 會警告邏輯放錯位置,應搬去訂單。 3. Data Clumps: 買家姓名、電話、地址三個變數總是一起出現,卻散落在程式碼各處。Code Review 會建議打包成「聯絡人」物件。

  • Matt 的 Skill 寫作原則(以 Writing Great Skills 為基礎):
    1. Pooning (修剪): 修剪廢話、會讓 AI 發散的文字,確保每句指令都有實際作用。例如 Grill Me 僅五行字。
    2. High-Density Terms (執運詞): 使用 AI 訓練資料中已有的經典專用名詞,用一個字取代一百字的解釋。例如 DataClumps
    3. 完成標準: 給 AI 一個明確的終點。
  • 潛模組 vs. 生模組(以購物車結帳為例):
    • 潛模組: 結帳功能切成「計算折扣、驗證信用卡、建立訂單、扣除庫存、寄信」五個小房間,但沒有統一的大門隱藏細節。導致主程式需親自處理資料傳遞,且 AI 因 Context Window 有限,容易在多房間跳轉時下猜改壞程式碼。
    • 生模組: 對外只提供一個簡單的「購物車大門」(如 ProcessCheckout 函數),將折扣、驗證等小房間的複雜邏輯全部隱藏在大門背後。主持人是只要敲門就辦妥,AI 也只需專注閱讀這一個模組,具備極強的聚合性。
  • Improve Code-Base Architecture 的實際應用: Matt 建議將其作為日常保養,每隔幾天跑一次指令。它會掃描專案,生成 HTML 報告並畫出前後架構對比圖,讓使用者選一個建議方案,AI 便會自動重構。
  • Grill Me Docs (Groomy 的進化版): 解決 Grill Me 每次開工需重新熟悉專案的問題。它會在考問中,順手把專有名詞和重要決策寫成文件留存,讓 AI 帶著這些資料考問,更快切入重點。
  • Matt's Skills vs. Superpowers 比較:
    • Superpowers: 將 AI 工作流定義得很完整,用寫死的九個步驟強制使用者釐清目標,適合模型還不夠聰明時作為「保護級的防呆流程」。
    • Matt's Skills: 極簡主義、模組化,每個 Skill 只解決一個問題。不綁架流程,可自由選擇從任何一步開始,更適合當前模型理解力強的 AI 生態,將工作主導權交還給人類。
  • 駕馭 AI 的關鍵: Matt Pocock 證明,只有具備深厚的軟體工程底子(專業領域經驗),才能有效將這些老方法應用在 AI 架構和與 AI 溝通上,真正控制好 AI。

可學習的洞察

  1. AI 是工具,決策權歸人: AI 本質隨機且無大局觀。駕馭 AI 的核心在於將決策權從 AI 奪回人類手中,讓 AI 扮演輔助、找漏洞的角色,而非完全外包大腦。
  2. 專業深度是駕馭 AI 的基石: Matt Pocock 證明,擁有專業領域的深厚知識(如軟體工程),是設計有效 AI 工具和溝通策略的關鍵,能夠將 AI 導向高品質的產出。
  3. 精準溝通的重要性超越冗長描述: 與 AI 互動時,採用「修剪廢話」原則,並大量運用「高密度專業術語」,能讓 AI 更精準地理解意圖,減少發散和誤解。
  4. 模組化設計對 AI 協作的益處: 將問題拆解成小而專一的模組,不僅便於人類開發,也考慮到 AI 的 Context Window 限制,能讓 AI 專注處理單一任務,減少因資訊過載而產生的錯誤。
  5. 主動建立規範與檢查機制: 透過 TDD 強制 AI 在寫程式前先寫測試,以及在 Code Review 中運用「壞程式碼症狀」檢查清單,能有效預防 AI 產生難以維護或有問題的程式碼,而非事後彌補。

可行動的整理

  1. *審視自身 AI 工作流:
  • 思考在現有工作流程中,是否也有讓 AI 隨意發揮導致產出不穩定的環節,並借鑒 Matt 的「極簡、模組化、單一職責」原則來設計 AI Prompt 或輔助工具。
  1. 學習使用「高密度專業術語」: 在與 AI 進行專業領域溝通時,有意識地減少冗詞贅字,嘗試運用該領域的經典術語或概念,觀察 AI 的理解和產出品質是否提升。
  2. 將軟體工程最佳實踐應用於 AI 規範: 若從事程式開發,可將影片提及的 TDD、Code Review 的壞程式碼症狀(Shotgun Surgery, Feature Envy, Data Clumps)以及「生模組」概念,整合到由 AI 協助的開發流程中,主動引導 AI 產生高品質的程式碼。
  3. 研究 Grill Me Docs 與 AI 寫作工作流: 對於需要長期與 AI 協作進行內容創作、文件撰寫的人,影片中提及的這些進階 Skills 提供了一個全新的思考方向,值得深入探討。
  4. 定期進行架構審查: 借鑒 Improve Code-Base Architecture 的思維,定期檢視專案中是否有「潛模組」的存在,並思考如何透過重構將其轉化為更具「高聚合性」的「生模組」,以提升長期可維護性。

複習問題

  1. Matt Pocock 開發這套 AI Skills 的「終極目標」是什麼?他是如何透過 Grill Me 實現將「決策權搶回人類手裡」這個目標的?
  2. Matt 的 AI Skills 與 Superpowers 這類大型框架的設計哲學有何根本差異?Matt 認為哪種方式更適合當前模型理解力強的 AI 生態?
  3. ToTickets Skill 如何解決 AI 拆分任務的「致命缺點」?它強制 AI 依照哪種方式來拆分任務,並舉例說明其主要好處?
  4. TDD (測試驅動開發) 在 AI 程式碼開發中扮演什麼關鍵角色?Matt 如何運用 TDD 來「防作弊」,防止 AI 為了交差而生成錯誤程式碼和假測試?
  5. 影片中提到了哪些常見的「壞程式碼症狀」?Improve Code-Base Architecture 這個 Skill 又是如何對抗 AI 造成的「潛模組」問題,並設計出「生模組」?

待確認資訊

無明顯待確認資訊。

觀看原始影片