你好,我是[冴羽](https://link.juejin.cn?target=https%3A%2F%2Fyayujs.com)。
用 AI 寫程式,70% 的功能 5 分鐘就能搞定,但剩下的 30% 能讓你崩潰一整天。
我專門研究了 Google 工程師 Addy Osmani 寫的《Beyond Vibe Coding》。
他用 25 年的開發經驗告訴你:
兩種方式的差距,就是「能跑的 Demo」和「能上線的產品」的差距。
Vibe Coding 是一種「隨性」的開發方式:
你給 AI 一個模糊的需求,它給你一堆程式碼,你看都不看直接執行,關注的是整體「感覺」而不是實作細節。
特斯拉前 AI 總監 Andrej Karpathy 描述過這種未來:「我只是看看東西、說說話、跑跑程式碼、複製貼上,然後它就能工作了。」
聽起來很美好對吧?
但現實是:Vibe Coding 能讓你快速達到 70%,剩下 30% 會讓你懷疑人生。
具體表現:
但這並不是說: Vibe Coding == 低品質程式碼。
它只是一種特定的開發方式,對於生產系統,你需要考慮的遠不只「能跑」。
plaintext 體驗AI代碼助手 代碼解讀複製代碼❌ 錯誤示範:「幫我做一個 Todo 應用」
✅ 正確示範:「給我幾個 Todo 應用的架構方案,從最簡單的開始。
先別寫程式碼,只列出思路,讓我選一個方向。」
🚀 最佳實踐:寫一個 mini PRD —— 定義問題、使用者旅程、預期結果
這是因為 AI 十之八九會提出一個過於複雜的方案。你要先讓它規劃,再讓它實作。
目前很多 AI 程式設計工具都支援「Plan Mode(規劃模式)」:
很多模型只知道 Tailwind v3,但 v4 其實在 2025 年就發布了。
當你用特定的 API 或框架時,把官方文件餵給 AI。
markdown 體驗AI代碼助手 代碼解讀複製代碼始終遵循這些原則:
1. 先定義資料模型,再寫程式碼
2. 用 Mock 資料,別一上來就搞資料庫
3. 建立元件庫,把程式碼拆分到多個檔案
4. 集中管理狀態
5. 分批實作,別一次寫太多
6. 改程式碼前確認改的是正確的檔案
7. 需求不清楚就問
對應英文版:
markdown 體驗AI代碼助手 代碼解讀複製代碼// Example system prompt
Always follow these guidelines:
1. Define the data model before writing code
2. Start with mock data instead of a database
3. Create a component library and split code into multiple files
4. Centralize state management
5. Batch implementation into smaller chunks
6. Double-check you're changing the correct files
7. Ask follow-up questions if requirements are unclear
一張圖勝過千言萬語。 當你讓 AI 實作設計或修 Bug 時,直接截圖。
現在的 AI 程式設計工具都支援:
不管你多麼小心,AI 總會在某個時刻破壞你的應用程式。
所以:
永遠假設 AI 對你的專案一無所知。
markdown 體驗AI代碼助手 代碼解讀複製代碼❌ 錯誤:"為什麼我的程式碼不工作?"
✅ 正確:"這個 React hooks 函式應該在表單提交時更新使用者資料,
但現在報錯'Cannot read property name of undefined'。
程式碼如下:
const updateProfile = (userData) => {
setUser(userData.name);
};
錯誤發生在第 2 行。使用 React 18.2.0。"
模糊的問題會得到模糊的答案。要具體說明:
把大問題分成小塊,逐步推進。
舉個例子:建構使用者驗證系統
用具體例子來減少歧義。
markdown 體驗AI代碼助手 代碼解讀複製代碼建立一個格式化貨幣的函式。
範例:
- formatCurrency(2.5) 應該返回 "$2.50"
- formatCurrency(1000) 應該返回 "$1,000.00"
- formatCurrency(0.99) 應該返回 "$0.99"
讓 AI 「扮演」特定角色能改變回答的風格和深度。
有效的人設:
把 AI 生成的程式碼當作初級開發者寫的程式碼。 需要仔細 review 和測試才能提交。
列出檢查清單:
AI 可以幫你生成測試,但你必須驗證覆蓋率和品質。
markdown 體驗AI代碼助手 代碼解讀複製代碼"為這個使用者驗證函式生成完整的單元測試。包括:
- 有效憑證
- 無效憑證
- 網路錯誤
- 畸形輸入
- 邊界情況如空字串
- 安全場景如 SQL 注入嘗試
使用 Jest,遵循我們在 /tests/auth/ 的現有測試模式"
AI 可能引入安全漏洞。始終驗證安全實踐。
列出安全驗證清單:
AI 可能生成能用但低效的程式碼。始終考慮效能。
markdown 體驗AI代碼助手 代碼解讀複製代碼"優化這個資料庫查詢,表有 100 萬+記錄。考慮:
- 合適的索引策略
- 查詢執行計畫
- 記憶體使用
- 連線池
- 快取機會
解釋你的優化選擇,包括優化前後的效能對比。"
想像一下這樣的開發體驗:
🎯 意圖定義 → 用自然語言描述你想建構什麼,AI 理解上下文、需求和限制
📋 智慧規劃 → AI 生成詳細的技術方案,考慮架構決策,建議最優實作策略
🏗️ 自主實作 → AI agent 跨多個檔案實作功能,處理整合,生成完整測試
🔍 智慧 Review → AI 提供詳細的程式碼審查、安全分析和效能優化建議
🚀 自動部署 → AI 管理部署流程,監控效能,提供優化建議
這其實都不算是未來了,而是現在已經在跑的東西。
我是冴羽,10 年筆耕不輟,專注前端領域,更新了 10+ 系列、300+ 篇原創技術文章,翻譯過 Svelte、Solid.js、TypeScript 文件,著有小冊《Next.js 開發指南》、《Svelte 開發指南》、《Astro 實戰指南》。
歡迎圍觀我的「網頁版朋友圈」,關注我的公眾號:冴羽(或搜尋 yayujs),每天分享前端知識、AI 乾貨。