1 / 22
Vibe Coding 1 小時工作坊講義
主題:用 AI 把「計畫書」做成單頁活動頁
(含共用設計指引、圖片與表單串接)
請按 [空白鍵] 或 [方向鍵 ↓] 繼續
0. 這堂課要做出什麼成果
一小時結束時,每位同仁要學到兩樣東西:
- 一個「可正常開啟、手機與桌機都能看」的單頁活動頁(HTML + CSS)。
- 一份「我們單位可共用」的設計指引草案(配色、字體、間距、按鈕樣式、圖片規格),之後做新活動頁可以直接套用。
補充:講義裡用到的「Vibe Coding」指的是用自然語言引導 AI 產碼、再用你的人腦做目標、規格、測試與修正。這個詞最早是 Andrej Karpathy 在 2025 年提出的說法。
清楚定義:不是所有 AI 輔助寫程式都等於「完全不看程式碼」。我們今天採用的是「看得懂、能維護」的做法。
1. 一小時流程
| 時間 |
你要做的事 |
產出 |
| 0:00–0:05 |
開場:今天只做「單頁活動頁」,先求能用、再求漂亮 |
共識與範圍 |
| 0:05–0:15 |
目標設定:受眾、來源、要他做什麼(只有一個主要 CTA) |
目標句 + CTA |
| 0:15–0:25 |
先「線框」再「產碼」:把計畫書轉成網頁規格(4–5 段落) |
網頁規格表 |
| 0:25–0:40 |
產出乾淨 HTML/CSS(先白底、先不加特效)+基本 RWD 檢查 |
第一版 HTML |
| 0:40–0:50 |
做共用設計指引:配色、字體、按鈕、間距、圖片規格 |
設計指引草案 |
| 0:50–0:58 |
表單策略:Google Forms vs Google Sheets(Apps Script) |
選方案 + 下一步 |
| 0:58–1:00 |
收尾:檢核清單、怎麼避免 AI 聊到後面變笨 |
帶走清單 |
2. 核心觀念先講完
2.1 目標設定:先把「誰」跟「要做什麼」搞清楚
你做的是活動頁(Landing Page),重點是「單一目標」。頁面上可以有很多資訊,但主要行動只保留一個(例如:報名、索取簡章、加入候補)。
因為:活動頁如果塞太多路徑,轉換率通常會變差。
核心 Prompt 句型(後面都會用到):
「給【誰】看,從【哪裡來】,看完要做【一件事】,完成後我們要給他【什麼】。」
例:給「企業主」看,從「FB/EDM」來,看完要「填表索取簡章」,填完就「拿到課表 PDF」。
2.2 CTA 文案不要太空泛
CTA 很常被 AI 寫成「立即開始」「了解更多」這種萬用詞,但 UX 研究指出這種字眼容易誤導、資訊氣味不足。
建議改成「動作 + 回饋」:
- 索取簡章(立刻寄到信箱)
- 我要報名(保留名額)
- 加入候補(開放通知我)
- 預約諮詢(15 分鐘)
2.3 先線框(wireframe)再產碼
「先做 landing page 線框/骨架,再把內容填進去」。
流程固定成:
計畫書 →(AI)網頁規格表/線框 →(AI)乾淨 HTML/CSS →(人)檢查與修正 →(AI)套用設計指引再輸出一次
2.4 RWD 與 2.5 可讀性
RWD (響應式設計):
- 有正確 viewport 設定
- 版面會跟著螢幕寬度變化
- 圖片能縮放、不會把版面撐爆
無障礙 (可讀性):
- 對比度是最常見的坑。
- WCAG 基本要求:文字對背景要有足夠對比(至少 4.5:1)。
3. 實作流程
Step 1:準備你的「輸入材料」
每位同仁先準備以下四樣(不完整也沒關係):
- 一份正在進行中的計畫書(或招生簡章文字)
- 受眾一句話(誰)
- CTA 一句話(要做什麼)
- 單位/活動 Logo(沒有也先用文字版)
Step 2:建立專案資料夾
/活動頁專案/2026-xx-xx_某某課程/
index.html
assets/ (放圖片)
copy/ (放計畫書文字、CTA 文案)
spec/ (放設計指引與規格表)
目的:圖片路徑、檔案路徑會一致,之後換人接手也不會迷路。
Step 3:用 AI 先產「網頁規格表」(先不要叫它寫整頁 HTML)
Prompt(可直接複製改字):
「你是我們的網頁規格開發師。我要做一個單頁活動頁(白底、先不做動畫),目標受眾是:【___】。使用者來源是:【___】。唯一主要 CTA 是:【___】。
請把計畫書內容整理成『單頁活動頁規格表』,規格表至少要有:
(1) 區塊名稱(最多 5 個主區塊)
(2) 這一區要達成的目的
(3) 需要放的文字(用台灣常見用語、不要官腔)
(4) 需要的素材清單(Logo、照片、圖示、PDF 連結等)
(5) CTA 在哪裡出現(建議重複幾次、每次文案要一致)
另外請提醒我:哪些資訊缺了會影響轉換(例如時間、費用、地點、對象、名額)。」
你會拿到一份「可檢查、可討論」的規格表。
Step 4:把規格表壓成「4–5 段落」的單頁結構
常見的活動頁骨架(給沒有設計背景的人用):
- Hero 首屏:課程一句話價值 + 主要 CTA
- 課程亮點:你為誰解決什麼問題(2–4 點就好)
- 課程資訊:時間、地點、費用、名額、適合誰
- 信任元素:講師/單位、學員回饋、合作單位
- FAQ/注意事項 + 再一次 CTA
原則:首屏要清楚、CTA 要醒目、避免把人帶走。
Step 5:再叫 AI 產「乾淨 HTML/CSS」(先求能用)
Prompt:
「請依照你剛剛給的單頁規格表,輸出一份乾淨的 index.html ,要求:
1. 只有 HTML + CSS(可放在 <style> ),不使用任何外部框架(先不要 Tailwind/Bootstrap)
2. 白色底色、字要好讀
3. 有正確的 viewport
4. 區塊用語意化標籤(header/section/footer)
5. 每個圖片位置先放 placeholder(例如 <img> 但用假連結或註解標記),之後我會換成真圖
6. 版面要有基本 RWD:手機寬度下字不會超出、按鈕好點
7. CTA 按鈕文案請用【___】(全頁一致)
輸出時只給我一份可以直接存成 index.html 的完整內容。」
Step 6:第一次檢視(這一步要用「人腦」)
請照這 4 個點檢查:
- 能不能正常開啟(桌機 Chrome/Edge 任一個)
- 內容順序跟段落有沒有怪怪的怪的怪的(有怪怪的怪的就回去改規格表,不要硬修 CSS)
- 圖片預留位子看起來順不順(比例、大小、位置)
- 手機看起來是否一致(用瀏覽器的裝置模擬即可)
注意:圖片如果會撐爆版面,通常是少了「讓圖片縮放」的做法。
4. 風格與共用設計指引
今天要做出一份「我們的共識」。
4.1 為什麼要做「資產管理」
同一個單位如果每次活動頁都長得不一樣,長期會累積兩個成本:
- 內部溝通成本(每次都要重新講喜好)
- 對外辨識成本(看不出是同一個單位)
最小可行版本:把 Logo、顏色、字體、按鈕、圖片規格訂出來。
4.2 用 AI 產出「可重複使用」的設計規格清單
Prompt:
「我現在要建立我們單位的『單頁活動頁設計指引 v0.1』。我會提供 Logo(或品牌色)。請你輸出一份可重複使用的規格清單,內容至少包含:
1. 色彩:主色、輔色、文字色、背景色、分隔線色(請給 HEX),並說明各自用途
2. 字體與字級:標題/內文/註解的字級建議(用 px 或 rem),行高建議
3. 間距系統:區塊上下間距、段落間距、按鈕 padding 建議
4. 元件:按鈕(主/次)、卡片、區塊標題的樣式規則
5. 圖片:建議比例(例如 16:9、1:1)、建議大小與壓縮提醒
輸出時請用『設計 Token(CSS 變數)』方式呈現,讓我可以直接貼進 CSS 裡。」
4.3 合併規格,再輸出第二版 HTML
先修內容、再出排版規範、再合併重產 HTML。
Prompt:
「以下是我們單位的設計指引(含 CSS Tokens)。請你把它套用到目前的 index.html 。要求:
1. 不改動原本內容結構(區塊順序不變)
2. 只調整字體、顏色、間距、按鈕樣式、卡片樣式
3. 仍然保持白底、乾淨、可讀
4. 保留圖片 placeholder 與連結 placeholder
請輸出更新後的完整 index.html 。」
5. 圖片怎麼放:兩條路都講清楚
5.1 放在同一個資料夾(相對路徑)- 最建議
assets/hero.jpg
assets/logo.png
優點:檔案小、瀏覽器快取有效、換圖容易、部署最穩。
5.2 用 Base64(data URL)內嵌
把圖片變成 data: URL 塞進 img src。
適合:很小的圖示、少量小圖(例如 icon)。
不適合:大圖、很多圖、影片(檔案會暴增、載入慢)。
6. 表單新增:Google Forms vs Sheets
| 方案 |
適合情境 |
優點 |
代價/風險 |
| Google Forms |
先求快、先求穩;資料欄位不複雜 |
最省事、權限跟防護較省心;同仁也熟 |
外觀客製有限;流程比較「像表單」 |
| Google Sheets + Apps Script |
需要自訂 UI、想要「像你自己的網站」的表單 |
外觀完全可控;資料直接進 Sheets |
權限、安全與維護成本較高;易遇 CORS 問題 |
如果要「最快上線」:用 Google Forms(嵌入或連結)。
6.3 Apps Script 寫入第一個工作表(範例碼)
如果你要「自訂表單寫入 Sheets」,這是比 Active Tab 更穩的做法。
const SPREADSHEET_ID = "把你的試算表 ID 放這裡";
const TOKEN = "簡單的共享密鑰,避免被亂灌";
function doPost(e) {
try {
const data = e.parameter; // 適合 x-www-form-urlencoded
if (data.token !== TOKEN) {
return ContentService.createTextOutput("unauthorized");
}
const ss = SpreadsheetApp.openById(SPREADSHEET_ID);
const sheet = ss.getSheets()[0]; // 不怕分頁改名
sheet.appendRow([
new Date(),
data.name || "",
data.email || "",
data.phone || "",
data.role || "",
data.note || ""
]);
return ContentService.createTextOutput("ok");
} catch (err) {
return ContentService.createTextOutput("error");
}
}
注意:A) 初階用 HTML form action 直接 POST;B) 進階用 fetch 但避免 application/json (會觸發預檢)。
7. AI 變笨、變慢、甚至開始亂掰:怎麼處理
討論串太長時,模型容易「忘記前面你定過的規格」,這時候硬聊只會更糟。
標準動作:
- 先把目前定案的東西整理成「一頁摘要」:
- 目標受眾、來源、主要 CTA
- 五個區塊名稱與順序
- 設計指引(CSS tokens)
- 不能改的規則
- 開新對話,把「一頁摘要」貼上,然後再繼續做下一版。
如果用 ChatGPT,建議直接用 Projects 管理。
8. 附錄 A:可直接複製的 Prompt 套件
A1 網頁規格表(必用)
「你是網頁規格開發師。目標受眾:【】;來源:【】;唯一主要 CTA:【】。請把以下內容整理成單頁活動頁規格表(最多 5 區塊),並列出每區目的、放哪些文字、需要哪些素材、CTA 放哪裡。文字用台灣常見說法,不要官腔。內容如下:【貼計畫書】」
A2 乾淨 HTML(第一版)
「請依照規格表輸出 index.html :白底、無特效、語意化標籤、圖片 placeholder、CTA 文案全頁一致,並有基本 RWD(手機不爆版)。只輸出完整 HTML。」
A3 設計指引(CSS tokens)
「請基於 Logo/品牌色,輸出設計指引 v0.1:主色/輔色/文字色/背景色(HEX)、字級與行高、間距規則、按鈕樣式、卡片樣式、圖片比例建議。用 CSS 變數呈現,並說明用途。」
A4 套版重產(第二版)
「以下是設計指引(CSS tokens)+目前 HTML。請保留內容結構不變,只調整視覺樣式並維持 RWD。輸出更新後完整 index.html 。」
9. 附錄 B:上線前 60 秒檢核
(再三確認)
- [ ] 首屏 5 秒內看得懂「這是什麼活動」+「我該做什麼」
- [ ] CTA 只有一個主要動作,文案一致
- [ ] 手機不爆版(字不超出、按鈕好按)
- [ ] 對比度夠(不要淡灰字配白底)
- [ ] 圖片路徑正確(建議用 assets/ 相對路徑)
- [ ] 若用 Apps Script:部署權限與風險有人負責(不確定就先用 Google Forms)
10. 附錄 C:用語快修
避免 AI/陸式語感,改成台灣常用說法:
| 避免 (AI/陸式) |
建議 (台灣) |
| 用戶 | 使用者 |
| 項目 | 專案 |
| 渠道 | 管道/通路 |
| 落地 | 上路/實作/推動 |
| 視頻 | 影片 |
| 程序 (software) | 程式 |
| 物料 | 素材/圖片/檔案 |
| 立刻/立即 | 現在 / (刪除) |