Step 1|向 AI 說明你的需求(Vibe Coding 的第一個重要動作)
在 Vibe Coding 裡,最重要的不是「你會不會寫程式」,而是 你能不能清楚描述你想要的系統長什麼樣子。
以下是我在這次挑戰中給 Gemini 的需求(精煉後版本):
(Vibe Coding 需求示例)打造一套辦公室團購系統
📌 基本功能
- 我會提供一次團購的商品表,你需要:
- 辨識商品名稱
- 規格 / 份量
- 單價
- 產生「訂單範本分頁」
- 每位同仁應有自己的專屬訂單分頁:
- 能複製範本
- 可填寫數量
- 自動加總數量及金額
- 系統須避免錯誤操作:
- 僅開放數量與備註欄位可編輯
- 其他欄位自動保護
📌 彙總與對帳
- 需要一份彙總總表,包含:
- 商品名稱
- 單價
- 總數量
- 小計
- 總金額
- 彙總總表旁需再顯示:
- 每位同仁的填單內容與個人小計(明細區)
📌 自動化功能
- 系統還需要:
- 新訂單分頁建立後,發信通知團購主
- 定期偵測是否有人刪除自己的分頁並更新狀態
- 在彙總頁 A1 顯示「收單倒數計時」
這些需求透過 Vibe Coding 的方式交給 AI 後,
AI 就會開始協助思考架構、流程、欄位設計、保護邏輯,並生成 Apps Script 草稿。
接著我再與 AI 多次來回確認、調整、迭代。
Step 2|建立「範本」分頁:所有訂單的母版
範本分頁是整個系統的基底,每位同仁的個人頁都是從這裡複製的。

內容至少應包含:
- 商品名稱
- 規格 / 組合
- 單價
- 數量(由同仁填寫)
- 備註(由同仁填寫)
設計重點:
- 減少重複建置
- 所有人格式一致,不會有人缺少欄位
- 彙總計算也更準確
Step 3|建立「總名單」分頁:同仁填名字 → 按按鈕 → 生成自己的訂單
總名單是每位同仁進入系統的入口。

它包含:
- A1:操作說明(讓大家知道該怎麼開始)
- A4:表頭(項次、姓名、狀態、訂單連結)
- A5 之後:每位同仁的新資料列
流程如下:
- 同仁在 B 欄輸入名字
- 按下「產生個人訂單」按鈕
- 系統自動:
- 複製範本
- 依該同仁名稱命名分頁
- 更新狀態欄
- 自動產生前往個人訂單的連結
補充:根據最一開始跟 Gemini 提出需要偵錯是否有人刪除訂單,它便設計一段 code 在 C 欄顯示方便團購主確認
不過,要讓這個流程順利運作,你需要先在試算表中建立一個能觸發這段程式的按鈕。
Google 試算表內建並沒有「自動產生按鈕」的功能,因此這一步需要手動建立並綁定。
關鍵步驟:建立「產生個人訂單」按鈕,讓系統真正動起來
這個按鈕需要靠「插入繪圖」的方式建立,接著再手動綁定 Apps Script 裡的指定 createPersonalSheet() 函數。
以下是建立按鈕的步驟:
① 在 Google 試算表中建立按鈕外觀
- 點選上方選單 插入 → 繪圖
- 開啟繪圖視窗後,建立一個簡單按鈕(例如:圓角方形)
- 在圖形裡輸入文字,如:
「產生個人訂單」 - 儲存並插入到工作表中
- 將按鈕拖曳到總名單中你想擺放的位置
這個按鈕只是外觀,還不能動,下一步才是關鍵。
② 將按鈕綁定到 Apps Script 的 createPersonalSheet()
按鈕插入後:
- 點一下按鈕
- 完成後,這顆按鈕就與你的 Apps Script 裡的
createPersonalSheet()函數連動了。 - 在跳出的輸入框輸入:
createPersonalSheet - 按下確定
完成後,這顆按鈕就與你的 Apps Script 裡的 createPersonalSheet() 函數連動了。
Step 4|保護與驗證設定:避免同仁誤操作,把表單弄壞
在實際辦公室使用情境中,最常發生的不是「不填」,而是——不小心亂改、誤刪、覆蓋公式。
因此在這套團購系統中,保護與驗證是非常關鍵的一環!
在每一位同仁的「個人訂單分頁」中,系統會自動完成以下設定:
- 僅開放可填寫欄位
- 數量欄(E 欄):只能輸入數字
- 備註欄(G 欄):自由填寫(備註口味組合)
- 其餘欄位全面鎖定
- 商品名稱
- 單價
- 計算公式
- 表格結構
這樣的好處是:
- 同仁不需要懂試算表,也不怕填錯
- 團購主不用一直救火、修表
- 彙總時計算邏輯維持一致、不會被破壞
對團購主來說,這一步等於是替整份表單加上「防呆保險」。
Step 5|自動檢查訂單分頁狀態:有人刪單,系統會知道
在多人共用的試算表中,很常出現這種情況:
- 同仁不小心把自己的分頁刪掉
- 覺得「我不訂了」就直接刪頁
- 或複製錯分頁、導致連結失效
如果沒有額外處理,團購主很容易以為對方「已填單」,實際上卻早就沒有任何訂購內容。
因此在這套系統中,我們加上了一個定期自動巡檢機制:
- 系統每 5 分鐘自動檢查一次
- 針對「狀態顯示為已建立訂單」的同仁
- 確認其對應的個人訂單分頁是否仍然存在
如果發現:
- 分頁已被刪除
- 或找不到對應名稱的分頁
系統就會自動:
- 將該同仁狀態改回「待填寫」
- 清除原本的訂單連結
這樣團購主只要看「總名單」,就能即時掌握:誰是真的有訂、誰其實已經退訂。
Step 6|一鍵產生彙總總表:總數量、金額、個人小計一次搞定
當所有同仁都填完訂單後,
團購主最在意的,通常是這三件事:
- 每個商品總共要訂多少?
- 總金額是多少?
- 每個人各自要付多少錢?
這些,全部交給「彙總總表」!

