直覺式開發(vide coding)時代來臨,軟體架構重要性與日俱增

直覺式開發(vide coding)時代來臨,軟體架構重要性與日俱增

最近兩個月,同溫層中興起一陣直覺式開發(vibe coding)的風潮,鼓勵大家用自然語言進行軟體開發。短時間內我就看到許多非技術背景的朋友們紛紛跳下來嘗試,也有些人真的做出一些有趣的東西。

我認為這種讓沒有技術基礎的人,也能開發軟體的概念,其實跟早些年 Windows 95 的圖形化介面,讓不懂得命令列(command line)的人也能使用電腦是相似的概念。

這是資訊科技進步的必然。再往下一階段,腦機介面的突破,還會進一步讓那些語言表達能力沒那麼好的人,也能透過腦袋中的想像來跟電腦互動,讓電腦幫忙完成程式開發。這很可能是下一波人機介面的革命。

但在這種革命發生的早期,許多的配套工具還未完善,但已經開始有大量的人投入使用。這些人寫出了一大堆無法維護,甚至無人能清楚解釋,但又運作正常的程式碼,這等同於創造了大量的技術債務。所以也有另一派人在討論,vibe coding 產出大量難以維護的程式碼,未來維護這套軟體的人將會身受其害。

從前寫程式的進入門檻較高,所以寫出來的程式再怎麼糟糕可能都還有人知道怎麼維護,所以 junior engineer 可能會寫出一些爛 code,但數量不多,且還能維護。

但現在進入門檻幾乎消失,重點是大家根本也不知道自己寫的 code 到底是怎麼運作的,更不用說要維護了。加上這些 code 其實也不大需要動腦筋,所以大家都放心的產生一大堆無法維護的程式碼。

人人都能輕易入門,這件事很棒,但輕易入門的代價則是大家會瘋狂寫出一大堆難以維護的程式碼。以前技術債的堆疊速度假設是 1,現在有可能變成 10,本來要花上 10 年才能堆出的技術債,現在可能只需要一年。

如果中間創造的價值也有 10 倍,那企業主也能心甘情願承受,可一般沒有那麼好的事情。

以砌牆為例,砌一面牆時,我們需要先明確幾件事:

  • 這面牆的目的是什麼?(防風、防盜、裝飾?)
  • 成品標準?(高度、寬度、承重力、外觀平整度)
  • 牆體結構要怎麼設計?(直線、弧形、厚度、留孔洞?)
  • 地基需不需要加強?(承載力?濕地 or 乾地?)

如果砌這面牆時,我們需要與他人協作,那我們還要進一步確認幾件事:

  • 砌磚的方式要統一(橫砌、交錯砌)
  • 磚與磚的間隙寬度、砂漿比例
  • 每一層磚的水平與垂直校正方式
  • 誰負責打地基?誰負責砌磚?誰負責監工?
  • 若有多人同時砌牆,接縫處誰負責對齊?
  • 每砌一段,要不要即時校正(level check)?

你可以想像一下,如果蓋一棟大樓時,沒有先畫好藍圖,也沒有先針對上述問題做好規劃,開工後每個人都按自己的方法去施工,最後會出什麼樣的結果?

  • 不同牆面的材質不同、承重能力不同
  • 不同牆面的高度不同、連結處不對齊也不平整

上述問題,如果是在施工過程發現,那就像 bug 在開發過程被抓出來一般,只是增加了重工的成本,不至於造成過大的風險。但如果是在蓋好後,因為地震或其他因素發現當初施工的問題,那很可能是以人命為代價。(參考:測試左移,我們該關注的是需求的 bug 數還是程式的 bug 數)

AI Coding 需要留意的事項

Cursor 的設計主管在 X 上分享過他認為使用 AI Coding 時需要注意的 12 件事

  1. 預先設置 5-10 個清晰的專案規則,以便 Cursor 瞭解您的結構和約束。簡單的說就是先設定好團隊在進行系統開發時的一些基本原則,例如 coding style。
  2. 提示要具體。像撰寫規格一樣闡明技術堆疊、行為和約束。
  3. by file 生成、測試和 review,關鍵是在「較小的範圍」內進行
  4. 首先編寫測試,鎖定測試,然後生成代碼,直到所有測試都通過。
  5. 檢查 AI 輸出並修復任何錯誤的內容,然後告訴 Cursor 原因,將這些錯誤修復作為與 Cursor 協作的範例
  6. 使用 @ file、@ folders、@ git 協助 Cursor 的注意力定位到 codebase 的正確部分
  7. 設計文件和清單保存在 .cursor/ 中,以便 AI 代理能在具有清楚脈絡的狀態下知道下一步該做什麼。
  8. 如果 Cursor 給出的代碼錯誤,就自己寫吧。Cursor 從編輯中學習的速度比從解釋中學習的速度要快
  9. 使用聊天記錄迭代舊提示,而無需重新開始。
  10. 有意識地選擇模型。要精確性用 Gemini,要廣度用 Claude。
  11. 在新的或不熟悉的堆疊中,將完整內容貼上。讓 Cursor 逐行解釋所有錯誤並修復。
  12. 讓大型專案在夜間編製索引,並限制上下文範圍以保持性能敏捷。

許多內容就是一語帶過,但我們可以推敲其背後的意涵。

