強烈推薦看看這個演講,還配套 7 萬 Star 的開源 Skill。
整理版優先睇
AI 不會淘汰程序員,只會淘汰不懂工程基礎的。前段時間看了 Matt Pocock 在 AI Engineer 大會上的演講:Software Fundamentals Matter More Than Ever。總結了核心意思分享給大家。視頻:https://www.youtube.com/watch?v=v4F1gFy-hqgAI 讓寫代碼變快了,但代碼從來沒變得更便宜。這是 Matt Pocock 在大會上演講的核心觀點。他是前 Vercel 開發者佈道師,Total TypeScript 作者,現在搞了一個叫 AI Hero 的平台,專門教人用 AI Coding。這場演講發佈兩週就 60 萬播放量,18 分鐘,信息密度極高。他教了 18 個月的 AI Coding 之後,發現了一個規律:那些用 AI 用得好的開發者,不是什麼都委託給 AI 的人,也不是什麼都自己寫的人。是那些迴歸工程基礎的人。他還基於自己的 AI Coding 經驗搞了幾個 Skill,目前開源了。01AI Coding 的兩個極端都有問題現在行業裏對 AI Coding 有兩種極端態度。一種是 vibe coding。這個詞是 Andrej Karpathy 提出來的,說白了就是憑感覺讓 AI 寫代碼,描述個大概,然後祈禱它能跑。另一種是 specs-to-code。寫一份詳細的規格說明書,直接扔給 AI 讓它生成。這派的假設是:代碼是廉價的,規格才是珍貴的。Matt 說這兩個都有問題。vibe coding 的問題很明顯:失控。你不知道 AI 寫了什麼,也不知道它為什麼這麼寫,改起來更是災難。但 specs-to-code 的問題更隱蔽。它假設代碼是廉價的,但實際上,AI 生成的代碼和人類寫的代碼一樣,都會腐爛、都會積累技術債、都需要維護。代碼從來就不廉價。AI 只是讓你更快地產出代碼,但不會替你思考代碼該怎麼組織。Matt 的觀察是:真正成功的開發者,既不全委託也不全自己寫。他們把 AI 當作一個超級實習生--執行力強,但需要你給出清晰的方向和約束。怎麼給出清晰的方向?接下來就是他的四個方法論。02先別寫代碼,先被 AI 拷問一輪Grill Me 是 Matt 開源的一個 Claude Code Skill。也就是前段時間一直掛在 GitHub 開源熱榜的那個 Skill 裏面的。它的邏輯特別簡單:在動手寫任何代碼之前,讓 AI 先把你拷問一輪。不是你問 AI,是 AI 問你。它會沿着你設計決策樹的每一個分支往下走,一條一條地把模糊的想法逼成清晰的方案。依賴關係、邊界條件、數據模型,全都不放過。Matt 說他每天收到大約 5 條消息,都是開發者說用了 Grill Me 之後大開眼界的。Reddit 上也有人專門發帖說這個 Skill 徹底改變了他用 AI 做規劃的方式。後來 Matt 又進化出了一個升級版,叫 /grill-with-docs。不僅拷問你,還會把拷問過程中達成的共識實時寫進一個叫 CONTEXT.md 的文件裏。如果你要問和 SuperPowers 的 Brainstorming 有啥區別,我用起來的感受是:Brainstorming:適合任何新功能、新項目、重構啓動前的設計階段。Grill-with-docs:更適合已有代碼庫的項目,你需要對一個具體方案做決策、對齊術語、並同步建立文檔。如果你的項目還沒有 CONTEXT.md 體系,它也會幫你從頭建起來。這麼做的好處是什麼?傳統開發中,你腦子裏對系統的理解和代碼之間總有 gap。有了這個文件,AI 在後續所有開發中都有一份共識詞典可以參考,不用每次都重新解釋一遍。說白了,Grill Me 強迫你在寫代碼之前先把設計想清楚。AI 不會幫你做決策,它只會加速你已經做出的決策。如果你自己都沒想清楚,AI 加速的只是混亂。03統一語言讓人、代碼和 AI 說同一種話Ubiquitous Language 這個概念來自 Eric Evans 2003 年出版的經典《領域驅動設計》。核心思想是:讓代碼、開發者和領域專家都說同一套術語。聽起來理所當然,但實際操作中很少有團隊做到。產品經理說一個詞,開發者理解成另一個意思,代碼裏的命名又是第三個東西。在 AI 時代,這個問題被放大了。因為 AI 沒有隱含上下文,它不懂你的暗示和慣例。你說的用戶和代碼裏的 User 是不是一個東西?你說的訂單和數據庫裏的 Order 是不是同一個概念?如果你不說清楚,AI 就會自己猜。猜錯了,你就得返工。Matt 的做法是在項目根目錄維護一個 CONTEXT.md 文件,裏面記錄所有核心術語的精確定義和它們之間的關係。舉一個他自己的真實例子。他在開發課程管理系統時,新功能要加一個 Pitch 的概念(類似視頻的包裝方案)。AI 當場發現了一個術語矛盾:他已經定義了 Standalone Video 是 lessonId 為 NULL 的視頻,但新功能裏又讓視頻關聯到 Pitch。那這種視頻還算 Standalone Video 嗎?這個問題如果不解決,後續所有的變量命名、文件命名、數據庫設計都會亂。AI 給了兩個方案:要麼重新定義 Standalone Video,要麼把 Pitch 看作附加在 Standalone Video 上的獨立元數據。最終 Matt 選擇了後者。這個決定會影響整個代碼庫的命名和組織方式。如果不在一開始就統一清楚,後面越寫越亂。有了統一語言,AI 的輸出質量會顯著提升。它不再需要冗長地重新解釋每個概念,幾個詞就能精準表達意圖。Token 省了,對齊也好了。Martin Fowler 也在他的博客裏專門寫過:統一語言的最大價值不是文檔,而是它迫使你在溝通中消除歧義。在 AI 時代,這個價值被放大了十倍。04TDD:不是寫測試,是控制節奏TDD 很多人覺得是先寫測試再寫代碼,但 Matt 強調的 TDD 不是這個意思。在 AI Coding 語境下,TDD 的核心作用是控制每一步的粒度。AI 最大的問題是什麼?它太能寫了。你讓它做一個功能,它能一口氣給你生成幾百行代碼,涵蓋各種邊界情況。但這幾百行代碼你能驗證嗎?你知道哪行有問題嗎?TDD 強制你把工作切成小片。Red 先寫個失敗的測試,然後 Green 寫最少的代碼讓測試通過,最後 Refactor 重構。每一步都是可驗證的。Matt 的觀點是:沒有 TDD,AI 生成的代碼會迅速變成意大利麪條。因為 AI 沒有全局觀,它只會根據當前上下文盡力而為。如果你不控制每一步的範圍,它就會越寫越散。傳統開發中,TDD 的角色更多是質量保障。但在 AI Coding 中,TDD 的角色變成了過程控制—確保每一步都在可控範圍內。小步快跑,每一步都有反饋,發現偏差立刻修正。05Deep Modules:藏複雜,露簡單Deep Modules 這個概念來自斯坦福教授 John Ousterhout 的《軟件設計的哲學》。Deep Modules 就是功能豐富但接口簡單的模塊。反面是功能不多但接口很複雜。一個典型的 Deep Modules:JavaScript 的垃圾回收器。功能極其複雜,但對外暴露的接口就一個——你不用手動管理內存。一個典型的反面就是:一個只做參數校驗卻要求傳入 10 個配置項的函數。Matt 說在 AI Coding 中,Deep Modules 的價值被放大了。因為 AI 的上下文窗口有限,它能同時理解的代碼範圍是受限的。如果你的模塊又淺又碎,AI 就需要在多個文件之間跳來跳去,很容易丟失上下文。而 Deep Modules 把複雜性藏在背後,只暴露一個簡單的接口。AI 只需要理解接口,不需要理解內部實現,認知負擔大幅降低。這也對測試友好。Deep Modules 測試起來更容易,因為你要覆蓋的接口面更小。這和很多人追求的小而美的模塊化思路其實是反的。不是越小越好,而是封裝得當才好。06底層邏輯:管理認知負荷如果你仔細看這四個方法論,會發現它們有一個共同的底層邏輯:管理認知負荷。Grill Me 讓你在寫代碼前先想清楚,減少返工帶來的認知消耗。統一語言讓人、代碼和 AI 使用同一套術語,消除歧義帶來的認知負擔。TDD 控制每一步的範圍,避免一次處理太多信息。Deep Modules 把複雜性封裝起來,讓每次交互只需要理解接口而不是全部細節。Matt 的核心洞察是:在 AI 時代,開發者的角色從寫代碼的人變成了做戰略設計的人。AI 是你的戰術執行者,它寫代碼、跑測試、做重構。但戰略層面的決策——怎麼組織模塊、怎麼定義概念、怎麼切分任務——這些必須由人來定。07都不是新東西而這四個方法論,都不是什麼新發明。統一語言來自 2003 年出版的《領域驅動設計》。TDD 來自 Kent Beck 在 1999 年提出的極限編程。Deep Modules 來自 2018 年出版的《軟件設計的哲學》。它們沒有過時,也沒有失效。在 AI 時代,它們反而變得更重要了。因為當你有一個能一秒鐘寫 100 行代碼的助手時,你需要的不是更多的代碼,而是更好的約束。Matt 在演講最後說了一句話,大意是:這些原則幾十年前就有了,它們沒有被打敗——它們變得更重要了。08怎麼開始別急着學新框架新工具,回去重讀兩本經典。一本是 Eric Evans 的《領域驅動設計》,一本是 John Ousterhout 的《軟件設計的哲學》。然後試一下 Matt 開源的 Skills 倉庫,裏面有 Grill Me 和其他實戰 Skill,可以直接裝到 Claude Code 裏用。開源地址:https://github.com/mattpocock/skills如果你覺得 18 分鐘的演講還不過癮,Matt 還錄了一個近 1.5 小時的完整工作流視頻,手把手演示了怎麼用這套方法論從零搭建一個真實項目。在 YouTube 搜 Full Walkthrough: Workflow for AI Coding — Matt Pocock 就能找到。09點擊下方卡片,關注逛逛 GitHub這個公眾號歷史發佈過很多有趣的開源項目,如果你懶得翻文章一個個找,你直接關注微信公眾號:逛逛 GitHub ,後台對話聊天就行了:
AI 不會淘汰程序員,只會淘汰不懂工程基礎的。前段時間看了 Matt Pocock 在 AI Engineer 大會上的演講:Software Fundamentals Matter More Than Ever。總結了核心意思分享給大家。視頻:https://www.youtube.com/watch?
v=v4F1gFy-hqgAI 讓寫代碼變快了,但代碼從來沒變得更便宜。這是 Matt Pocock 在大會上演講的核心觀點。他是前 Vercel 開發者佈道師,Total TypeScript 作者,而家搞了一個叫 AI Hero 的平台,專門教人用 AI Coding。這場演講發佈兩週就 60 萬播放量,18 分鐘,信息密度極高。
他教了 18 個月的 AI Coding 之後,發現了一個規律:嗰啲用 AI 用得好的開發者,不是什麼都委託給 AI 的人,也不是什麼都自己寫的人。是嗰啲迴歸工程基礎的人。他還基於自己的 AI Coding 經驗搞了幾個 Skill,目前開源了。01AI Coding 的兩個極端都有問題而家行業裏對 AI Coding 有兩種極端態度。一種是 vibe coding。呢個詞是 Andrej Karpathy 提出來的,說白了就是憑感覺讓 AI 寫代碼,描述個大概,然後祈禱它能跑。另一種是 specs-to-code。寫一份詳細的規格說明書,直接扔給 AI 讓它生成。這派的假設是:代碼…
- 強烈推薦看看呢個演講,還配套 7 萬 Star 的開源 Skill。
- 強烈推薦看看呢個演講,還配套 7 萬 Star 的開源 Skill。…
- 強烈推薦看看呢個演講,還配套 7 萬 Star 的開源 Skill。…
- 強烈推薦看看呢個演講,還配套 7 萬 Star 的開源 Skill。…
- 強烈推薦看看呢個演講,還配套 7 萬 Star 的開源 Skill。…
可記低 Skill
AI 不會淘汰程序員,只會淘汰不懂工程基礎的。前段時間看了 Matt Pocock 在 AI Engineer 大會上的演講:Software Fundamentals Matter More Than Ever。總結了核心意思分享給大家。…
整理版
AI 不會淘汰程序員,只會淘汰不懂工程基礎的。前段時間看了 Matt Pocock 在 AI Engineer 大會上的演講:Software Fundamentals Matter More Than Ever。總結了核心意思分享給大家。視頻:https://www.youtube.com/watch?v=v4F1gFy-hqgAI 讓寫代碼變快了,但代碼從來沒變得更便宜。這是 Matt Pocock 在大會上演講的核心觀點。他是前 Vercel 開發者佈道師,Total TypeScript 作者,而家搞了一個叫 AI Hero 的平台,專門教人用 AI Coding。這場演講發佈兩週就 60 萬播放量,18 分鐘,信息密度極高。他教了 18 個月的 AI Coding 之後,發現了一個規律:嗰啲用 AI 用得好的開發者,不是什麼都委託給 AI 的人,也不是什麼都自己寫的人。是嗰啲迴歸工程基礎的人。他還基於自己的 AI Coding 經驗搞了幾個 Skill,目前開源了。01AI Coding 的兩個極端都有問題而家行業裏對 AI Coding 有兩種極端態度。一種是 vibe coding。呢個詞是 Andrej Karpathy 提出來的,說白了就是憑感覺讓 AI 寫代碼,描述個大概,然後祈禱它能跑。另一種是 specs-to-code。寫一份詳細的規格說明書,直接扔給 AI 讓它生成。這派的假設是:代碼是廉價的,規格才是珍貴的。Matt 說這兩個都有問題。vibe coding 的問題很明顯:失控。你不知道 AI 寫了什麼,也不知道它為什麼這麼寫,改起來更是災難。但 specs-to-code 的問題更隱蔽。它假設代碼是廉價的,但實際上,AI 生成的代碼和人類寫的代碼一樣,都會腐爛、都會積累技術債、都需要維護。代碼從來就不廉價。AI 只是讓你更快地產出代碼,但不會替你思考代碼該怎麼組織。Matt 的觀察是:真正成功的開發者,既不全委託也不全自己寫。他們把 AI 當作一個超級實習生--執行力強,但需要你給出清晰的方向和約束。怎麼給出清晰的方向?接下來就是他的四個方法論。02先別寫代碼,先被 AI 拷問一輪Grill Me 是 Matt 開源的一個 Claude Code Skill。也就是前段時間一直掛在 GitHub 開源熱榜的嗰個 Skill 裏面的。它的邏輯特別簡單:在動手寫任何代碼之前,讓 AI 先把你拷問一輪。不是你問 AI,是 AI 問你。它會沿着你設計決策樹的每一個分支往下走,一條一條地把模糊的想法逼成清晰的方案。依賴關係、邊界條件、數據模型,全都不放過。Matt 說他每天收到大約 5 條消息,都是開發者說用了 Grill Me 之後大開眼界的。Reddit 上也有人專門發帖說呢個 Skill 徹底改變了他用 AI 做規劃的方式。後來 Matt 又進化出了一個升級版,叫 /grill-with-docs。不僅拷問你,還會把拷問過程中達成的共識實時寫進一個叫 CONTEXT.md 的文件裏。如果你要問和 SuperPowers 的 Brainstorming 有啥區別,我用起來的感受是:Brainstorming:適合任何新功能、新項目、重構啓動前的設計階段。Grill-with-docs:更適合已有代碼庫的項目,你需要對一個具體方案做決策、對齊術語、並同步建立文檔。如果你的項目還沒有 CONTEXT.md 體系,它也會幫你從頭建起來。這麼做的好處是什麼?傳統開發中,你腦子裏對系統的理解和代碼之間總有 gap。有了呢個文件,AI 在後續所有開發中都有一份共識詞典可以參考,不用每次都重新解釋一遍。說白了,Grill Me 強迫你在寫代碼之前先把設計想清楚。AI 不會幫你做決策,它只會加速你已經做出的決策。如果你自己都沒想清楚,AI 加速的只是混亂。03統一語言讓人、代碼和 AI 說同一種話Ubiquitous Language 呢個概念來自 Eric Evans 2003 年出版的經典《領域驅動設計》。核心思想是:讓代碼、開發者和領域專家都說同一套術語。聽起來理所當然,但實際操作中很少有團隊做到。產品經理說一個詞,開發者理解成另一個意思,代碼裏的命名又是第三個東西。在 AI 時代,呢個問題被放大了。因為 AI 沒有隱含上下文,它不懂你的暗示和慣例。你說的用戶和代碼裏的 User 是不是一個東西?你說的訂單和數據庫裏的 Order 是不是同一個概念?如果你不說清楚,AI 就會自己猜。猜錯了,你就得返工。Matt 的做法是在項目根目錄維護一個 CONTEXT.md 文件,裏面記錄所有核心術語的精確定義和它們之間的關係。舉一個他自己的真實例子。他在開發課程管理系統時,新功能要加一個 Pitch 的概念(類似視頻的包裝方案)。AI 當場發現了一個術語矛盾:他已經定義了 Standalone Video 是 lessonId 為 NULL 的視頻,但新功能裏又讓視頻關聯到 Pitch。那這種視頻還算 Standalone Video 嗎?呢個問題如果不解決,後續所有的變量命名、文件命名、數據庫設計都會亂。AI 給了兩個方案:要麼重新定義 Standalone Video,要麼把 Pitch 看作附加在 Standalone Video 上的獨立元數據。最終 Matt 選擇了後者。呢個決定會影響整個代碼庫的命名和組織方式。如果不在一開始就統一清楚,後面越寫越亂。有了統一語言,AI 的輸出質量會顯著提升。它不再需要冗長地重新解釋每個概念,幾個詞就能精準表達意圖。Token 省了,對齊也好了。Martin Fowler 也在他的博客裏專門寫過:統一語言的最大價值不是文檔,而是它迫使你在溝通中消除歧義。在 AI 時代,呢個價值被放大了十倍。04TDD:不是寫測試,是控制節奏TDD 很多人覺得是先寫測試再寫代碼,但 Matt 強調的 TDD 不是呢個意思。在 AI Coding 語境下,TDD 的核心作用是控制每一步的粒度。AI 最大的問題是什麼?它太能寫了。你讓它做一個功能,它能一口氣給你生成幾百行代碼,涵蓋各種邊界情況。但這幾百行代碼你能驗證嗎?你知道哪行有問題嗎?TDD 強制你把工作切成小片。Red 先寫個失敗的測試,然後 Green 寫最少的代碼讓測試通過,最後 Refactor 重構。每一步都是可驗證的。Matt 的觀點是:沒有 TDD,AI 生成的代碼會迅速變成意大利麪條。因為 AI 沒有全局觀,它只會根據當前上下文盡力而為。如果你不控制每一步的範圍,它就會越寫越散。傳統開發中,TDD 的角色更多是質量保障。但在 AI Coding 中,TDD 的角色變成了過程控制—確保每一步都在可控範圍內。小步快跑,每一步都有反饋,發現偏差立刻修正。05Deep Modules:藏複雜,露簡單Deep Modules 呢個概念來自斯坦福教授 John Ousterhout 的《軟件設計的哲學》。Deep Modules 就是功能豐富但接口簡單的模塊。反面是功能不多但接口很複雜。一個典型的 Deep Modules:JavaScript 的垃圾回收器。功能極其複雜,但對外暴露的接口就一個——你不用手動管理內存。一個典型的反面就是:一個只做參數校驗卻要求傳入 10 個配置項的函數。Matt 說在 AI Coding 中,Deep Modules 的價值被放大了。因為 AI 的上下文窗口有限,它能同時理解的代碼範圍是受限的。如果你的模塊又淺又碎,AI 就需要在多個文件之間跳來跳去,很容易丟失上下文。而 Deep Modules 把複雜性藏在背後,只暴露一個簡單的接口。AI 只需要理解接口,不需要理解內部實現,認知負擔大幅降低。這也對測試友好。Deep Modules 測試起來更容易,因為你要覆蓋的接口面更小。這和很多人追求的小而美的模塊化思路其實是反的。不是越小越好,而是封裝得當才好。06底層邏輯:管理認知負荷如果你仔細看這四個方法論,會發現它們有一個共同的底層邏輯:管理認知負荷。Grill Me 讓你在寫代碼前先想清楚,減少返工帶來的認知消耗。統一語言讓人、代碼和 AI 使用同一套術語,消除歧義帶來的認知負擔。TDD 控制每一步的範圍,避免一次處理太多信息。Deep Modules 把複雜性封裝起來,讓每次交互只需要理解接口而不是全部細節。Matt 的核心洞察是:在 AI 時代,開發者的角色從寫代碼的人變成了做戰略設計的人。AI 是你的戰術執行者,它寫代碼、跑測試、做重構。但戰略層面的決策——怎麼組織模塊、怎麼定義概念、怎麼切分任務——呢啲必須由人來定。07都不是新東西而這四個方法論,都不是什麼新發明。統一語言來自 2003 年出版的《領域驅動設計》。TDD 來自 Kent Beck 在 1999 年提出的極限編程。Deep Modules 來自 2018 年出版的《軟件設計的哲學》。它們沒有過時,也沒有失效。在 AI 時代,它們反而變得更重要了。因為當你有一個能一秒鐘寫 100 行代碼的助手時,你需要的不是更多的代碼,而是更好的約束。Matt 在演講最後說了一句話,大意是:呢啲原則幾十年前就有了,它們沒有被打敗——它們變得更重要了。08怎麼開始別急着學新框架新工具,回去重讀兩本經典。一本是 Eric Evans 的《領域驅動設計》,一本是 John Ousterhout 的《軟件設計的哲學》。然後試一下 Matt 開源的 Skills 倉庫,裏面有 Grill Me 和其他實戰 Skill,可以直接裝到 Claude Code 裏用。開源地址:https://github.com/mattpocock/skills如果你覺得 18 分鐘的演講還不過癮,Matt 還錄了一個近 1.5 小時的完整工作流視頻,手把手演示了怎麼用這套方法論從零搭建一個真實項目。在 YouTube 搜 Full Walkthrough: Workflow for AI Coding — Matt Pocock 就能找到。09點擊下方卡片,關注逛逛 GitHub呢個公眾號歷史發佈過很多有趣的開源項目,如果你懶得翻文章一個個找,你直接關注微信公眾號:逛逛 GitHub ,後台對話聊天就行了:

