我如何與 AI 協作開發,我的開發步驟分享

我如何與 AI 協作開發,我的開發步驟分享

昨天到工程師場子分享,想說跟大家對照一下,現在是否多數人都跟我一樣,寫程式完全不手打任何一行 code,全部都是 AI 做的。
結果發現,現場只要有在用 AI 開發的人,多數時候真的都是讓 AI 來完成程式撰寫工作。

目前我的開發組合是 Claude Code / Claude Design / Fly.io / Github / Cloudflare,其他還有根據程式功能需要而使用的第三方元件。

做一個新系統的習慣是:

  1. 跟 Claude 討論我想解決的問題,以及我的核心需求,中間我可能會用 Claude Cowork 做本地資料的分析,然後請他廣泛收集一下資訊,做幾輪 prototype 的模擬。確認方向是否是我所期待的。
  2. 對完需求後,請他產出系統定位、限制、邊界與 PRD。
  3. 把 PRD 跟幾個 md 檔丟給 Claude Design。產出系統設計稿。這邊必須稱讚一下 Claude Design,他產出的設計又快又好,還可以一次出多個版本供我挑選。順便連 icon 都幫忙設計好了,有夠讚。
  4. 把 PRD、md、設計檔提供給 Claude Code 請他幫忙規劃開發計畫。並告訴他優先以功能完整性為主,不用在意 MVP。對我來說,一個完整可動的東西,其實就是 MVP 了,對 AI 來說,一次到位跟 MVP 交付的時間,很可能就是一兩個小時的差別。
  5. 通常我會在睡覺前進行新系統的首次任務交付。我會說,你按計畫依序開發,直到 Phase XX 為止,我希望我早上起床時可以有一個能正常運作的系統。因為我本機開 auto mode,除了prod 環境需要我許可外,其他都讓 AI 自行處理。在部分專案中,我甚至是直接連 prod 都隨便它。

上述工作中,步驟 1 是最花時間的,常見的問題有兩個:

  1. 我想法還不具體,期望太大,但 context 太少。
  2. 又或者手邊的 raw data 達不到我想要的結果,可能是資料量不夠,時間跨度不足,欠缺關鍵資訊。

想法不具體,那就回到需求跟問題本身,請他多提幾個解決方案;資料不足,我會請他模擬更多數據,讓我能感受一下數據到位的樣子。這個步驟就算卡,最多也就是半天的時間我能搞定。

後面幾個步驟,除了開發外,速度其實都很快。

確認功能 OK 後,我還會補上幾個比較重要的步驟:

  1. 資安,這塊除了典型的資訊安全問題外,還會針對因 prompt 有關的 AI sercuity issues,如 prompt injection 做處理。
  2. Log 機制,前面一兩個系統忘了 log,所以追查問題時反覆來回了很多趟,AI 一直要我幫他下指令,然後跟他回報我看到的訊息。我覺得這就像以前我沒寫 log,然後要使用者告訴我他的步驟跟畫面一樣煩。我問他:「你看不到錯誤 log 嗎?」才發現他根本沒寫 log。所以後來我都是直接補上了。
  3. Unit test,確保整體程式碼品質。這在以前真的得花不少時間,但現在真的就是分分鐘搞定。
  4. Integration test,我會讓 AI 生成多個使用者帳戶,逐一跑過所有的 test cases,並產生個別的測試報告。這是用來替代原先的人工測試動作,這幫我省下了不少時間。
  5. 定期重構,每隔一兩周,我都會請 AI 針對現在的 codebase 檢視技術債。只要是有道理的,我通常會請他直接全部改完。
  6. 維運機制,以前會很重視監控面板,但現在我關鍵是讓 AI 可監控異常,所以我基本不做監控面板,因為我自己是不看的。這邊的設計就比較單純了,當出現異常,自己發 issue,自己 hot-fix。如果是硬體資源的問題,就自己 scale-up / scale-out,但會設定一個上限值。

大多數的時間都在提需求 + 規劃,執行的時間真的很少。

雖然中間發生過幾次 AI 反覆改都改不好一些問題,或者說有 deploy 了,但我怎麼看都沒有。最後總會發現是他自己搞錯方向了,或者有些說有做的事根本沒做。

也有發生 claude.md hell,也就是開錯 Folder,開到本機根目錄,所以一堆 claude.md + memory.md 檔全部混在一起。效能慢不說,context 混亂連需求都搞錯,參數亂讀當然無法產生預期中的結果。

不論技術怎麼進步,軟體工程的核心還是在「品質」,包含可預期性、可管理性、可延展性。

做出功能是基礎,可持續維護才是挑戰。

如果你覺得我內容寫得還不錯,歡迎訂閱我的電子報,我每雙週會發送一封電子報到你的信箱。訂閱連結在這,過往的電子報也在這:Gipi電子報

也鼓勵你可以將我的電子報分享給你認為有需要的朋友們,也許你的舉手之勞,將會改變另一個人的思維與習慣。

Read more