規範化、明確而具體定義、小範圍、持續迭代、足夠資訊、測試先行,這些都算是軟體開發一直以來的管理重點,即便在 AI 時代,這些觀念也仍舊重要。

而這些其實都與軟體開發過程的軟體架構與開發規範有關。

在 Vibe coding 年代,人人都有能力寫些小程式,軟體功能的發展將會以飛快的速度推進,而在這樣的年代裡。

那些能做軟體架構設計,能定義開發規範的資深工程師與架構師的身價,將會水漲船高。

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

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

Read more

對情緒控管能力的反思

對情緒控管能力的反思

前陣子跟大家分享了我自己對「情緒管理」與「承壓能力」的反思。 假設我們試著量化一個人的情緒承載能力,如果這個數值是 100,只要超過這個數字時,人的情緒就會崩潰。 而多數時候,我們會將自己的情緒壓力控制在 100 分以下,如果要自在一點的話,可能在 60 分以下是比較輕鬆自在的狀態。而那些工作壓力較大,或者內耗特別嚴重的人,很可能長期處在 80-90 分的狀態。 如果一個人的情緒壓力愈接近 100,那情緒就愈難自控,很容易沒耐性、暴躁、坐立難安。 過往我總認為自己是將情緒壓力控制在 80 分以下,所以自己在高壓工作下其實有許多的餘裕。 但最近發現,我可能只是為自己上了 buff。 所謂的 buff 是個遊戲用語,在遊戲中,有時我們可能會拿到道具,或者被施了魔法,讓我們的能力項注射了腎上腺素一般有個很明確的提升。 例如提升力量 5 點,增加 30% 血量,實體攻擊無效等等。

By gipi
我與《原力心態》作者交流的收穫

我與《原力心態》作者交流的收穫

在六月初的時候收到來自天下文化的邀請,希望我能與 Frederik G.Pferdt 博士進行線上交流。不過這個交流因為我這邊的一些變故,所以改成我以文字進行提問,而博士則以書面回覆我的提問。 這本書剛出版時,我曾寫過簡短的推薦序,我的原文是:「《Google模式》告訴我們怎麼經營公司,這本書則讓我們知道如何啟發人。當 AI 解放了生產力,企業勝出的關鍵將是創造力,而正確的領導方式,永遠是員工維持創造力最關鍵的因素之一。」 這本書,被稱為《Google模式》的續篇,特別強調如何激發人、影響人,順應人的天賦去發展。因為過去幾年從事的大多是教育相關產業,對這些觀念與想法特別有感。 這本書中有許多觀點都引起我很大的共鳴,例如未來思考,鼓勵人們「準備好面對未來的心態」,不用停在現在,而是勇敢地思考未來,並主動迎向未來。找到並發揮自己的「X 特質」,這個 X 特質(Dimension-X)指的是自身獨一無二之處,你也可以稱之為天賦。 而 Frederik G.Pferdt

By gipi
AI 學習的悖論

AI 學習的悖論

「AI 讓你看起來更聰明,實質卻有可能學得更少。」 剛剛看到一篇文章談論 AI 對學習的可能傷害,他的參考資料是來自一篇文章《The Myth of Automated Learning》。這篇文章提到一個蠻重要的概念。 當人們使用機器自動執行他們本來可以自己完成的任務時,會發生以下三種情況之一: 1. 他們的技能不斷提高。 2. 他們的技能退化了。 3. 他們永遠學不會這項技能。 這三種狀況分別容易發生在三類人身上: 1. 如果使用者已經是專家,AI 工具可以進一步增強他們的技能。 2. 如果使用者尚未成為專家,而這項技能需要不斷練習,那麼 AI 自動化可能會導致技能退步。 3. 如果使用者是新手,而 AI 從一開始就執行任務,那麼這個人就可能永遠不會真正掌握這項技能。 作者舉的案例是工業時代,那些工匠等級的人,他們的工作被產線工人+自動化機器給大量取代,但這些生產線的工人離開自動化機器後其實什麼都不會。 對這個觀點我一半認同一半存疑,認同的點在於,產線工人熟悉的是機器操作,而工匠擅長的則是不靠機器來完成任務。哪個難度更高?通常是工匠。但從商業角度來思考

By gipi
互聯網女王 Mary Meeker 報告心得(2)-餐飲品牌 Yum Brands 的案例

互聯網女王 Mary Meeker 報告心得(2)-餐飲品牌 Yum Brands 的案例

這幾篇文章都是我觀看 Mary Meeker 2025 年報告後的一些整理跟心得。原始的文件可以參考:https://www.bondcap.com/reports/tai 本篇要聊的話題是在 75 頁看到 Yum Brands 在 2025 年 2 月開始推動旗下餐廳的 AI 化與數位化。 這份報告中可以看到的資料很有限,不過我對餐飲業的現況有點興趣,所以我請 ChatGPT 幫我針對 Yum Brands 使用 AI 的狀況做一些整理,發現一些比預期有趣的資料。 首先介紹一下 Yum Brands 這家公司,因為這名字相信很多人都沒聽過,但說到他旗下的公司大家應該就知道這家公司的規模有多大了。它旗下的主要品牌有以下四個: * KFC(肯德基) 全球知名的炸雞品牌,在 150 多個國家擁有超過 27,000

By gipi