視頻:https://www.youtube.com/watch?v=v4F1gFy-hqgAI 令寫程式碼快咗,但程式碼從來冇變得更平。
呢個係 Matt Pocock 喺大會上演講嘅核心觀點。
佢係前 Vercel 開發者佈道師,Total TypeScript 作者,而家搞咗個叫 AI Hero 嘅平台,專門教人用 AI Coding。
呢場演講出咗兩個禮拜就已經有 60 萬播放量,18 分鐘,資訊密度極高。
佢教咗 18 個月 AI Coding 之後,發現咗一個規律:嗰啲用 AI 用得好嘅開發者,唔係乜嘢都交俾 AI 嘅人,亦都唔係乜嘢都自己寫嘅人。
係嗰啲回歸工程基礎嘅人。
佢仲根據自己嘅 AI Coding 經驗整咗幾個 Skill,而家開源咗。

01
AI Coding 嘅兩個極端都有問題
而家行業裏面對 AI Coding 有兩種極端態度。
一種係 vibe coding。
呢個詞係 Andrej Karpathy 提出嚟嘅,講白啲就係憑感覺俾 AI 寫程式碼,描述個大概,然後祈禱佢會行。

另一種係 specs-to-code。
寫一份詳細嘅規格說明書,直接掟俾 AI 叫佢生成。呢派嘅假設係:程式碼係平嘅,規格先至係珍貴嘅。
Matt 話呢兩個都有問題。
vibe coding 嘅問題好明顯:失控。你唔知 AI 寫咗啲乜,亦都唔知佢點解咁寫,改起上嚟更加係災難。
但係 specs-to-code 嘅問題更隱蔽。
佢假設程式碼係平嘅,但實際上,AI 生成嘅程式碼同人類寫嘅程式碼一樣,都會腐爛、都會積累技術債、都需要維護。
程式碼從來都唔平。AI 只係令你更快產出程式碼,但唔會幫你思考程式碼應該點樣組織。
Matt 嘅觀察係:真正成功嘅開發者,唔係全部交俾 AI 亦唔係全部自己寫。佢哋將 AI 當作一個超級實習生——執行力強,但係你需要俾佢清晰嘅方向同約束。
點樣俾出清晰嘅方向?跟住落嚟就係佢嘅四個方法論。
02
先唔好寫程式碼,先俾 AI 拷問一輪
Grill Me 係 Matt 開源嘅一個 Claude Code Skill。
亦即係前排一直掛喺 GitHub 開源熱榜嗰個 Skill 裏面嘅。

