Vibe Coding — Stage 1 · 用 AI
M1-3

Vibe Coding 實戰課 — Stage 1 · 用 AI

GAS 自動化
入門

AI 幫你寫程式,你只需要說需求

M1-3 3 小時 6 輪循環 帶走自動化

按 → 或空白鍵開始

前情提要

M1-1
AI 聊天做網頁
M1-2
多模態讀懂世界
M1-3
GAS 自動化

M1-1 你學會了跟 AI 聊天做作品
M1-2 你學會了讓 AI 讀圖、讀文件
今天要把這些能力串起來 — 讓程式在背景自動跑

六輪循環,逐層遞進

Round 1
GAS 展示說明
Round 2
拍菜單建表單
Round 3
觸發器+Sheet
Round 4
三步除錯法
Round 5
三平台比較
Round 6
回顧 + 下一步預告

每一輪的節奏
操作 → 觀察 → 分析 → 升級 → 驗證
今天的終極目標:做出一個在背景自動跑的系統

ROUND 1 · 0:00–0:15

GAS 是什麼
為什麼要學

先看效果,再拆原理

Live Demo — 課程報名自動化

這套系統就是你現在報名 Vibe Coding 用的那一套

1
前台 — 學員填報名表

aipath.cooperation.tw/vibe-coding/

2
後台 — GAS 處理報名資料

script.google.com/d/.../edit

3
資料庫 — Google Sheet 自動累積

docs.google.com/spreadsheets/...

這堂課結束時
你也會做出一套類似的自動化系統

Apps Script Editor 長這樣

script.google.com
</> 編輯器
觸發器
📋 執行項目
⚙️ 專案設定
▼ Code.gs
function myFunction() {
// 把 AI 寫的程式碼貼這裡
SpreadsheetApp.getActiveSheet()
.appendRow(['測試']);
}
左邊四個選單就是你今天會用到的全部功能

三件事讓你不害怕

就是文字編輯器

跟記事本一樣
把程式碼貼進去就好

程式碼不用你寫

AI 寫,你貼
這就是 M1-3 的核心流程

觸發器像設鬧鐘

左側「觸發器」選單
不需要寫程式設定

GAS = Google 內建的自動化工具

0
需要安裝的東西
0
需要花的錢

有 Google 帳號就能用
不用裝任何軟體、不用租伺服器、不用學寫程式

GAS 能操作的 Google 服務

Sheet

讀寫試算表
自動統計

Form

自動建立表單
收回覆觸發動作

Gmail

自動寄信
讀取信件

Calendar

建立行程
時間到提醒

Drive

管理檔案
自動整理

今天的目標

你做出一個自動化
下課前它會在背景自動跑
拍菜單
AI 建表單
自動統計
同事真的在用

心理建設

等一下你會看到程式碼
不用怕
你需要會的三件事

會貼 — 把 AI 給的程式碼貼進編輯器
會跑 — 按下執行按鈕
會把錯誤丟給 AI — 截圖貼回去讓 AI 修

Round 1 小結

GAS = 你的免費自動化引擎

不用安裝、不用花錢、不用會寫程式
AI 寫 → 你貼 → 設觸發器 → 自動跑

ROUND 2 · 0:15–0:35

拍一張菜單
AI 變成表單

一張照片 + 兩步 AI = 可用的系統

選一個素材開始

用手機拍一張你身邊的實體素材,AI 幫你變成數位表單

飲料店菜單

團購訂飲料表單
品項+冰塊+甜度+數量
最實用

便當店菜單

午餐訂便當表單
主菜+配菜+白飯/糙米
每天都用得到

Pizza 傳單

部門聚餐投票表單
口味+大小+數量
選擇困難救星

咖啡廳黑板

下午茶統計表單
手寫字考驗辨識力
AI OCR 挑戰

公司紙本簽到表

數位簽到表單
姓名+部門+時間
無紙化第一步

活動海報/傳單

活動報名表單
姓名+人數+場次
路邊撿的也能用

Step 1 — 讓 AI 讀懂菜單

丟給 AI 的指令
這是一張飲料店菜單
辨識所有品項、價格、可選規格
整理成結構化清單
結果

AI 回傳乾淨的結構化資料
品名、價格、冰塊選項、甜度選項 — 全部辨識完成

10x
AI 讀圖比你手打快

Step 2 — AI 寫 GAS 建表單

接續上一步,告訴 AI
根據這份清單
寫一個 GAS,自動建立 Google Form
標題「XX 飲料團購單」
每個品項是一個區塊
包含數量和規格選項

