近期 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

2026 第三次復盤

2026 第三次復盤

原先要在中秋假期時完成今年的第三次復盤,可因故延誤了,但想想這季還是有許多深刻的心得值得跟大家聊聊。 青色組織夢的復興 我當年創辦學院社群時,我心裡有個很濃厚的情懷,我認為最有效的學習就是創造一個環境,讓所有人在這個環境中彼此學習,互相協助。就像一個大同社會一般,你幫我學習,我幫你成長,你貢獻一點,我也貢獻一點,這個環境肯定就會更好,而我們每個人也能獲得更多。 我當年是真心相信這件事,所以學院的第一年,我們在只有兩個正職員工的狀況下,靠著學員擔任志工,我們前前後後舉辦了將近 60 場講座,以及數十場聚會,跟數百場的小組學習活動。 只要你願意成為志工,組織一場講座,而其他的 99 個人也都做了一樣的事,我們每個人投入的是一分力氣,但最終我們會獲得一百分的回報。 這是我心目中理想的社群樣貌,而我到目前仍然相信環境對一個人的影響遠大於一個老師或是一堂課程。 可以當年,我們跌了很大一跤,那次的挫敗甚至讓我有些懷疑我是不是過度理想化了。我忽略了很多現實面的問題,也忽略了自己的身分角色,還忘了很多事,並不是那麼理所當然。那年我也在 MOPCON 分享了這個經驗,有興趣的朋友可以自行觀

By gipi
[徵才]方圓國際誠徵四個新職務

[徵才]方圓國際誠徵四個新職務

我又要來招募了,這次要招募的職缺有四個,工作地點都在台中。 6 月份的時候我啟動了一波招募,那波中我招募了工程師、門市體驗設計師、萃茶系統負責人、小舖成長主管。後來我們也引入了品茶師、珍珠學院培訓師與院長,以及一群儲備幹部們。 目前這些人都已經在職,且一起進行了許多有趣的任務。 我們相信,品牌是由內而外的,需要讓員工先感受到,客戶才會感受到, 我們相信,品牌不只是一種形象,而是一種持續兌現承諾的能力, 我們相信,餐飲不是門苦生意,而是能帶給自己與他人幸福的事業。 這是我在方圓工作這段時間,我堅定不移的信念,也是我們團隊一起前進時重要的信條。 現在,我又要招募幾位夥伴加入我們團隊,如果你對以下職務感興趣,歡迎將你的履歷寄送到我的信箱:gipi@teashop168.com.tw AI-native senior full-stack product engineer 之前已經有招募過工程師,但因為要推進的事項很多,所以想再多找一位開發夥伴加入我們。 AI-native,我希望你現在已經是將大量的工作交給 AI,不論是

By gipi
讓生活變成你喜歡的樣子

讓生活變成你喜歡的樣子

一個人一早在無人的 Stanford 校園散步,在教堂牆上看到 Faith、Hope、Charity、Love 四個詞彙,有點感觸,坐在門口的椅子上,想想這陣子做的一些決策。 管理,是管事理人 這是很多年前古哥跟我說過的一個概念,核心思路是「你得在事情上參與,理解問題的本質,並把時間花在梳理人會卡關的議題,讓人可以朝好的方向前行」。 過往專業經理人時期,我理解這概念,但因為我會有短期的戰功需求,所以我會想盡快把事情解決,對人的耐性也相對有限。當 team member 的調整速度太慢時,我可能會插手處理。這樣的好處是事情會很快有進度,壞處則是對方的學習空間減少,潛力難以激發,工作動機也會在我一次次參與後逐漸減少。 現在我比較沒有短期成果壓力,所以在找出問題根因後會願意花時間去陪一個人成長。因為我相信,只要這人是對的,最終都是先苦後甘,前面慢一點,但後面就會快很多。 就像我以前分享過的培訓概念一樣,早期人的成長不明顯,因為培訓發揮效用要時間。可當培訓的效果開始發酵,他的績效就會逐步展現。而且這人因為被信任,備栽培,所以他的工作心態也會截然不同。長期能帶來的效益是難以估計的。

By gipi
《最有企圖的一天》讀後感

《最有企圖的一天》讀後感

看《最有企圖的一天》看到這個漏斗。 這張圖與其說是漏斗,不如說是一個堆疊圖。 意圖堆疊 作者的觀點是當一件事符合你的價值觀,又是你生活的優先事項,同時也與你的目標契合,而你也設定了計畫要來完成他,那在即將要做的這個當下,你的意圖會極大化,這就是所謂的「意圖堆疊」。 我很重視助人成功,所以我在思考工作時總會往能影響更多人,解決更難的問題的角度思考。我選擇了教育產業,選擇擔任講師、顧問、Mentor;選擇軟體產業擔任 PM、架構師;選擇加入餐飲業,思考策略時往能改善門市現場,又能兼顧總部營運的方向發展。 助人成功是我的價值觀,影響更多人,解決更難的問題是我的優先事項。 我會找到符合這兩者的公司加入,因為與公司方向契合,所以設定目標時便有機會趨於一致。我在想跟做之間就沒有障礙,而沒有阻礙,意圖便可推疊,反之,意圖很可能會遭到打斷。 意圖持續時間 而「意圖的持續時間」概念是什麼呢? 如果你只是當下想到要做,那意圖的持續時間是最短暫的,可能就是當下那一秒,可過了這個時間點,你的意圖可能就會消失了。舉個例子來說,我們都有過對一件事只有三分鐘熱度的狀況,像我曾經想學烹飪,

By gipi