佢嘅邏輯好簡單:喺動手寫任何程式碼之前,叫 AI 先拷問你一輪。
唔係你問 AI,係 AI 問你。
佢會沿住你設計決策樹嘅每一個分支繼續問落去,一條一條咁將模糊嘅想法逼成清晰嘅方案。
依賴關係、邊界條件、數據模型,全部都唔放過。

Matt 話佢每日收到大約 5 條消息,都係開發者話用咗 Grill Me 之後大開眼界。
Reddit 上都有人特登出帖話呢個 Skill 徹底改變咗佢用 AI 做規劃嘅方式。
後嚟 Matt 又進化咗一個升級版,叫 /grill-with-docs。
唔單止拷問你,仲會將拷問過程中達成嘅共識實時寫入一個叫 CONTEXT.md 嘅檔案度。

如果你要問同 SuperPowers 嘅 Brainstorming 有咩分別,我嘅感受係:
Brainstorming:適合任何新功能、新項目、重構啟動前嘅設計階段。
Grill-with-docs:更適合已經有程式碼庫嘅項目,你需要對一個具體方案做決策、對齊術語、並同步建立文檔。
如果你嘅項目仲未有 CONTEXT.md 體系,佢都會幫你從頭建立。
咁做嘅好處係乜?
傳統開發入面,你腦海對系統嘅理解同程式碼之間總有 gap。
有咗呢個檔案,AI 喺後續所有開發入面都有份共識詞典可以參考,唔使每次都重新解釋一次。
講白啲,Grill Me 強迫你喺寫程式碼之前先將設計諗清楚。
AI 唔會幫你做決策,佢只會加速你已經做出嘅決策。如果你自己都未諗清楚,AI 加速嘅只係混亂。
03
統一語言
令人、程式碼同 AI 講同一種話
Ubiquitous Language 呢個概念嚟自 Eric Evans 2003 年出版嘅經典《領域驅動設計》。
核心思想係:令程式碼、開發者同領域專家都講同一套術語。

