近期 AI 寫 Code 的一些想法

近期 AI 寫 Code 的一些想法

之前用 AI 寫程式,比較 free style,簡單說,就是功能能運作就好,反正就解決單點問題,就算是個商業應用,也大多設計成可以離線使用,架構很簡單。

但最近為了要完成我 Growth OS 的野望,我又回到以前工程師年代,會很在意目錄架構、資料結構、資料流、權限控制,甚至也會思考更多關於擴展性、多租戶、系統邊界設計的問題。

也因為有較深入的思考,對於 AI 參與開發這件事,我有了多一點的體悟。

Rule-baesd 模式

從前的程式開發大多是建立在有明確規格之後,演算法就像數學公式一樣,輸入什麼樣的參數,往往就能得到一個可預期的結果。

簡單的說,就是「確定性」,所以以前的測試根據的是輸入 A/B,是否得到 C 結果。

直到現在,如果我們對一個程式的執行結果,最主要看的是「確定性」,也就是執行一百次都要得到可預期的結果。那最後或許還是只有清楚的 rule 能做到這件事。

所以那些不容有失的程式,你還是需要讓程式碼每個 conditions/rules 都寫得清清楚楚,不然肯定會掛。

Principle-baesd 模式

最近透過 AI 在進行比較有架構性的程式設計時發現,有很多需求若要用 rule-based 來處理,複雜度真的很高,同時也不見得有必要。例如針對一份簡報給回饋,評價一份履歷,每次給出的結果略有不同其實不會有什麼太大的問題。

只要你不是這次說簡報超棒,下次說超爛,履歷不會這次說合適,下次剔除就好。我們需要的是「一致性」而非確定性。每次的評價都是正面的,至於是超級棒,還是很棒是其次,而就算兩次都是超級棒,原因略有差異也沒關係。因為最終都會進入到下個階段,或者都不會有下個動作。

以最近的案例為例,我撰寫的 OKR 工具,會根據我定義好的原則來回饋使用者所設定的內容。

但同樣的內容,在兩次執行過程中給出的結果卻有極大的差別,雖然兩者最後都需要再調整 KR 的內容,但要改的地方卻有極大的差異。這就偏離了我想要的結果,這結果不一致。

在 OKR 工具中,針對同一個 OKR,工具給出了不一致的結果

面對這類「一致性」的需求,我覺得以羅列「原則(Principle)」的方式來進行非常適合。對我來說,目前寫在 markdown 檔中的內容,對我來說就是一條條的原則。

針對 OKR,我撰寫了 3 份 md 檔,總行數大約 1,000 行

而 Prompt + LLM 算起來就是一種基於原則(Principle-baesd)的開發模式。

而要做到一致性,你的原則也不能定義的太鬆散或模糊,不然會失去一致性,但如果你要把所有原則都羅列清楚,把所有判斷條件都講完,那就會很接近 rule-based。

但我覺得沒有必要,因為窮舉所有的 rules 代價太大,根本不划算。現階段,我覺得 Claude Code 滿足我最多的其實是這一塊。

因為我過去想過很多次要把一些複雜的概念系統化時,我總會面臨到抽象容易,但要具象到可實作難度太高了。最後我只能走 divide-and conquer 的模式,先把範圍拆小,然後一層一層透過 rule-baesd 把需求定義清楚。但即便限縮範圍了,我還是很難窮舉所有可能性,而當無法窮舉時,我想做的系統根本就做不出來。

我現在想通的是,過去我一直在追求結果的確定性,但其實我只需要做到一致性就好。

Scenario-Generating 模式

第三種模式,我稱之為叫 Scenario-Generating 模式。有些需求其實我尚未釐清,也不確定我可以怎麼做,我只是描述一個情境,然後說明我想看見的可能樣貌,然後請 Claude Code 先幫我做一個版本出來看看。

