Vibe Coding 實戰課 — Stage 1 · 用 AI
從指令品質到產出品質的因果關係
按 → 或空白鍵開始
每一輪的節奏
操作 → 觀察 → 分析 → 升級 → 驗證
每一輪新增一層能力,前一輪的方法持續使用
ROUND 1 · 0:00–0:20
目前的能力水位,就是後續升級的基準線
打開 Claude 或 ChatGPT
輸入一句指令,請 AI 產出一個個人網頁
用你現在想得到的方式描述需求
不需要任何技巧 — 這一輪的目的是建立基準,不是追求品質
以下三個是常見起點,下次可以嘗試
Round 1 結束後再回來看
A:幫我做一個自我介紹網頁 B:做一個我的作品集頁面 C:做一個活動報名頁
差距會在後續輪次中被量化
Claude → 按「Publish」取得連結
ChatGPT → 按「Preview」取得連結
或將程式碼存成 .html 檔案,直接在瀏覽器開啟
Publish / Preview 連結或 .html 檔案皆可
瀏覽版面、配色、內容完整度
不排名、不比較好壞,只觀察差異本身
清晰的區塊分隔
資訊層次是否可辨
配色是否統一
字級是否有層次感
資訊是否齊備
有無明顯遺漏
ROUND 2 · 0:20–0:50
從 Round 1 的差異中提取可複製的方法
Round 1 中品質較高的作品,不是運氣 — 是指令結構更完整
幫我做一個網頁
AI 缺乏上下文,只能產出最基礎的框架
你是前端工程師
製作個人名片網頁,含姓名、技能標籤、聯絡方式
白色背景,現代簡約風格
角色、任務、內容、風格
四個維度都有交代
拆解這四個維度,建立可複製的指令結構
設定 AI 的專業
決定回應的程度
需求的顆粒度決定產出的完整度
控制視覺呈現方式與風格方向
排除不要的變數
縮小 AI 的決策空間
角色設定改變 AI 的回應框架
同一個問題,工程師和設計師給出不同答案
無角色:「幫我做一個網頁」 → 泛用回應,缺乏專業判斷 有角色:「你是一位有 10 年經驗的前端工程師」 → 結構化程式碼、手機自適應、效能考量
角色設定的本質是調整 AI 的輸出分佈
指定角色 → AI 優先從該領域知識取樣回應
任務的顆粒度決定產出的完整度
做一個個人網頁
AI 需要自行猜測內容、區塊、資訊架構
製作個人品牌網頁,包含首屏區塊、關於我、技能列表、聯絡方式
每個區塊有名稱,AI 不需猜測
用「包含:」加列點,把需要的區塊逐一列出
製作個人品牌網頁,包含: - 首屏區塊(姓名 + 一句話定位) - 關於我(150 字簡介) - 技能列表(5 個標籤) - 聯絡方式(Email + LinkedIn)
每一條列點就是一個產出規格
列點越明確,AI 的決策空間越小,可預測性越高
格式指令控制視覺呈現
沒有格式指令,AI 套用預設的樸素樣式
無格式:AI 預設灰底白字,無間距 → 功能正確但視覺不可用 有格式:「白色背景,現代簡約風格 主色用深藍綠漸層(#0B3C5D 到 #0F9D8A) 卡片式排版,圓角 16px 帶陰影」 → AI 產出有品牌感的視覺方案
色碼 > 色系 > 不指定
縮小決策空間
卡片式、左右分欄、全螢幕滾動 — 定義空間結構
「類似 Apple 官網」「極簡科技感」— 用案例錨定方向
格式指令越具體
AI 自行決定的空間越小
產出與預期的偏差越低
限制的功能是排除變數
沒有限制,AI 可能引入你不需要的框架或依賴
單頁式設計,不要分多個頁面 手機也能正常看(響應式設計) 中文介面 不使用外部圖片或 CDN CSS 全部寫在 <style> 裡,不要外部框架
每多一條限制,AI 的自由度下降,但可預測性上升
限制是「用確定性換取控制權」
你是一位專業的前端工程師 製作個人簡介網頁,包含: - 姓名 + 職稱 - 自我介紹(50 字內) - 技能標籤(3–5 個) - Email 聯絡方式
設計要求: - 白色背景,現代簡約風格 - 主色深藍綠(#0B3C5D) - 漸層圓形代替大頭照 限制: - 完整 HTML,不用外部框架 - 手機版要排版良好
把 [ ] 中的內容替換成你的真實資訊
真實內容產出的作品可以直接使用
Publish / Preview 連結或 .html 檔案
觀察版面結構、配色、內容完整度的變化幅度
哪些指令結構產出了最大的品質差距?
你剛才親身驗證了指令結構與產出品質之間的因果關係
ROUND 3 · 0:50–1:20
五個判斷點,從「能用」升級到「好用」
使用者看到的所有視覺元素
餐廳的空間設計 — 決定第一印象
使用者操作時的整體感受
從入座到結帳的動線 — 決定回訪率
UI 是視覺線索,UX 是任務完成路徑
訪客在 3 秒內決定去留 — 首屏(Hero Section)要在這 3 秒傳達核心資訊
塞滿文字,沒有視覺焦點
看不出這個頁面的用途
→ 3 秒後離開
一句話定位 + 一個行動按鈕
乾淨背景,視覺焦點
→ 繼續往下看
指令:「首屏要有一句標語(20 字內)和一個『聯絡我』按鈕」
一句話說清定位 + 兩個行動按鈕
Stripe 的首屏:一句定位 + 兩個 CTA
3 秒內讓訪客知道「這是什麼」和「下一步做什麼」
規則:主色不超過三個
超過三個,視覺主線消失,使用者無法判斷重點
紅橙黃綠藍紫各處出現
每個區塊風格不一致
→ 視覺雜訊過多
主色 + 輔色 + 中性色,共 3 個
全頁面視覺語言統一
→ 專業且有品牌辨識度
主色 #0F9D8A,輔色 #0B3C5D 背景白色,不要超過 3 個主色
黑+白+一個強調色
Notion 全站只用 3 色:黑、白、藍
視覺極度統一,使用者注意力不被分散
標題、內文、說明文字的字級比例決定資訊層次
留白則控制閱讀節奏
所有文字同一字級
段落之間無間距
→ 資訊層次不可辨
標題大、內文適中、說明小
區塊之間有呼吸空間
→ 重點一目瞭然
標題字級 2rem 以上,段落間距充足 留白感強,字級層次至少三級
標題極大、留白極多、內文精簡
每個層級的字級差距明確
讓視覺自然引導閱讀順序
Apple 的設計:標題 > 副標 > 內文,三級字級
大量留白讓內容「呼吸」,不擠壓閱讀體驗
每個頁面需要一個明確的「下一步動作按鈕」(CTA, Call to Action)
按鈕寫
「聯絡我」
按鈕寫
「下載履歷」
按鈕寫
「立即報名」
指令範例:「頁面底部加一個醒目的行動按鈕,顏色突出,文字為『聯絡我』」
主要按鈕(實底色)+ 次要按鈕(線框)
視覺層級清楚,引導優先行動
Slack 的 CTA:主按鈕實底色搶眼,次按鈕線框退讓
「免費開始」降低門檻,「聯繫銷售」服務進階需求
同一個網頁在電腦和手機上要都能正常閱讀
原理是根據螢幕寬度自動調整排版(響應式設計,RWD)
手機需左右滑動
文字過小難以閱讀
按鈕間距不足,誤觸率高
自動調整為單欄佈局
文字大小適中
按鈕間距足夠,操作精準
手機版排版良好,768px 以下自動 切換為單欄佈局(響應式設計 RWD)
在四要素指令後附加這段介面設計指令:
介面設計要求: - 首屏區塊:一句標語(20 字內) + 一個行動按鈕 - 配色:主色 #0F9D8A,輔色 #0B3C5D, 不超過 3 個主色 - 字級層次:標題 2rem+、內文 1rem、 說明 0.85rem - 區塊間距:上下 padding 至少 3rem - 手機適應:768px 以下自動切換單欄佈局 - 行動按鈕:顏色突出,圓角, 滑過時有動態效果
視覺焦點
三色配色
字級層次
自動單欄
引導行動
將這段附加到指令後面,
產出從「內容正確」升級為「可交付成品」
開一個新對話 → Round 2 的指令 + 介面設計指令一起貼入
→ 觀察差異
互相觀察介面設計層面的差異
Round 1 裸指令 → Round 2 結構化指令 → Round 3 介面設計加持
兩層疊加是完整的產出控制
只控制內容不控制介面,等於只完成了一半的指令設計
ROUND 4 · 1:20–1:50
使用 AI 前,先理解可靠性模型
律師 Steven Schwartz 使用 ChatGPT 撰寫法律文件
AI 引用了六個不存在的判例,格式完整、看似真實
律師未交叉驗證即提交法院,被法官裁罰 US$5,000 並公開訓誡
AI 會以高度自信的語氣產出錯誤內容
它的輸出是基於機率的「預測」,不具備事實驗證能力
前三輪操作中,AI 一定做錯過什麼
— 排版跑掉、功能不能用、給了你沒要求的東西
AI 是機率生成
「聽起來合理」≠「事實正確」
描述問題 → AI 自己修
這就是迭代的一部分
做網頁只是 bug
如果是醫療、法律、財務呢
做網頁的風險低,但養成好習慣
未來用 AI 處理工作時,這三條是底線
密碼、個資、公司內部文件
不進 AI 對話框
AI 會自信地說錯話
重要資訊要交叉驗證
AI 加速你的思考
決策權永遠在你手上
將你最完整的指令分別輸入 ChatGPT、Claude、Gemini
觀察三個維度的差異
Canvas 渲染
創意發散
常自行添加元素
Artifacts 渲染
遵從度高
程式碼品質穩定
Google 生態系
額度與限制依帳號方案變動
現場以實測為準
從提交到完整輸出的耗時差異
平台的視覺方案
設計偏好的不同
哪個平台最忠實
執行你的每項要求
哪個平台自行加功能
是加分還是干擾
Canvas 渲染
創意發散
免費版
有對話次數限制
外掛生態豐富
Artifacts 渲染
遵從度高
程式碼品質穩定
免費版有次數限制
Google 生態系
額度與限制依帳號方案變動
現場以實測為準
同一指令在不同平台產生差異,常來自可讀取的上下文來源
差異不是誰比較聰明,是可讀取的上下文來源不同
沒有最佳平台,只有最適合的場景
核心能力是指令設計,不是平台選擇 指令能力是跨平台的
AI 不是全知的工具,是高效的協作者
理解它的邊界,才能正確運用它的能力
ROUND 5 · 1:50–2:30
指令結構相同,產品複雜度提升一個量級
先用 Round 2/3 已學的四要素與五判斷,做一個猜拳或翻牌遊戲(5 分鐘)
卡住的原因常見三類
使用者要點哪裡
成功或失敗如何判定
分數、倒數、翻牌次數
沒有形成可觀察結果
開始、進行中、結束
重新開始沒有完整交代
你是一位前端遊戲開發者 用 HTML/CSS/JS 做一個記憶翻牌遊戲: - 4×4 共 16 張牌(8 對 emoji) - 翻兩張配對,成功留著,失敗翻回 - 翻轉動畫 + 計時 + 翻牌次數 - 完成後顯示結果 + 重新開始按鈕 白色背景,卡片藍色漸層,不超過 3 主色 輸出完整 HTML,不用外部框架
「蛇吃到食物後沒有變長」「翻牌後沒有翻回去」— 越具體,修正越精準
「請說明你修正了哪些問題」— 理解問題本質有助於後續避免
修正後的完整程式碼,重新部署並測試所有功能
「描述問題 → AI 修正 → 再測試」是 AI 協作的標準除錯循環,不是例外狀況
Publish / Preview 連結或 .html 檔案
嘗試同學的遊戲,觀察操作流暢度與完成度
計分系統、音效回饋、難度等級 — 這些是迭代的素材
觀察別人的作品後,選擇一個或多個功能升級你的遊戲:
操作時的聲音反饋增加沉浸感
分數顯示 + 最高紀錄記錄
簡單 / 普通 / 困難的分級機制
完成、失敗、得分時的動態效果
在同一個對話中繼續:
「幫我的遊戲加上 [功能名稱],請輸出完整更新後的 HTML 檔案」
迭代的本質不是一次做對,是持續改進
第一版永遠不是終點 — 這是所有軟體開發的基礎節奏
用這六個維度評估自己和同學的作品
對比自己 Round 1 和 Round 5 的作品
再對比自己和同學的差異 — 差距來自哪裡
ROUND 6 · 2:30–3:00
回顧六輪循環,釐清下一步方向
今天完成的是 Level 1 的基礎
下一堂 M1-2 會把對話能力封裝成可重複使用的 AI 助手
不只學了什麼,是想法怎麼變了
在工作場景中選一個需求,用指令四要素撰寫指令
產出一個可用的成品
記錄你的指令和產出結果
下堂課會用到這些素材作為進階操作的基礎
下一堂課 — M1-2
下一堂課的主題:將指令封裝成可重複調用的 AI 助手
M1-1 完成