聽落理所當然,但實際操作好少團隊做到。產品經理講一個詞,開發者理解成另一個意思,程式碼裏面嘅命名又係第三樣嘢。
喺 AI 時代,呢個問題被放大咗。
因為 AI 冇隱含上下文,佢唔明你嘅暗示同慣例。
你說的用戶同程式碼裏面嘅 User 係咪一樣嘢?你講嘅訂單同數據庫裏面嘅 Order 係咪同一個概念?
如果你唔講清楚,AI 就會自己估。估錯咗,你就得返工。
Matt 嘅做法係喺項目根目錄維護一個 CONTEXT.md 檔案,裏面記錄所有核心術語嘅精確定義同佢哋之間嘅關係。
舉一個佢自己嘅真實例子。
佢喺開發課程管理系統時,新功能要加一個 Pitch 嘅概念(類似影片嘅包裝方案)。
AI 當場發現咗一個術語矛盾:佢已經定義咗 Standalone Video 係 lessonId 為 NULL 嘅影片,但新功能入面又令影片關聯到 Pitch。
咁呢種影片仲算唔算 Standalone Video?
呢個問題如果唔解決,後續所有嘅變數命名、檔案命名、數據庫設計都會亂。
AI 俾咗兩個方案:要麼重新定義 Standalone Video,要麼將 Pitch 視為附加喺 Standalone Video 上面嘅獨立元數據。最終 Matt 揀咗後者。
呢個決定會影響成個程式碼庫嘅命名同組織方式。如果唔喺一開始就統一清楚,後面會越寫越亂。
有咗統一語言,AI 嘅輸出質素會顯著提升。佢唔再需要冗長咁重新解釋每個概念,幾個詞就可以精準表達意圖。Token 慳咗,對齊都好咗。
Martin Fowler 都喺佢嘅 blog 度專門寫過:統一語言最大嘅價值唔係文檔,而係佢迫使你喺溝通入面消除歧義。喺 AI 時代,呢個價值被放大咗十倍。
04
TDD:唔係寫測試,係控制節奏
TDD 好多人覺得係先寫測試再寫程式碼,但 Matt 強調嘅 TDD 唔係呢個意思。
喺 AI Coding 嘅語境下,TDD 嘅核心作用係控制每一步嘅粒度。