從前這種創意是稀缺品,因為我們很難叫團隊夥伴去想想看,或者叫員工自己去找尋可能的方向。但我們自己又經常卡在念頭尚未通透,需求若有似無的狀態,最後的結果通常是 - 放棄。

但現在,我會把我想到的情境告訴 Claude Code,然後請他幫我找相似的案例,或者根據我當下的描述,他來闡述他的理解,抑或幫我做出一個他想像中的東西。最後我可以針對他的敘述或成品來進一步說明逼近我真正需要的東西。

在我開發過程,我覺得最有趣的地方是,以前是實作者會來訪談(拷問)我,希望我把需求講清楚。AI 其實也會問我想法到底是什麼?

但現在我會跟他說:「你先跑三個案例的結果給我看。」、「你每個都做一次,我來看看哪個比較接近我要的。」

從前,第一個要求,案例通常是我來想,但現在我都直接交給 AI。而第二個要求,往往是老闆跟員工之間最大的衝突點,一不小心就會被說是慣老闆。但其實,這兩種模式都大大加快了我釐清需求的速度。

還記得上次跟 Happy 在最新一期的《搞什麼鬼》中聊到「要做 GM,不要做 PM」。

PM 總是習慣把需求講得鉅細靡遺,把規格寫的清清楚楚,然後讓工程師去完成所要開發的功能。所以動腦的人是 PM,工程師只是負責建造跟執行的人。

GM 則是負責提需求,不負責想細節,細節應該交給其他人來想。以前的程式無法做好這件事,但現在的 AI 完全能做到思考、聯想、創造。

我們不需要再扮演一個想盡辦法完善所有細節的人,而應該大膽嘗試將創意交給 AI,自己專注提出需求就好。

對於那些不追求正確性跟一致性的東西,或許 Scenario-Generating 模式更適合。

不過我近期的任務中,很多狀況是先走 Scenario-Generating 模式,有個雛型後我再切入 Principle-baesd 模式,在幾個小時內生成一個我滿意的成果。

因為我做的大多不是規格功能從一開始就確定的東西,在過去經驗中,我要從構想到產出成品,通常需要花上一兩個月以上的時間。而現在,可能只是一天或半天的時間就能做到。

這種改變讓我感到非常興奮,也讓我有重新開始好好寫程式,打造產品的念頭。


這三種模式其實是並存的:

  • Rule-baesd 追求確定性
  • Principle-baesd 在意一致性
  • Scenario-Generating 重點在可能性

AI Coding 的時代,真的很有趣。

如果你覺得我內容寫得還不錯,歡迎訂閱我的電子報,我每雙週會發送一封電子報到你的信箱。訂閱連結在這,過往的電子報也在這: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
自媒體困境,我的思考

自媒體困境,我的思考

昨天在 Facebook 上提到長期經營自媒體的困難,從 2006 年開始寫文章以來,迄今剛好 20 年,以內容產製來說,我應該也算是高產,中間也遭遇了一些挑戰。 不過自媒體一直都是一種放大器,而非我的主要收入源。 早期,我有一份正職工作,所以自媒體只是我用來分享經驗、與人連結、獲得影響力的方式之一。 中期,我成為自由工作者,自媒體是我創造營收的漏斗上層,讓我有穩定的案源,也讓我賣課程、推書、辦活動時可以順順的完成。 現在,自媒體算是我生活中的一種調劑,我沒有設定太明確的流量目標或轉化目標,比較像是隨興而做,暫時沒有特別目的。至於未來會不會改變不好說,但現階段就是這個樣子。 從影響力走到變現,看起來是兩種不同路徑,但對我來說其實我一直都把關鍵放在「影響深度」以及「影響對象」兩件事情上。 所謂的「影響深度」,指的是我能讓多少人採取行動,而且會願意為我所說的事情付出一定的代價,這個代價包含錢、時間、習慣的改變。所以我從文章、影片、營隊課程、

By gipi