[AI 分享] 用 AI 重構工程工作流
摘要 : 從高中後少有代表作,到成為 Python 核心貢獻者,Matt 用一套可複製的 AI 工程方法,打造高影響力開源成果。
內容:
這次想分享一個很震撼的案例:一位自稱高中畢業後就沒再做出「讓別人覺得有價值的軟體」的人,竟然在今年成為了 Python 核心貢獻者,還同時維護兩個合計超過三萬四千星的開源專案。
這個人是 Matt Van Horn。他是矽谷連續創業者,曾參與創辦後來成為 Lyft 的公司,也共同創辦了 AI 烤箱公司 June,產品能自動辨識食物並調節溫度,之後被收購。雖然經歷亮眼,但他自己認為,真正高價值的軟體產出反而是最近才開始爆發。
今年,他用 Cloud Code 打造了兩個專案。第一個是 Last 30 Days,一個幫助使用者回顧過去三十天工作的工具,累積超過三萬星;第二個是 Printing Press,一個 AI 內容生產工具,也快速累積數千星。除此之外,他還成為 Python 核心貢獻者,以及 Compound Engineering 這個 Cloud Code 外掛的第三大貢獻者。
Matt 把自己的工作方法整理成 22 個 hack。與其說這些是 AI 工具使用技巧,不如說是一套完整的工程哲學重構。他的核心觀點很直接:工程師的價值應該來自思考、架構決策與問題解決,而不是把大量精力消耗在環境配置、查錯、切換 IDE 與瀏覽器之間。
他認為,工具應該消失,思維應該留下。當一個工具需要你花太多力氣去管理,它本身就已經在消耗你。這套方法論的第一個核心,就是在動手寫任何程式碼之前,先產出一份結構化計劃文件,也就是 Plan.md。這份文件會先定義問題、列出可能方案、推薦方案的理由,以及潛在風險。重點不是讓 AI 立刻生成程式碼,而是先驗證方向對不對,避免陷入寫了再改、改了再重來的循環。
更特別的是,他不主張逐字閱讀這份長篇計劃,而是要求 AI 進一步用三句話濃縮出核心假設,並說明如果假設錯誤會發生什麼事。這個做法的本質不是檢查細節,而是審計推理框架。因為真正致命的錯誤,往往不在技術實作,而在一開始的前提判斷。
在工作環境上,Matt 採取極度工程化的方式。他不用傳統 IDE,而是同時開六個終端視窗,每個視窗對應一個獨立任務,例如新功能、測試、文件、程式碼審查等。這不是單純的多工,而是把不同任務拆成可並行處理的工作流,讓大腦只專注於排程與決策。
當他需要向 AI 解釋複雜背景時,會優先使用語音輸入,因為語音比打字能承載更高密度的上下文資訊。語氣、停頓、補充說明,這些平常打字容易省略的內容,反而能讓 AI 更準確掌握真正的需求與語境。
在每個專案中,他還會維護一份 Cloud.md。這份文件不是寫給人看,而是寫給 AI 看。內容包括專案核心限制、哪些目錄不能動、程式碼風格邊界、以及專案存在的根本原因。這等於是 AI 的入職文件,讓每次新的互動都能快速對齊上下文,而不必重頭再解釋一次。
版本控制在這套系統裡也不只是版本控制。Matt 每完成一個邏輯單元就會立刻 commit,且 commit message 不是描述「改了哪些檔案」,而是說清楚「解決了什麼問題」。這其實是在強迫自己做思維檢查點:如果你無法用一句話說明剛才做了什麼,代表那個改動本身可能就還不夠清晰。
在任務拆解上,他的原則是:一個任務只解決一個問題,一個問題只有一個成功標準,而且成功標準必須可驗證。因為 AI 的輸出品質,與任務定義品質高度正相關。如果你丟給 AI 一個混雜了效能優化、文件更新與 Bug 修復的複合需求,它往往會每件事都做一點,但沒有一件事做到真正到位。
程式碼審查方面,他會讓 AI 審查 AI 自己寫的程式碼,但審查時一定指定角度,例如從安全性、效能、可讀性,或新進工程師能否理解的角度來看。不同視角會暴露出完全不同類型的問題,這比泛泛地問「有沒有問題」有效得多。
在測試策略上,他主張先寫測試案例,再寫實作。這不一定是傳統意義上的 TDD,而是用測試先把需求具體化。如果連測試案例都無法明確描述,通常代表需求本身還沒有被真正理解。至於文件,他認為未來的文件主要不是寫給未來的自己,而是寫給未來會協助你的 AI。因此文件應該更加結構化、上下文完整、假設明確,方便 AI 快速吸收並協助決策。
最後,他還把這套方法沉澱為可持續系統,例如建立私人 prompt 庫,依照架構設計、程式碼審查、文件生成、除錯等場景分類管理。這代表他不是把 AI 當成一次性的聊天工具,而是當成可訓練、可複用、可工程化的生產系統。
整體來看,Matt 的 22 個 hack 真正厲害的地方,不只是讓 AI 幫你寫程式,而是把工程師的工作重心,從大量低價值的操作,重新拉回高價值的思考、判斷與系統設計。這不是天賦神話,而是一套有機會被複製的方法論。