AI 最大嘅問題係乜?佢太識得寫。你叫佢做一個功能,佢可以一口氣幫你生成幾百行程式碼,涵蓋各種邊界情況。
但呢幾百行程式碼你驗證到嗎?你知道邊行有問題嗎?
TDD 強迫你將工作切成細片。Red 先寫個失敗嘅測試,然後 Green 寫最少嘅程式碼令測試通過,最後 Refactor 重構。每一步都係可驗證嘅。
Matt 嘅觀點係:冇 TDD,AI 生成嘅程式碼會迅速變成意大利麵條。
因為 AI 冇全局觀,佢只會根據當前上下文盡力而為。如果你唔控制每一步嘅範圍,佢就會越寫越散。
傳統開發入面,TDD 嘅角色更多係質素保障。但喺 AI Coding 入面,TDD 嘅角色變咗做過程控制——確保每一步都喺可控範圍內。
小步快跑,每一步都有反饋,發現偏差即刻修正。
05
Deep Modules:藏複雜,露簡單
Deep Modules 呢個概念嚟自史丹福教授 John Ousterhout 嘅《軟件設計的哲學》。

Deep Modules 就係功能豐富但接口簡單嘅模組。
反面係功能唔多但接口好複雜。
一個典型嘅 Deep Modules:JavaScript 嘅垃圾回收器。功能極其複雜,但對外暴露嘅接口就一個——你唔使手動管理記憶體。
一個典型嘅反面就係:一個淨係做參數驗證但要求傳入 10 個配置項嘅函數。
Matt 話喺 AI Coding 入面,Deep Modules 嘅價值被放大咗。
因為 AI 嘅上下文窗口有限,佢能夠同時理解嘅程式碼範圍係受限嘅。如果你嘅模組又淺又碎,AI 就需要喺多個檔案之間跳來跳去,好容易丟失上下文。
而 Deep Modules 將複雜性藏喺背後,只暴露一個簡單嘅接口。AI 只需要理解接口,唔需要理解內部實現,認知負擔大幅降低。
呢個對測試都友好。Deep Modules 測試起上嚟更容易,因為你要覆蓋嘅接口面更細。
呢個同好多人追求嘅細而美嘅模組化思路其實係相反。唔係越細越好,而係封裝得當先至好。
06
底層邏輯:管理認知負荷
如果你仔細睇呢四個方法論,會發現佢哋有一個共同嘅底層邏輯:管理認知負荷。
Grill Me 令你喺寫程式碼前先諗清楚,減少返工帶來嘅認知消耗。
統一語言令人、程式碼同 AI 使用同一套術語,消除歧義帶來嘅認知負擔。
TDD 控制每一步嘅範圍,避免一次處理太多資訊。
Deep Modules 將複雜性封裝起嚟,令每次互動只需要理解接口而唔係全部細節。
Matt 嘅核心洞察係:喺 AI 時代,開發者嘅角色由寫程式碼嘅人變咗做戰略設計嘅人。
AI 係你嘅戰術執行者,佢寫程式碼、跑測試、做重構。但戰略層面嘅決策——點樣組織模組、點樣定義概念、點樣切分任務——呢啲一定要由人嚟定。
07
都唔係新嘢
而呢四個方法論,都唔係乜嘢新發明。
統一語言嚟自 2003 年出版嘅《領域驅動設計》。
TDD 嚟自 Kent Beck 喺 1999 年提出嘅極限編程。
Deep Modules 嚟自 2018 年出版嘅《軟件設計的哲學》。
佢哋冇過時,亦冇失效。喺 AI 時代,佢哋反而變得更重要。
因為當你有一個可以一秒鐘寫 100 行程式碼嘅助手時,你需要嘅唔係更多程式碼,而係更好嘅約束。
Matt 喺演講最後講咗一句話,大概意思係:呢啲原則幾十年前已經有,佢哋冇被打敗——佢哋變得更重要了。
08
點樣開始
唔好急住學新框架新工具,返去重讀兩本經典。
一本係 Eric Evans 嘅《領域驅動設計》,一本係 John Ousterhout 嘅《軟件設計的哲學》。
然後試下 Matt 開源嘅 Skills 倉庫,裏面有 Grill Me 同其他實戰 Skill,可以直接裝落 Claude Code 度用。
開源地址:https://github.com/mattpocock/skills如果你覺得 18 分鐘嘅演講仲未夠喉,Matt 仲錄咗一個接近 1.5 小時嘅完整工作流影片,親身示範點樣用呢套方法論由零開始搭建一個真實項目。
喺 YouTube 搜 Full Walkthrough: Workflow for AI Coding — Matt Pocock 就可以揾到。
09
㩒下面張卡,關注逛逛 GitHub
呢個公眾號歷史發佈過好多有趣嘅開源項目,如果你懶得翻文章逐個揾,你直接關注微信公眾號:逛逛 GitHub ,後台對話傾偈就得㗎喇:


視頻:https://www.youtube.com/watch?v=v4F1gFy-hqgAI 讓寫代碼變快了,但代碼從來沒變得更便宜。
這是 Matt Pocock 在大會上演講的核心觀點。
他是前 Vercel 開發者佈道師,Total TypeScript 作者,現在搞了一個叫 AI Hero 的平台,專門教人用 AI Coding。
這場演講發佈兩週就 60 萬播放量,18 分鐘,信息密度極高。
他教了 18 個月的 AI Coding 之後,發現了一個規律:那些用 AI 用得好的開發者,不是什麼都委託給 AI 的人,也不是什麼都自己寫的人。
是那些迴歸工程基礎的人。
他還基於自己的 AI Coding 經驗搞了幾個 Skill,目前開源了。

01
AI Coding 的兩個極端都有問題
現在行業裏對 AI Coding 有兩種極端態度。
一種是 vibe coding。
這個詞是 Andrej Karpathy 提出來的,說白了就是憑感覺讓 AI 寫代碼,描述個大概,然後祈禱它能跑。

另一種是 specs-to-code。
寫一份詳細的規格說明書,直接扔給 AI 讓它生成。這派的假設是:代碼是廉價的,規格才是珍貴的。
Matt 說這兩個都有問題。
vibe coding 的問題很明顯:失控。你不知道 AI 寫了什麼,也不知道它為什麼這麼寫,改起來更是災難。
但 specs-to-code 的問題更隱蔽。
它假設代碼是廉價的,但實際上,AI 生成的代碼和人類寫的代碼一樣,都會腐爛、都會積累技術債、都需要維護。
代碼從來就不廉價。AI 只是讓你更快地產出代碼,但不會替你思考代碼該怎麼組織。
Matt 的觀察是:真正成功的開發者,既不全委託也不全自己寫。他們把 AI 當作一個超級實習生--執行力強,但需要你給出清晰的方向和約束。
怎麼給出清晰的方向?接下來就是他的四個方法論。
02
先別寫代碼,先被 AI 拷問一輪
Grill Me 是 Matt 開源的一個 Claude Code Skill。
也就是前段時間一直掛在 GitHub 開源熱榜的那個 Skill 裏面的。

