這個階段要從甲方的角色轉變為 PM 角色,和 ChatGPT 一起開發。對話當中所有看不懂、無法理解為什麼的東西或流程, 一定要請他用各種方式解釋清楚,就算用童書繪本風格也可以。身為 PM 你一定要知道你要去哪,要怎麼去,不然 AI 工程師只會做白日夢,開始胡言亂語。
一切都沒有問題之後,按照他的步驟執行(或者你請他給流程清單,就一步步照做)。
以這個 side project 來說,要進行的步驟就是
設定 Notion API,並且在資料庫中 integrate
設定 n8n
在 Zeabur 佈署前端網頁
從網路上的分享還有我自己的經驗, ChatGPT 寫網頁很醜,所以我打算先從後台開始,前台打算之後轉移到 Claude 繼續。
記得每一個節點都要設測試,避免 AI 幻覺,不然做到最後發現他在胡說八道導致白做工,真的是會很生氣。
中間不斷地 設定→測試→修正,到都完成的時候,和 ChatGPT 說
整理一下目前的討論,我想換到 claude 上請他繼續
就能順利轉移了。
以 ChatGPT + Claude 完成首個 Vibe Coding 專案
這個月因為工作的關係付了一個月的 Claude 訂閱,終於可以吃大一點的檔案,Claude 對話窗的長度沒有短到像明天就要世界末日,說完需求後直接生出一個改都不用改的 html 檔,超神!(我額外有給 n8n workflow 的 json 檔,但好像沒有用到)
但這也是如果使用免費版開發上的限制,雖然 Claude 的程式碼品質非常好,但一個對話窗能夠使用的額度太低,加上還要幫新對話補充專案資訊,常常兩三次來回之後就要另開新對話。 後期因為後來額外想顯示資料庫的資料,讓大家可以用核對而不是新增的方式確認,也是在 Claude 上就 n8n 的設定又來回了一陣子。
和上一段的過程差不多,但明顯 Claude 雖然也有亂講話的問題,但他給的內容的正確性很高,所以解決得都蠻快的 最後測試一下,無論是測試帳號還是我自己的資料都可以正常使用
在整個開發過程中,我主要使用的是 ChatGPT,因為付費版的 ChatGPT 能夠提供深入且高效的討論。但在實際分析 PDF 文本的環節,我最終選擇了 Claude API,原因在於它能直接處理 PDF 文字內容,而 OpenAI 和 Google Gemini API 雖然知名且廣泛使用,卻需要額外將 PDF 轉換成圖片才能進行分析,對我而言多了一道工序,降低了自動化流程的效率。
在探索的過程中,ChatGPT 提供了許多建議,但也曾經「騙」過我,讓我嘗試許多最終不可行的方法,這導致我意外地學了不少用不上但卻有趣的新技能,例如 JSON 格式的撰寫及 Google Cloud API 的使用。
社群與專業工程師協作的重要性
在過程中,當我遇到無法解決的問題時,幸好有加入幾個專門討論 AI 工作自動化的 LINE 社群(如知識倉鼠、偷懶辦公室)。這些社群中有許多熱心且專精的大神,當我卡關時只要在群組內求助,很快便能得到有效解法,極大地節省了摸索時間。
好不容易完成了「抓取上/下班打卡紀錄」這個功能時,又發生了日期無法 match,所以打卡紀錄每次執行都會新增一筆當天相同的資料而非更新當天的上/下班打卡紀錄,和 AI 互動到最後差點翻桌,直接 call out 求助,還順便 code review。事後我詢問了程式好朋友,為什麼會有這個問題,他告訴我,因為寫入 Google Sheet 之後,原本的日期就不是我們眼中看到的資訊了,他的格式除了 yyyy/mm/dd 以外,還會有時區、經緯度…等等,所以 AI 在抓資料是一比對,就覺得今天還沒有資料啊,自然就繼續新增,而不是更新現有資料了。要解決不難,就是在更新資料要重新判讀原有的日期欄位,但幾經嘗試一直失敗,所以我劍走偏鋒,直接改為每次抓資料時都直接砍掉重抓,反正 30 天的資料而已,還能忍受。
而最煩且煩讓人沮喪的問題是 AI 寫程式最底層的問題。三種功能其實都陷入相同的困境,原先這三大功能都是在同一個 Google Apps Script 的腳本中,每當我請 AI 修正或者調整錯誤的部份,它會重寫整段程式碼,錯的不一定改成對的,更煩的是它會覆蓋掉之前正確的部分,有時候還會不小心刪除部份程式碼。這種反覆修改的過程既耗時又令人煩躁。
解決問題靠得反而是專案管理經驗
AI 這種反覆修改是無常的,他的本質上是一個抽卡,什麼時候抽到 SSR 完全靠運氣,而且也因為版本太多,每一天在金魚腦上床睡覺前,都要決定要退回哪一個版本,才能繼續穩定提升品質,所以最後,我開始請 AI 依據我的檔案命名原則,加註 log,方便版本控管。
另外,反覆修改之下,每次都要重新測試所有功能是否正確,沒有被改到錯的,真的太累人了。有一天我靈光一閃想起以前專案管理的時候,我是用模版來處理各種活動,也會用專案 dashbaord 來匯總所有檔案與資源,所以又開啟了一個對話,和 AI 討論塊組化還有整合調用的作法以及可行性,每一次只專注一個功能,抓記錄就抓記錄、抓名單就抓名單、Slack 訊息就只寫 Slack 訊息,然後再用一個中樞管理檔案去調用,從一個大腳本拆成 6 個小腳本,才開始把產出的品質穩定下來。