只要點擊一次「更新彙總總表」!
系統就會:
左側|商品彙總區
- 依商品名稱+規格+備註進行彙整
- 顯示:
- 商品名稱
- 規格/組合
- 備註
- 總數量
- 單價
- 小計
- 最下方自動計算 整團總金額
右側|同仁訂購明細區
- 逐一列出每位同仁的訂購內容
- 顯示每筆明細
- 並在每位同仁結尾自動產生「個人小計」
這樣一來:
- 團購主不用再人工整理
- 對帳、收款、下單一次完成
- 也能快速回覆同仁「你要付多少錢」
Step 7|收單倒數計時:不用再一直提醒,表單自己會說話
為了避免出現「我以為還沒截止」的經典場景,系統在彙總總表的 A1 設計了 收單倒數計時提醒。

當表單被打開時,系統會自動判斷:
- 若尚未截止
- 顯示黃色底
- 清楚標示「還剩幾天幾小時幾分鐘」
- 若已超過截止時間
- 顯示紅色底
- 直接標示「🛑 收單已截止」
這樣同仁一打開表單就知道狀態,團購主也不用一個一個私訊提醒。
這個團購系統,為什麼很適合當 Vibe Coding 入門案例?
回頭看這次的挑戰,其實你會發現:
- 它不是大型、高複雜度的系統
- 涵蓋了真實職場會遇到的問題
- 完整體現了 Vibe Coding 的核心精神──以日常溝通方式與 AI 協作完成開發工作
幾個關鍵原因:
- ✅ 問題夠具體(辦公室團購)
- ✅ 使用情境明確、需求可描述
- ✅ 功能可以逐步追加、反覆優化
- ✅ 非工程師也能理解整體邏輯
對第一次嘗試 Vibe Coding 的人來說,這類「解決生活或工作的實際麻煩」的案例,往往比抽象的技術示範更有成就感。
延伸應用:這套邏輯還可以用在哪?
只要換個情境,這套架構其實可以直接複製:
- 辦公室飲料訂購
- 便當/下午茶統計
- 福委福利申請
- 內部教材或書籍團購
- 活動報名+人數統計
你只需要改下列內容整個流程就能再次運作:
- 範本內容
- 欄位名稱
- 計算邏輯
小編結語|Vibe Coding,不是為了寫程式,而是為了解決問題
這次的 Vibe Coding 挑戰,不是為了證明「我多會用 AI 寫程式」,而是想示範一件事:
當你能清楚描述需求,AI 就能成為你的開發夥伴。
如果你也曾想過:
- 「這個流程好煩,有沒有更快的方法?」
- 「我其實有想法,但不知道怎麼開始做工具?」
那 Vibe Coding,很可能就是你正在找的入口。
接下來,我們也會陸續分享更多不同情境的 Vibe Coding 實作案例,包含飲料訂購、會議倒數等。
延伸學習推薦|跟著緯育 TibaMe,把 Vibe Coding 玩得更完整
如果你希望:
- 更完整理解 Vibe Coding 的思考方式
- 知道如何和 AI 協作,而不只是「請它寫 code」
- 把 AI 真正用在工作流程、專案或實際情境中
可以參考緯育 TibaMe 推出的這堂課程👇

點擊看更多👉 https://www.tibame.com/course/6161
這堂課會帶你:
- 從需求拆解開始,而不是直接丟程式碼
- 學會如何和 AI 對話、修正、迭代
- 用實際案例,練習把想法轉成可執行的工具
如果你喜歡這篇「Vibe Coding 挑戰」的實作風,之後小編也會持續分享更多 Vibe Coding 的實戰案例,包含飲料訂購、會議倒數等主題。
最後,也歡迎你一起加入挑戰,把 AI 真正用進你的工作裡 🚀