它的邏輯特別簡單:在動手寫任何代碼之前,讓 AI 先把你拷問一輪。
不是你問 AI,是 AI 問你。
它會沿着你設計決策樹的每一個分支往下走,一條一條地把模糊的想法逼成清晰的方案。
依賴關係、邊界條件、數據模型,全都不放過。

Matt 說他每天收到大約 5 條消息,都是開發者說用了 Grill Me 之後大開眼界的。
Reddit 上也有人專門發帖說這個 Skill 徹底改變了他用 AI 做規劃的方式。
後來 Matt 又進化出了一個升級版,叫 /grill-with-docs。
不僅拷問你,還會把拷問過程中達成的共識實時寫進一個叫 CONTEXT.md 的文件裏。

如果你要問和 SuperPowers 的 Brainstorming 有啥區別,我用起來的感受是:
Brainstorming:適合任何新功能、新項目、重構啓動前的設計階段。
Grill-with-docs:更適合已有代碼庫的項目,你需要對一個具體方案做決策、對齊術語、並同步建立文檔。
如果你的項目還沒有 CONTEXT.md 體系,它也會幫你從頭建起來。
這麼做的好處是什麼?
傳統開發中,你腦子裏對系統的理解和代碼之間總有 gap。
有了這個文件,AI 在後續所有開發中都有一份共識詞典可以參考,不用每次都重新解釋一遍。
說白了,Grill Me 強迫你在寫代碼之前先把設計想清楚。
AI 不會幫你做決策,它只會加速你已經做出的決策。如果你自己都沒想清楚,AI 加速的只是混亂。
03
統一語言
讓人、代碼和 AI 說同一種話
Ubiquitous Language 這個概念來自 Eric Evans 2003 年出版的經典《領域驅動設計》。
核心思想是:讓代碼、開發者和領域專家都說同一套術語。