AI 會回傳一整段程式碼
你不需要讀懂,只需要貼進 Apps Script Editor

Step 3 — 貼進去、授權、執行

1
開啟 Apps Script Editor

script.google.com → 新專案

2
全選 → 貼上 AI 的程式碼

取代預設的空白函式

3
按「執行」→ 授權

第一次執行需要允許程式操作你的 Google 服務

4
去 Google Drive 找表單

表單已經自動建好了

授權畫面看起來很可怕?

你看到的警告

「這個應用程式未經驗證」
「可能不安全」
紅色警告文字

實際情況

這是你帳號裡的腳本
但程式碼來源是 AI
授權前要先看權限範圍

記住

先用測試表單 / 測試 Sheet
不要放敏感資料
看到 Gmail / Drive 全域權限先停下來問老師

把連結丟到班群

大家真的來點飲料
一張照片
AI 讀懂
AI 寫碼
可用的表單

全程不到 10 分鐘
你做的第一個自動化工具,馬上有人用

串了兩個 AI 能力

M1-2 多模態

OCR + 結構化
讓 AI 讀懂實體世界

M1-3 自動化

GAS 建表單
讓程式代替人工

兩步 AI → 一個成果 →「用 AI 串起流程」的雛形

Round 2 常見問題

!
手寫菜單辨識率低

有些字讀錯 → AI OCR 不是 100%,要人工檢查

!
AI 的 GAS 跑出 error

不急 — Round 4 專門教除錯

!
表單選項跟原菜單對不上

AI 辨識結果要人工核對

概念引出

OCR + 自動化

紙本和數位世界的橋樑
數位化的第一步

授權 Authorization

程式操作你的 Google 服務
需要你的許可

Round 2 小結

一張照片就能啟動自動化

AI 讀圖(M1-2)+ AI 寫碼(M1-3)
兩步串接,從紙本到數位表單不到 10 分鐘

ROUND 3 · 0:35–0:55

逐步加需求
看 AI 怎麼長出系統

no-code 精神:你說 → AI 寫 → 你驗證
每加一個需求,就回 GAS 看 AI 怎麼套用

no-code 的循環

在 Prompt
加一個需求
AI 給你
新版程式碼
貼進 GAS
看 AI 怎麼寫
執行 + 看 Sheet
驗證結果
本輪重點

不是教你怎麼點 GAS 的選單
是教你怎麼讓 AI 一步一步長出完整系統

Step 1 — 第一版需求

跟 AI 說
幫我寫一個 GAS
讀取我這個 Google Form 的回覆
統計每個品項的訂購數量
回 GAS 看什麼

AI 給你的程式碼貼進 Apps Script
觀察它怎麼用 SpreadsheetApp 讀 Sheet 的欄位
不用看懂每一行,看「它讀了哪一欄、寫到哪一欄」

Step 2 — 加上「自動」這個需求

繼續跟 AI 說
很好
現在我希望表單一收到新回覆
就自動執行這段統計
不用我手動點
回 GAS 看什麼

AI 會教你到「觸發器」頁面新增一個 onFormSubmit
你照做,看到觸發器列表多了一筆
這就是「鬧鐘」被裝上了

Step 3 — 加上「時間紀錄」這個需求

再加一個
每次統計時,順便加上時間戳
讓我知道是什麼時候更新的
回 GAS 看什麼

AI 在統計程式裡多加了一行 new Date()
填到 Sheet 的某一欄
你重新貼程式碼,再執行一次

Step 4 — 完整跑一次驗證

填一次表單
觸發器自動執行
Sheet 多了統計
時間戳自動填
no-code 的成果驗證

你沒寫一行程式碼
但透過三次「加需求 → 看 AI 寫 → 驗證套用」
長出了一套有觸發器、有統計、有時間戳的完整系統

自動化三要素

觸發條件

什麼事件啟動程式
表單提交 / 時間到 / 新資料

執行邏輯

程式要做什麼
統計、寄信、搬資料

確認機制

怎麼知道它有跑
執行記錄、結果驗證

三要素齊全 = 一個完整的自動化系統

Round 3 常見問題

觸發器設了但沒效果

「它真的有跑嗎?」
設了之後不知道怎麼確認

解法:看執行記錄

Apps Script → 左側「執行項目」
每次觸發都有紀錄
成功/失敗一目了然

注意:欄位名稱對不上

常見情境
Sheet 的欄位叫「您想喝什麼?」
但 AI 寫的程式碼找的是「品項」
→ 找不到欄位 → 報錯
解法

AI 不知道你的 Sheet 長什麼樣
把 Sheet 的欄位名稱截圖或列出來告訴 AI

學會看執行記錄

1
Apps Script 左側 →「執行項目」

所有執行紀錄都在這裡

2
綠色 = 成功,紅色 = 失敗

點開可以看到詳細的錯誤訊息

3
確認觸發時間是否正確

每次表單提交都應該有一筆紀錄

Round 3 小結 — 你拼出了什麼

Step 1
表單接 Sheet
+
Step 2
AI 寫統計程式
+
Step 3
觸發器
+
Step 4
驗證

= 第一個完整自動化系統上線

四個 Step 拼起來才算完整
少一個都跑不起來,這就是「系統」的概念

ROUND 4 · 0:55–1:15

三步除錯法
Error 不是失敗

R3 過程中你一定遇過紅字錯誤
這 20 分鐘把處理錯誤的肌肉練起來

R3 你大概遇過這些

找不到欄位

AI 寫的欄位名
跟你 Sheet 不一樣

權限不夠

第一次執行
沒同意授權

函式名打錯

AI 用了不存在的
API 名稱(幻覺)

這些錯誤不需要避免 — 遇到才有機會學會處理
下一頁學三步除錯法,把它變成你的反射動作

三步除錯法

Step 1 — 看

看錯誤訊息
截圖保留完整畫面

Step 2 — 丟

把截圖丟給 AI
「這是我跑出來的錯誤
請幫我修」

Step 3 — 貼

AI 給修正版
貼回去再跑一次

來回 2-3 次就能修好

Error
複製執行記錄
貼給 AI
貼修正版回 GAS
你不需要看懂程式碼
你只需要會「複製貼上」

你不需要看懂程式碼

不需要做的事
  • 在程式碼裡找第幾行
  • 看懂 TypeError 是什麼
  • 判斷哪一個變數錯了
你只要做的事
  • 把執行記錄整段複製
  • 貼給 AI
  • 說「幫我修」

執行記錄在哪裡複製

Apps Script — 執行項目
編輯器
觸發器
① 點這裡
專案設定
❌ 失敗
TypeError: Cannot read properties of undefined
at myFunction (Code.gs:12:18)
at __GS_INTERNAL_top_function...
② 整段選起來複製(Cmd+A → Cmd+C)

貼給 AI 的格式

直接複製貼上
這是執行記錄,幫我修

[把整段執行記錄貼這裡]
為什麼這樣就夠

執行記錄裡已經有 AI 需要的全部資訊
錯誤類型、出錯位置、相關程式碼
你不需要當翻譯,AI 自己看得懂

進階:在 prompt 裡預先要求好除錯資訊

在每個需求 prompt 後面加這句
請在程式裡加上 Logger.log
記錄每個關鍵步驟的執行狀態
方便我看執行記錄追蹤問題
效果

執行記錄會自動印出每一步做了什麼
出錯時你不只看到錯誤,還看到「錯之前發生了什麼」
下次貼給 AI,它修得更準

Error-driven Development

錯誤不是失敗
是進步的訊號
專業工程師也是這樣工作的

寫程式 → 跑 → 報錯 → 修 → 再跑
差別只在描述錯誤和修復的速度

Round 4 關卡 — 你打通了嗎

看到錯誤訊息不再慌

知道紅字是訊號,不是失敗

會把行數和關鍵字告訴 AI

不再說「程式壞了,幫我修」

R3 遇到的錯誤至少修好一個

親手跑過一次「看 → 丟 → 貼」的循環

三項都打勾 = 你打通了

從現在開始,遇到任何 Error
都不會卡住你 — 進入 Round 5

ROUND 5 · 1:15–1:35

三平台
寫 GAS 比較

同一個任務問三個 AI
看哪一個的回答方式最適合你的習慣

操作:同一個需求,三個平台

統一需求
Sheet 有新資料時
自動統計各品項的數量
把結果寫到統計表
ChatGPT
Claude
Gemini

分別把同一段需求貼到三個 AI
比較回傳的 GAS 程式碼

三平台 GAS 輸出的常見差異

Gemini

跟 Google 生態整合
但也常搞錯指令
實測才知道

Claude

附詳細中文註解
程式結構清晰
適合學習理解

ChatGPT

給完整可跑版本
包含錯誤處理
直接貼就能用

這只是常見傾向,不是絕對
同一題你問三次可能拿到三種答案

怎麼選 — 看你自己的習慣

你比較在意 可能適合的方向
看懂程式碼在做什麼 找註解詳細的那個
貼了就能跑,不想改 找完整度高的那個
來回問細節都耐心回 找對話順暢的那個

「最適合」沒有標準答案 — 親自跑過才知道哪個對你的胃口

注意:AI 幻覺

實際案例

Claude 偶爾用到不存在的 GAS API
函式名稱看起來很像,但 Google 根本沒有這個功能

回扣 M1-1

AI 會「一本正經地胡說八道」
這就是 M1-1 提過的 AI 風險 — 幻覺
程式碼也會有幻覺,不只是文字

怎麼驗證 AI 寫的程式碼

1
跑看看

能跑 ≠ 正確,但不能跑 = 一定有問題

2
看結果

Sheet 裡的統計數字對不對

3
換一個 AI 覆查

把程式碼給另一個 AI 看 —「這段有沒有問題」

概念引出

不是「哪個 AI 最強」
是「這個任務哪個 AI 最適合」

M1-1 學了指令技巧 → M1-3 加上工具選擇
指令品質 + 工具選擇 = 更好的產出

Round 5 小結

選對工具比選最強工具重要

三個平台都會有幻覺、都會搞錯指令
差別在「誰的回答方式適合你的工作習慣」
選對工具不靠別人推薦,靠自己實測

ROUND 6 · 1:35–1:45

回顧
銜接下一堂

盤點收穫,看見下一步

六維度自評

自動化完整度
觸發→執行→結果
三要素是否齊全
觸發可靠度
觸發器是否穩定
每次都有跑
除錯效率
幾輪來回修好
描述精準度
程式碼理解度
不用看懂全部
知道大概在做什麼
實用性
做出來的東西
真的有人在用嗎
總體效果
從零到自動化
花了多少時間

今天做到了什麼

V
一張照片變成數位表單

OCR + GAS,紙本到數位不到 10 分鐘

V
觸發器讓程式自動跑

表單提交 → 自動統計 → Sheet 更新

V
學會三步除錯法

看 → 丟 → 貼,Error 不再可怕

V
知道不同 AI 的強項

GAS 場景選 Gemini,想看懂選 Claude

GAS 做到了,但也有邊界

已經能做的

建表單
統計資料
觸發自動化
在 Google 生態內運作

還不能做的

做對外的網頁
串接 AI API
發 Telegram 通知
讓外部使用者互動

下一堂會用:doGet() 可以做網頁

GAS 有一個隱藏功能
function doGet() {
  return HtmlService.createHtmlOutput("Hello!");
}

→ 部署後你會拿到一個公開網址
→ 任何人都能打開
M1-4 預告

下一堂會用 doGet() 做一個真正的網頁
有網址、有介面、任何人都能用

下一堂會用:GAS 串外部 API

GAS
AI API
智慧回覆
GAS
Telegram API
自動通知
M1-4 預告

GAS + AI API + Telegram = 你的第一個對外服務
有網頁、有 AI、有通知

故事線延續

一張飲料菜單
團購表單
自動統計
自動統計
M1-4:通知老闆去買

每一堂都在同一個專案上疊加新能力
飲料團購系統會越來越完整

帶走清單

本堂定位 第一次嘗試串流程 + 跨系統的觀念

不只學了什麼,是想法怎麼變了
從「我補流程的洞」→ 流程開始替我分工

從「重複做就忍一下」
重複就是系統訊號
從「資料先手打吧」
現場也能長出流程
從「我得盯著更新」
事件可以自己接手
從「錯了只能重做」
錯誤是可追的路徑
從「哪個平台都行」
平台決定流程形狀
從「只是省點時間」
自動化改寫分工

M1-3 注意事項總覽

# 常見問題 學到什麼
1手寫菜單 AI 辨識率低OCR 要人工核對
2授權畫面嚇人授權 = 允許程式操作帳號
3觸發器設了不知道有沒有跑確認機制(執行記錄)
4AI 程式碼貼進去報 error三步除錯法
5Claude 用到不存在的 GAS API幻覺 + 工具選場景

NEXT UP

M1-4
GAS 串接 API + 網頁 + TG Bot

你的第一個對外服務 — 有網頁、有 AI、有通知

doGet() 做網頁 串 AI API Telegram 通知

AI 幫你寫程式
你只需要說需求

一張菜單 → 團購表單 → 自動統計 → 下一堂加通知

M1-3 完成

1 / 60
章節