Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

AI Coding的時代已經來臨,目前市面上有許多AI Coding的工具,大約從一年半前開始陸續浮現,而這一年則是快速發展,從IDE到IDE Extension/Plug in,到捨棄IDE直接在Browser使用Prompt Coding,各種方式都存在。
To read the English version, click the “ENGLISH” button at the top-right menu.
可以閱讀兩分鐘AI產生的語音,快速了解綱要與結論介紹。
對於Engineer來說一定是大幅的改變與新的工作型態建立,但對於產品經理、產品開發設計來說產生什麼變化呢?許多人認為有了一些新興的AI Coding Tool特別是捨棄IDE方式的,像是Lovable、Replit和Base 44 的出現,會甚至讓產品設計直接銜接到程式開發可以取代一些工程師,這會是真的嗎?或是產品經理真的能夠直接透過AI Coding產出產品的Code層面基礎而提交給下一階段工程銜接開發嗎?是產品經理會消失還是工程師會消失?
先前我們已經測試使用過Lovable、Base 44這類產品進行MVP,這次我們使用Gemini CLI完成一個side project,並從中得到一些想法、Insight。

這一年半已經迎來爆炸式的AI Coding工具發展,從使用的定位或適合的情境去分類,我們可以嘗試分類以下幾種:
1. 既有 IDE AI Extension 或 Assistant — CodePilot, Google Code Assist ..
2. 通用型 AI 助理(可高度彈性整合既有IDE) — Claude code, Gemini CLI ..
3. 新一代 AI IDE — Cursor, Windsurf ..
4 .新一代 Vibe Coding產品(特別是捨棄專用IDE,基於Browser為介面的) — Lovable,Replit and Base44 ..
以上第1種,大部分工程師經歷過、使用過,第2種整合既有IDE就會如同第3種的效果,第4種我們稍早也體驗過(Lovable、Replit)
最近熱度最高的,就屬於 第2種與第4種,第2種不只在編程上高度合作,甚至可以超越編程,形成全方面的個人助理(multi agent, agent team..)。第4種則是消滅了IDE的Effort試圖為非工程以外的人提供更好的製作產品的手段。
許多人討論新一代的產品開發流程有什麼變化?這裡我們探討以「產品經理」的角度,AI Coding的加入是否改變我們做產品開發、設計的工作流程?未來的工作流可能會是什麼樣子?是工程師被消滅或是產品經理被消滅?(AI真是讓人你死我活😔)
首先我們要知道,既有產品開發設計的工作,攤開全部來看可能有什麼。產品經理面對的工作並非只是開規格給工程師,或只是引導完成0–1的產品、功能開發,也並非任何功能的開發都是可視化的互動功能而已,以下職責或需求都是需要產品經理進行相關工作:
以上還是比較關聯於程式開發的,而產品經理面臨的工作並非都100%關聯於程式開發,產品經理的工作還包含許多廣義的產品相關工作準備、研究與調查或是服務客戶:

產品經理的職責不只這些,但已經可以看到有這麼多,那也代表整個產品開發設計與管理可能牽涉更多的工作,這些可以全部被另一個非產品經理的人只使用AI Tool就取代嗎?或是這些可以因為AI Tool的出現就不需要產品經理了嗎?可能不會。
那產品經理會取代工程師嗎?
| 大部分工作不會被消失,只會被效率化或整併
| AI時代,如果有取代你的人,大多數其實是拿著效率工具來做你的工作
我們假設目前的爭辯在於,藉由新一代的AI Tool來協助產品開發流程後,產品經理職位是否消失(被工程師取代)?或是反過來問工程師的職位是否削去(被產品經理取代)?
我想之所以有這樣的爭辯是由於新一代的AI Tool讓本來沒有Coding能力的人具備了打造程式的能力,本來不具備產品畫面設計的人具備了直接描述產生出畫面的能力。
| AI Tool讓你擁有你原本沒有的能力,讓人們想像你能取代更多職責
| AI Tool具備廣泛的能力,讓人們想像AI Tool可以直接100%取代原本職責
爭論的人們在設想新一代的AI生產力上的產品開發流程可能是:
以最近我們測試過的實際流程,以上情況都可能存在,但不會100%完全存在或替換現有狀況。也就是產品經理與工程師的職責可能被擴充、可能被整合,但牽涉的工作項目本身不會被消滅。
為什麼?往上檢視那些產品開發設計的工作與職責,既然工作與職責不會消失,他只會被一些角色效率填補,工程師如果來填補,實質上也只是讓工程師來做產品經理的職責。如果想用AI產出填補,試問任何一項工作你能讓AI產出而不需要人介入、調整方向或監督審查的可能嗎?既然不太可能,那很明白的就會回到「AI做的其實是效率提升而非職責取代」。
| AI時代,如果有取代你的人,大多數其實是拿著效率工具來做你的工作
| 工作本質不會被消滅,不代表工作崗位不會被減少。因為效率提升了。


未來狀況會是什麼?未來可能會是:
2. 藉由AI Tool的利用,會出現部分可跨職位的能力表現
3. 產品經理與工程師的職責,多數不會消失,但可能大幅被提升效率
4. 新職位產生的可能性,在部分團隊可能出現Product Engineer,但不會全面性把工程師與產品經理都替換成Product Engineer
5. 職責雖然不會大量消失,但因為正介於剛引入AI的時代,又處於效率提升的階段,可能會短期1–2年,相關崗位的數量會持萎縮或持平狀況,直到大家習慣了這個效率工具。
上面我們已經先講述了結論,關於產品發展與產品經理的變化可能。現在我們回到 AI Coding+Product Development實際效用與問題,這一次我們使用了Gemini CLI與我們一起完成一個Side Project。透過完整的過程,從開始到開發,從開發到實際運作,有哪些優缺點被我們識別出來,以及從這裡看到可能的未來工作模式。
*另一個AI Coding的心得(使用Lovable)可以參考這篇:
以下展示測試了完整使用VS Code+Gemini CLI與我一起完成一個Side Project的過程,遇到哪些狀況以及觀察。
我自己有紀錄每日工作筆記的習慣,平常是使用AnyType跨手機與電腦共用一份編輯,純文字的方式記錄每天專心努力時間的項目,原本是自己肉眼檢視或偶爾心算計算加總時間來理解自己每天的安排是否需要調整或提醒自己更專心,於是在這個AnyType文字紀錄基礎上,我想建立更適用的統計分析紀錄平台。
採用了Text Spec Driven 方式進行,先與Gemini CLI互動討論幾次後產生了「需求規格書.md」


請Gemini CLI直接依據「需求規格書.md」建構對應專案,這邊我指定使用React+NodeJS。大約1–2次Prompt後就具備合理雛形,符合需求規格書中提到的功能、版面合理性以及可執行,非常的陽春,但是合理。

完成後的版本在Layout、UI/UX、使用者操作模式上都有一些不滿意,過程中進行反覆多次進行Prompt調整,無論使用中文、英文大部分都可以按照語意進行修改(大約每天花一點零碎時間進行)。這其中也有Gemini CLI自己造成的Bug,要協助他Debug(後面與大家列舉分享)。也有部分修改是我嘗試結構化的異動(與功能性無關)。

最後完成後,根據自己這個小產品的專心日誌紀錄與統計功能,順手查看自己的工作時間成本 (我在這類工作的紀錄習慣類似為 “2230 — 生產/Producing — 寫程式/Coding — gemini — 0030”)




雖然我們在短時間完成建構了一個工具,因為這個專案很小,檢視一下其中的工作內容,事實上只涉及了產品經理工作內的部分。當每次我們看到別人展示Vibe Coding的驚人效果的時候,你是否思考過這其實只是在規格確認後的執行階段(或是一邊做一邊產出規格)?事實上較大的產品公司還有很多產品工作要進行。

相同的狀況也出現在你以為你能取代工程師的工作上,的確AI Coding加速生產Program的階段,但是工程師的處理範圍還包含很多你看不到的基礎部分,包含架構、效能、安全性、整合…你的確透過AI Coding加速完成了一部分,但那不是全部。
可能因為Token限制、費用狀況、網路狀況,或AI本身無法處理陷入Loop,都可能導致進行到一半的變更,停留許多檔案修改到一半且未完成的狀況,這個情況下你可能可以接續請他fix,但也可能一團亂必須人為收拾或協助。


這裡顯現一個多餘字元導致語法錯誤,但一個肉眼可見的錯誤卻剛好在AI的處理能力外,多次請求進行修復都無理處理,最後自己去移除、對齊語法。

這個案例是AI製造了持續累積的comment垃圾,這個情況下不限於comment,code層面也可能有無意義的垃圾產生,偶爾需要自己巡視提醒。

荒謬的語意理解在這個案例很好的展現,原本是想將一些元件對調位置,AI的確調整了位置,但他調整的是HTML檔案內的位置,而不是最終效果Layout上的渲染位置,最終也是透過提醒讓他修正。


另一個荒謬的語意理解在這個案例很好的展現,原本是在基於批次新增日期的基礎下,請他新增完畢後選擇最新日期去呈現Daily Log,多次達不到效果下去看程式後發現,AI把「最新」理解為「最後」,而接而把「最後」理解為「檔案內的最後一筆」,這恰巧讓「最新」這個要求的效果被顛倒了。最終也是透過提醒讓他修正。