聽起來理所當然,但實際操作中很少有團隊做到。產品經理說一個詞,開發者理解成另一個意思,代碼裏的命名又是第三個東西。
在 AI 時代,這個問題被放大了。
因為 AI 沒有隱含上下文,它不懂你的暗示和慣例。
你說的用戶和代碼裏的 User 是不是一個東西?你說的訂單和數據庫裏的 Order 是不是同一個概念?
如果你不說清楚,AI 就會自己猜。猜錯了,你就得返工。
Matt 的做法是在項目根目錄維護一個 CONTEXT.md 文件,裏面記錄所有核心術語的精確定義和它們之間的關係。
舉一個他自己的真實例子。
他在開發課程管理系統時,新功能要加一個 Pitch 的概念(類似視頻的包裝方案)。
AI 當場發現了一個術語矛盾:他已經定義了 Standalone Video 是 lessonId 為 NULL 的視頻,但新功能裏又讓視頻關聯到 Pitch。
那這種視頻還算 Standalone Video 嗎?
這個問題如果不解決,後續所有的變量命名、文件命名、數據庫設計都會亂。
AI 給了兩個方案:要麼重新定義 Standalone Video,要麼把 Pitch 看作附加在 Standalone Video 上的獨立元數據。最終 Matt 選擇了後者。
這個決定會影響整個代碼庫的命名和組織方式。如果不在一開始就統一清楚,後面越寫越亂。
有了統一語言,AI 的輸出質量會顯著提升。它不再需要冗長地重新解釋每個概念,幾個詞就能精準表達意圖。Token 省了,對齊也好了。
Martin Fowler 也在他的博客裏專門寫過:統一語言的最大價值不是文檔,而是它迫使你在溝通中消除歧義。在 AI 時代,這個價值被放大了十倍。
04
TDD:不是寫測試,是控制節奏
TDD 很多人覺得是先寫測試再寫代碼,但 Matt 強調的 TDD 不是這個意思。
在 AI Coding 語境下,TDD 的核心作用是控制每一步的粒度。

AI 最大的問題是什麼?它太能寫了。你讓它做一個功能,它能一口氣給你生成幾百行代碼,涵蓋各種邊界情況。
但這幾百行代碼你能驗證嗎?你知道哪行有問題嗎?
TDD 強制你把工作切成小片。Red 先寫個失敗的測試,然後 Green 寫最少的代碼讓測試通過,最後 Refactor 重構。每一步都是可驗證的。
Matt 的觀點是:沒有 TDD,AI 生成的代碼會迅速變成意大利麪條。
因為 AI 沒有全局觀,它只會根據當前上下文盡力而為。如果你不控制每一步的範圍,它就會越寫越散。
傳統開發中,TDD 的角色更多是質量保障。但在 AI Coding 中,TDD 的角色變成了過程控制—確保每一步都在可控範圍內。
小步快跑,每一步都有反饋,發現偏差立刻修正。
05
Deep Modules:藏複雜,露簡單
Deep Modules 這個概念來自斯坦福教授 John Ousterhout 的《軟件設計的哲學》。

Deep Modules 就是功能豐富但接口簡單的模塊。
反面是功能不多但接口很複雜。
一個典型的 Deep Modules:JavaScript 的垃圾回收器。功能極其複雜,但對外暴露的接口就一個——你不用手動管理內存。
一個典型的反面就是:一個只做參數校驗卻要求傳入 10 個配置項的函數。
Matt 說在 AI Coding 中,Deep Modules 的價值被放大了。
因為 AI 的上下文窗口有限,它能同時理解的代碼範圍是受限的。如果你的模塊又淺又碎,AI 就需要在多個文件之間跳來跳去,很容易丟失上下文。
而 Deep Modules 把複雜性藏在背後,只暴露一個簡單的接口。AI 只需要理解接口,不需要理解內部實現,認知負擔大幅降低。
這也對測試友好。Deep Modules 測試起來更容易,因為你要覆蓋的接口面更小。
這和很多人追求的小而美的模塊化思路其實是反的。不是越小越好,而是封裝得當才好。
06
底層邏輯:管理認知負荷
如果你仔細看這四個方法論,會發現它們有一個共同的底層邏輯:管理認知負荷。
Grill Me 讓你在寫代碼前先想清楚,減少返工帶來的認知消耗。
統一語言讓人、代碼和 AI 使用同一套術語,消除歧義帶來的認知負擔。
TDD 控制每一步的範圍,避免一次處理太多信息。
Deep Modules 把複雜性封裝起來,讓每次交互只需要理解接口而不是全部細節。
Matt 的核心洞察是:在 AI 時代,開發者的角色從寫代碼的人變成了做戰略設計的人。
AI 是你的戰術執行者,它寫代碼、跑測試、做重構。但戰略層面的決策——怎麼組織模塊、怎麼定義概念、怎麼切分任務——這些必須由人來定。
07
都不是新東西
而這四個方法論,都不是什麼新發明。
統一語言來自 2003 年出版的《領域驅動設計》。
TDD 來自 Kent Beck 在 1999 年提出的極限編程。
Deep Modules 來自 2018 年出版的《軟件設計的哲學》。
它們沒有過時,也沒有失效。在 AI 時代,它們反而變得更重要了。
因為當你有一個能一秒鐘寫 100 行代碼的助手時,你需要的不是更多的代碼,而是更好的約束。
Matt 在演講最後說了一句話,大意是:這些原則幾十年前就有了,它們沒有被打敗——它們變得更重要了。
08
怎麼開始
別急着學新框架新工具,回去重讀兩本經典。
一本是 Eric Evans 的《領域驅動設計》,一本是 John Ousterhout 的《軟件設計的哲學》。
然後試一下 Matt 開源的 Skills 倉庫,裏面有 Grill Me 和其他實戰 Skill,可以直接裝到 Claude Code 裏用。
開源地址:https://github.com/mattpocock/skills如果你覺得 18 分鐘的演講還不過癮,Matt 還錄了一個近 1.5 小時的完整工作流視頻,手把手演示了怎麼用這套方法論從零搭建一個真實項目。
在 YouTube 搜 Full Walkthrough: Workflow for AI Coding — Matt Pocock 就能找到。
09
點擊下方卡片,關注逛逛 GitHub
這個公眾號歷史發佈過很多有趣的開源項目,如果你懶得翻文章一個個找,你直接關注微信公眾號:逛逛 GitHub ,後台對話聊天就行了:
