快速回答:Vibe Coding 是什麼?
Vibe Coding 是一種用自然語言描述需求,讓 AI 產生程式碼的開發方式。開發者不需要逐行手寫程式碼,而是透過對話描述「我想要什麼」,由 AI 工具產生對應的程式碼。這個詞由前 Tesla AI 主管、OpenAI 共同創辦人 Andrej Karpathy 在 2025 年 2 月提出。
和傳統開發最大的差異在於:傳統寫程式是「我知道怎麼寫,然後寫出來」;Vibe Coding 是「我知道我要什麼,讓 AI 幫我寫」。開發者的角色從「寫程式碼的人」轉變為「描述需求和審查結果的人」。
由來:Andrej Karpathy 的定義
Karpathy 在 2025 年 2 月的社群貼文中描述了這個概念。他說自己在寫 side project 時,幾乎完全用自然語言和 AI 互動,不太看 AI 產生的程式碼,只看結果能不能跑。如果出錯,就把錯誤訊息直接貼給 AI 修。
原文的描述大致是:「我看到的不是程式碼,而是程式碼的 vibe(氛圍)。如果 vibe 對了就繼續,如果不對就改描述讓 AI 重做。」
這個定義有幾個重點值得注意。第一,Vibe Coding 是一個光譜,不是二元選擇。你可以完全不看程式碼(純 Vibe),也可以看部分程式碼加上 AI 輔助(半 Vibe),Karpathy 描述的是光譜上比較極端的那一端。第二,Karpathy 自己是頂尖工程師,他「不看程式碼」是因為他有能力在需要時看懂。新手如果完全不看程式碼,風險會高很多。第三,這個概念最初是用在 side project 和原型,Karpathy 沒有建議在生產環境中這樣做。
白話解釋:Vibe Coding 怎麼運作?
想像你要蓋一棟房子。傳統方式是你自己是建築工人,一磚一瓦自己砌。Vibe Coding 的方式是你當業主,跟建築師描述「我想要一個有落地窗的客廳、開放式廚房、三間臥室」,建築師畫出設計圖並找工人施工,你負責看成品是否符合期望。
實際的 Vibe Coding 流程長這樣。開發者在 Cursor 或 Claude Code 這類工具中,用自然語言描述需求,例如「幫我做一個 Todo List 應用,用 React,要有新增、刪除、標記完成的功能」。AI 產生完整的程式碼。開發者執行程式碼看結果,如果功能正確就繼續,如果有問題就描述問題讓 AI 修正。
一個實際的對話過程可能像這樣:
第一輪:「用 Next.js 做一個部落格首頁,左側顯示文章列表,右側顯示選中文章的內容。」AI 產生完整的頁面程式碼。
第二輪:「列表項目加上發布日期,日期格式用 YYYY/MM/DD。選中的項目要有高亮效果。」AI 修改程式碼加上這些功能。
第三輪:「手機版面的時候,列表和內容要變成上下排列,不要左右並排。」AI 調整 CSS 做響應式設計。
每一輪開發者都在「描述需求」和「驗證結果」之間反覆,而不是自己動手寫程式碼。
Vibe Coding 的主流工具
目前適合 Vibe Coding 的工具主要有四類。
Cursor 是目前最多人使用的 Vibe Coding 工具。它基於 VS Code,加上 AI 功能。Composer 模式讓你用自然語言描述需求,AI 直接修改多個檔案。Chat 模式適合問問題和討論設計。Cmd+K 適合修改選取的程式碼片段。Cursor 的優勢是視覺化的 diff 預覽,你可以看到 AI 要改什麼再決定是否接受。價格方面,Pro 方案每月 20 美元,提供 500 次快速請求。
Claude Code 是 Anthropic 推出的 CLI 工具,直接在終端機中執行。適合熟悉命令列的開發者。Claude Code 的特色是能讀取整個專案的檔案結構和內容,理解跨檔案的上下文,做出更精確的修改。它能直接操作檔案系統、執行 shell 指令、管理 git 操作。CLAUDE.md 檔案讓你定義專案規範,AI 會遵循這些規範。不過因為它有檔案系統和指令執行的權限,安全設定很重要。
GitHub Copilot 的定位比較偏「行內補全」而非完整的 Vibe Coding。它在你打字時預測你接下來要寫什麼,按 Tab 接受。Copilot Chat 和 Agent mode 則提供對話式的程式碼產生。Copilot 的優勢是和 GitHub 生態系的整合,包含 PR review、issue 理解、和 Actions 整合。
Windsurf(原 Codeium)強調 AI 和人類共同編輯的「Flow」體驗。它的 Cascade 功能類似 Cursor 的 Composer,但更強調上下文的持續追蹤。免費版功能比 Cursor 多,適合預算有限的開發者。
| 工具 | 類型 | 價格(月) | 適合 | 上下文 |
|---|---|---|---|---|
| Cursor | IDE(VS Code 分支) | $20 | 視覺化開發 | 專案級 |
| Claude Code | CLI 工具 | API 用量計費 | 命令列愛好者 | 專案級 + 系統級 |
| GitHub Copilot | IDE 外掛 | $10-19 | GitHub 用戶 | 檔案級 |
| Windsurf | IDE(VS Code 分支) | $0-15 | 預算有限 | 對話級 |
適用場景
Vibe Coding 在以下場景特別有效。
原型開發和 MVP。當你需要快速驗證一個想法是否可行時,Vibe Coding 的速度優勢很大。一個 Landing Page、一個小工具、一個概念驗證,用傳統方式可能需要一兩天,Vibe Coding 可能幾小時就完成。飛飛的經驗是,用 Claude Code 做一個有表單、API 串接、資料庫的小應用,從零到能跑大概 2-3 小時。
學習新技術。當你想試用一個沒用過的框架或語言時,用 Vibe Coding 可以跳過「讀文件 → 理解 API → 寫出第一個 Hello World」的過程,直接描述你想做的功能,看 AI 怎麼用這個框架實現。這比讀文件更快建立直覺。
重複性高的 CRUD 功能。建立標準的增刪改查功能、表單驗證、資料庫 migration、API endpoint,這些有固定模式的工作,AI 做得很好。
前端 UI 開發。描述介面外觀和互動行為,AI 產生對應的 HTML/CSS/JavaScript 或 React/Vue 元件,比手寫 CSS 快很多。
自動化腳本。「寫一個腳本,每天凌晨 3 點從 S3 下載 CSV,整理成報表,寄到指定的 email」——這類有明確輸入輸出的自動化任務,用自然語言描述效率很高。
不適用場景
以下情況不適合 Vibe Coding,或需要特別謹慎。
涉及金流或支付的系統。信用卡處理、訂閱扣款、退款邏輯——這些如果出錯會直接造成財務損失。AI 產生的金流程式碼可能遺漏邊界案例(如部分退款、貨幣轉換、稅務計算),上線前需要經過嚴格的人工審查。
處理敏感個資的系統。醫療紀錄、財務資料、身分證明——這些受到法規(如台灣個資法、GDPR)保護的資料,AI 產生的程式碼可能沒有正確實作加密、存取控制或資料保留政策。
高併發的生產系統。AI 產生的程式碼通常能在正常情況下運作,但在高流量、競態條件(Race Condition)、分散式鎖等場景下可能出問題。這些問題很難透過 Vibe Coding 的「看結果」方式發現。
需要深度效能優化的場景。演算法選擇、記憶體管理、查詢優化——AI 通常會給出「能跑」的方案,但不一定是「最佳」的方案。在資料量大或效能敏感的場景,需要具備領域知識的工程師介入。
已有大量程式碼的舊專案重構。AI 對全新專案的理解能力強,但對有歷史包袱、隱含商業邏輯的舊程式碼,可能會做出破壞性的修改。
Vibe Coding 的安全風險
Vibe Coding 帶來了幾個傳統開發方式不太會遇到的安全風險。
程式碼審查缺失。Vibe Coding 的核心精神是「不太看程式碼」,但這也意味著安全漏洞可能在不知不覺中被引入。常見問題包括:SQL Injection(AI 用字串拼接而非參數化查詢)、XSS(未跳脫使用者輸入)、路徑穿越(未驗證檔案路徑)、硬編碼的密碼或 API Key。
依賴套件風險。AI 會選擇它訓練資料中常見的套件,但這些套件可能已經過時、有已知漏洞、甚至已被惡意接管。AI 不會檢查套件的安全狀態。
權限過大。Vibe Coding 工具(特別是 Claude Code)通常需要檔案系統讀寫和指令執行權限。如果 AI 因為 Prompt Injection 或其他原因執行了惡意指令,可能造成嚴重損害。
智財風險。AI 產生的程式碼可能和訓練資料中的開源專案相似,引發授權(License)問題。如果你的專案是商用的,需要注意這個風險。
建議的安全措施包括:使用 git 版本控制,AI 每次修改都在新的 branch 上操作。每次 commit 前用 git diff 看看 AI 改了什麼。在 CI/CD 中加入安全掃描工具(如 Semgrep、npm audit)。設定 AI 工具的權限範圍,避免給予不必要的系統存取權限。
常見錯誤
以下是 Vibe Coding 新手最常犯的錯誤。
一次描述太多需求。把十個功能塞在一個 prompt 裡,AI 容易遺漏細節或產生衝突。正確做法是一次一個功能,做完驗證再繼續。
完全不看程式碼。Karpathy 是因為有深厚的技術背景才能「不太看程式碼」。如果你是初學者,至少要看過 AI 產生的認證邏輯、資料庫存取、和 API 端點。
沒有版本控制。直接讓 AI 修改檔案但沒有用 git,萬一 AI 改壞了無法回溯。一定要在讓 AI 動手前先 commit 目前的狀態。
把 Vibe Coding 當成「不用學程式」。Vibe Coding 降低了寫程式的門檻,但沒有消除理解程式邏輯的需求。你不需要記住每個 API,但需要能讀懂 AI 產生的程式碼,判斷它是否做了你要的事。
忽略測試。AI 產生的程式碼能跑不代表沒有 bug。至少要手動測試主要功能路徑,最好讓 AI 同時產生測試程式碼。
安全與限制
Vibe Coding 目前仍有幾個根本性的限制。
AI 不理解業務需求。AI 只知道你告訴它的事情。如果你的需求描述不完整(例如沒有提到退款的時效限制),AI 會自己填補空白,而這個填補可能是錯的。
偵錯的黑箱問題。當 Vibe Coding 產生的程式碼出錯時,因為你沒有親手寫這些程式碼,偵錯可能比傳統方式更困難。你需要理解 AI 寫的邏輯才能找到問題。
技術債累積。Vibe Coding 追求快速產出,但 AI 產生的程式碼可能有重複邏輯、不一致的命名、缺少錯誤處理等問題。這些技術債在專案規模變大時會變得很明顯。
模型的知識截止。AI 的訓練資料有時間限制,新推出的框架版本、新的 API、新的安全漏洞,AI 可能不知道。
常見問題
Vibe Coding 會取代工程師嗎?
短期內不會。Vibe Coding 改變了寫程式碼的方式,但系統設計、架構決策、安全審查、效能優化、和商業邏輯判斷仍然需要人類。工程師的價值正在從「寫程式碼」轉向「定義需求和審查品質」。
不會寫程式的人可以用 Vibe Coding 嗎?
可以用來做簡單的工具和原型,但會遇到瓶頸。當程式碼出錯需要偵錯、需要整合多個系統、或需要處理安全問題時,沒有程式基礎的人會很難處理。建議至少學習基礎的 HTML/CSS/JavaScript 和版本控制概念。
Vibe Coding 產生的程式碼品質如何?
通常能正確實現基本功能,但在錯誤處理、邊界案例、效能優化、安全防護方面常有不足。可以想成是一個「能力中等的初級工程師」寫的程式碼——功能正確但不夠健壯。上線前需要人工審查。
Cursor 和 Claude Code 選哪個?
看你的工作習慣。如果你習慣 GUI 和視覺化 diff,選 Cursor。如果你習慣終端機和 CLI 操作,選 Claude Code。如果你的專案和 GitHub 深度整合,GitHub Copilot 也是選項。很多人同時使用多個工具,不需要只選一個。
Vibe Coding 的程式碼可以商用嗎?
目前主流工具(Cursor、Claude Code、GitHub Copilot)都允許產生的程式碼用於商業用途。但需要注意 AI 可能產生和開源專案相似的程式碼,這可能引發授權問題。GitHub Copilot Business 和 Enterprise 版本提供 IP 賠償保障。建議商用專案使用付費版工具,並在上線前進行程式碼相似度檢查。