錯誤的計算邏輯導致錯誤的精度計算,呈現在這個案例。原本輸入的Duration格式為 xxH yym,在整日累計時間上,他選擇的方式是先將這個格式轉換為 x.xH。舉例而言0120按照他的轉換會變成1.33h,這裡就出現了精度問題,而如果選擇後者的加總,最後就會出現永遠非整數的分鐘數。如下圖可以看到 8.59h這種數據,這是屬於精度的損失而非原始數據有這種結果。最終也是透過提醒讓他修改計算邏輯。


如同上面提到原始數據Duration格式為 xxH yym,在資料識別上應該視為yy分鐘,但同樣的資料卻會出現部分識別正常,部分識別錯誤,把yy分鐘識別為yy小時。最終也是透過提醒讓他修改計算邏輯。無法理解的意外,相同資料卻有不同處理方式。

同樣都是存檔,AI在部分命名選擇使用「Save」,但部分命名卻另外選擇「Add」。也甚至整體命名規則也不統一的情況時常發生。

如下圖所看到AI不只對於結構性的安排、命名的選擇都沒有一致性,這可能累積更多的dirty legacy給後續,埋藏維護性問題。

對於Gemini CLI來說我們把當下資料的權限交給了他,但是我們沒有把OS甚至特定Browser給他,所以很多時候他會需要人為協助的Debug,包含請你做一些測試與log蒐集。

目前Gemini CLI是沒有復原功能,即使你要求他也做不到(未來是可實現的),再考慮AI可能做出做的變更,基本上控制者要有敏感的版控意識(存擋復活大法)
在一些明顯的小修改要求中,可以遇到明明只是A檔案的修改,他卻連同B檔案改了,或是只要修改A功能,但是B功能也被異動了。當你把修改範圍這件事也交給AI你就要留意他不是100%正確。
從一個貪吃蛇遊戲說起,很多人嘗試Vibe Coding可能是從一些簡單的經典遊戲開始,驚訝於AI Gen的能力與質感。但你有沒嘗試過一個指令建制同樣目標多次呢?
你會發現即使他們精美,但結果每次都不同。



有人會說這是AI的多元性,但其實這就是AI的機率遊戲,一個簡單的指令做出完整結果的概念是類似於Zero-Shot or One-Shot的道理,AI正在為妳匹配最可能的結果以及做大量的猜測(Guessing)以及填空白行為。
從各家大模型的每次Release演示中,他們也是在展示大量的Zero-Shot。

這雖然很美好,但是這個貪吃蛇是你要的樣式嗎?是你要的遊戲方式嗎?是你要的味道嗎?那可不一定。所以Zero-Shot(Or One-Shot)只是起了一個快速草稿,真正主要的工作在後面的不停調整產品到你要的功能、樣式、互動…
你也可以設想「那我把規格準備的很好」增加Zero-Shot(Or One-Shot)的準卻率,這也是可以的,但是你的實際工作時間就跑到「那我把規格準備的很好」這部分,而且也不是保證效果,很可能你準備很多的規格,產出不如1頁的規格好。
所以實際上在AI Coding的過程中,依然少不了「規格」這項工作,他可能是提前準備好的,也可能是過程中一道道Prompt去刻畫的慢慢形成規格。在你要做什麼產品前,依然需要目標、依然需要規格。
所以產品經理與工程師的工作誰也沒有消失,但的確是AI有幫助效率提升。
結果相當有趣。我們發現當產品經理透過AI Coding工具更可能具備編程的能力。但當你期望結果越完善,實務上你越需要工程師所需的知識,最後你會逐漸成為一位具備工程師相關知識的人。
我們最終需要的是將工作需求給予效率提升或有工具能發揮作用。產品經理的工作項目還有很多,也有非常多的模型工具可以協助。持續地尋找更多方式協助各類型產品工作。
在AI Coding這一塊我認為最基本的每個產品經理都可以打造自己的效率工具,以及快速測試技術或建造Prototype。
建造Prototype方面也不局限於AI Coding,在影像生成、想像生成的年代,可以探索更多的可能性來協助這個目標,例如Google stitch、veo3、nano都有可能協助展示場景或MVP。更多的可以去嘗試快速有效產生MRD, BRD, PRD, Wireframe, Mockup, Figma等日常所需。
在AI Coding這一塊,可以探索spec-driven AI coding,如同AWS的Kiro提出的,抑或是Calude Code與Git都有對應的服務或框架。