加快了速度,少了回饋

加快了速度,少了回饋

2022 年時我曾推出了一堂課《打造高效軟體開發團隊》。 在這堂課程中我繪製了一張軟體開發過程管理的架構,這張圖我從公司策略->產品策略->需求管理,一路到開發過程管理、交付、市場回饋,最後再回到產品需求管理。 當年我曾說過,軟體開發最重要的其實不是程式開發本身,而是 align 公司策略與產品策略,同時兼顧好短期需求,將需求管理做好。 但我們也可以看到產品需求管理是上述架構中最主要的節點,上承策略,下接短期需求,右邊則是成為所以開發計畫的起頭,同時還要承接來自市場回饋,並能持續優化管理過程與技術債務管理。 簡單的說,決定做什麼,決定了產品定位,決定先做什麼,則決定了策略重心。但要做出決定,除了對目標有清晰的認知外,更重要的是「回饋」。包含市場回饋、使用者回饋、利害關係人回饋(研發/行銷/客服...)。 這陣子透入 AI 開發後我對這張架構圖有一些新的想法: 首先,是生產力過剩。 因為 AI 不用休息,生產力幾乎沒上限,

By gipi
AI 在商業決策層面給我帶來的三層改變

AI 在商業決策層面給我帶來的三層改變

從二月開始,台灣就陷入一陣 AI 瘋,一堆人都開始投入龍蝦、Claude Code、Codex 等超級生產力的任務中。不寫程式的人開始寫程式,包含老闆、設計師、行銷、創作者。而其中最瘋狂的,莫過於身邊的一堆老闆們。 有人批評說:「這些老闆們放錯重點,應該好好回到自己的位置上去做出好的決策,讓專業的人來處理專業的工作,不要瞎搞。」 關於這個批評我個人極端不認同。 我的看法是老闆不多花點時間深入理解 AI,他在未來就很難做出好決策。 今天看到 Coinbase 的 CEO 在 X 上發布了裁員的消息。 而我也在 FB 寫下了我對這件事情的想法。 今年不知道第幾家公司了,幾乎都不是因為經濟不景氣,而是各家公司都在為變化儲糧。很多軟體公司之所以裁員,都是為了有更多的資本支出可以投入在 AI 的團隊、產品或基礎建設上。 扁平化只是一種不再需要「管理代理人」的訊息。現代的管理概念還是很崇尚那個一人最多管七人的科層組織管理概念。 為了「有效管理」,一個人管七個人是個看似科學,

By gipi
2026 年第一次深度復盤

2026 年第一次深度復盤

今天提早結束今天的顧問行程,中午回到住宿的飯店泡了個熱水澡,想著到底要休息還是繼續工作。但想了想,或許可以針對最近的一些想法跟經歷做一些復盤與總結。這篇文章內容比較雜一些,但都是我近期比較重要的一些想法。 重新燃起的工作熱忱 我的工作狂性格其實已經沉潛了好多年,我一直以為我對工作已經不像年輕時那麼有熱忱。沒想到工作狂性格只是悄悄地躲了起來,等待有一天再遇到讓人熱血沸騰的時機。 燃起我工作熱情的事主要有兩件,一件是方圓國際的策略長工作,另一件則是與 AI 有關的「Growth OS」計畫。 方圓的工作有一定的機密性我就不多說了,往後能揭露的內容會陸續讓大家知道,但我可以說這應該是我接觸迄今合作上最深入的案子,我覺得很開心。至於「Growth OS」是什麼?我下面會有獨立的段落跟大家說明。 但我可以先跟大家分享為什麼這兩件事會重新燃起我的工作熱忱。 我個人的工作熱忱主要來自幾個地方: * 有挑戰,這件事難不難,能否燃起我的挑戰慾望與好奇心。 * 能自我實現,我總有一些放在內心很想做的事,但可能是時機不到,又或者沒有碰到合適的場合。 * 能按自己價值觀來行事,這件事在我

By gipi
近期 AI 寫 Code 的一些想法

近期 AI 寫 Code 的一些想法

之前用 AI 寫程式,比較 free style,簡單說,就是功能能運作就好,反正就解決單點問題,就算是個商業應用,也大多設計成可以離線使用,架構很簡單。 但最近為了要完成我 Growth OS 的野望,我又回到以前工程師年代,會很在意目錄架構、資料結構、資料流、權限控制,甚至也會思考更多關於擴展性、多租戶、系統邊界設計的問題。 也因為有較深入的思考,對於 AI 參與開發這件事,我有了多一點的體悟。 Rule-baesd 模式 從前的程式開發大多是建立在有明確規格之後,演算法就像數學公式一樣,輸入什麼樣的參數,往往就能得到一個可預期的結果。 簡單的說,就是「確定性」,所以以前的測試根據的是輸入 A/B,是否得到 C 結果。 直到現在,如果我們對一個程式的執行結果,最主要看的是「確定性」,也就是執行一百次都要得到可預期的結果。那最後或許還是只有清楚的

By gipi