- Published on
Vibe Coding in Prod - Anthropic 官方深度解析
隨著 AI 技術的快速演進,軟體開發的模式正在經歷根本性的轉變。「Vibe Coding 」不再只是一個時髦的概念,而是真正能在生產環境中實踐的開發方法。今天我們將深入探討 Anthropic 官方的技術分享,了解如何負責任地在實際專案中運用這種革命性的開發方式
這場精彩的技術分享於 2025 年 5 月 22 日在美國舊金山舉辦,主講者是 Anthropic 的技術團隊成員 Erik Schulntz (Member of Technical Staff)。這與我之前分享的 Prompting 101:提示工程基礎指南 及 Claude Code Best Practices:Anthropic 官方最佳實踐指南 都來自同一場活動,為我們提供了完整的 AI 輔助開發實踐指南
什麼是 Vibe Coding ?
重新定義開發體驗
很多人對 Vibe Coding 存在誤解,認為它只是「讓 AI 大量產生程式碼」。但根據 Andrej Karpathy 的精確定義,Vibe Coding 是
「完全融入氛圍、擁抱指數級成長,並忘卻程式碼的存在」
這個定義的核心在於
- 關注點轉移:從程式碼細節轉向產品實現
- 認知負載減輕:讓開發者專注於高層設計和需求理解
- 降低技術門檻:讓非技術背景的人也能參與應用程式開發
- 思維模式改變:不再逐行思考程式碼,而是以產品功能為導向
為什麼現在是關鍵時刻?
Erik 在分享中強調了一個驚人的事實:AI 的能力每七個月就會翻倍成長。這意味著
- 處理能力爆炸性增長:未來的 AI 可能處理數天甚至數週的工作量
- 傳統審閱模式失效:逐行程式碼審閱無法規模化到如此龐大的程式碼量
- 新的管理模式需求:我們需要全新的方法來管理和驗證 AI 產生的程式碼
核心原則:忘卻程式碼,但不忘卻產品
這個看似矛盾的原則,實際上是 Vibe Coding 的精髓
忘卻程式碼的存在
- 不再糾結於變數命名、函式結構等細節
- 專注於產品功能和使用者體驗
- 相信 AI 能處理大部分實作細節
但不忘卻產品的存在
- 深刻理解產品需求和業務邏輯
- 維持對產品品質和使用者體驗的高標準
- 確保最終交付的產品符合預期
負責任的實踐方法
這不是全新的挑戰
Erik 提出了一個重要觀點:管理不完全理解的實作並非新問題。在現代軟體開發中
- CTO 不會逐行審閱所有程式碼
- 產品經理 專注於功能和需求,而非實作細節
- 執行長 關心業務成果,而非技術實作
關鍵在於建立適當的抽象層次和驗證機制
實踐策略
1. 聚焦於「末端節點」
- 將 AI 產生的程式碼主要應用於程式碼庫的末端節點
- 避免讓 AI 處理核心架構和關鍵系統組件
- 對於核心功能,仍需要深入理解和嚴格審閱
2. 建立可驗證的抽象
- 設計清晰的介面和合約
- 建立全面的測試覆蓋率
- 使用類型系統提供額外的安全保障
3. 分層驗證機制
- 功能驗證:確保功能符合需求
- 效能驗證:監控系統效能指標
- 安全驗證:進行安全性測試和審查
Anthropic 的實戰案例
令人驚艷的成果
Erik 分享了一個真實案例:Anthropic 成功將 Claude 產生的 22,000 行程式碼變更 合併至生產環境。這個數字讓人印象深刻,但更重要的是他們如何做到負責任地實踐
負責任實踐的關鍵要素
1. 扮演 AI 的產品經理
- 提供清晰完整的需求規格
- 設定明確的約束和限制
- 持續監控和調整方向
2. 戰略性應用
- 專注於程式碼庫的末端節點
- 避免影響核心架構
- 保持對重要部分的人工審閱
3. 精心設計的驗證
- 建立自動化測試套件
- 設計可觀測性系統
- 實施分階段部署策略
驚人的效率提升
最終結果是開發時間從原本的 數週縮短至一天,這種效率提升不僅僅是速度上的改進,更代表了開發模式的根本性轉變。
成功實踐的四大要訣
1. 成為 AI 的產品經理
傳統的問法是「AI 能為你做什麼?」,但正確的問法應該是:「你能為 AI 做什麼?」
這個觀念轉換非常重要,因為
- AI 需要清晰的指導和背景資訊
- 你的角色是提供脈絡和約束
- 成功的關鍵在於如何管理和指導 AI
2. 提供全面的背景資訊
為了讓 AI 發揮最大效用,你需要提供
- 詳盡的需求說明:不只是「要什麼」,還要「為什麼要」
- 完整的技術規格:包括效能、安全性、相容性等要求
- 明確的限制條件:時間、資源、技術約束等
- 豐富的脈絡資訊:相關的程式碼、文件、最佳實踐等
3. 把 AI 當作剛報到的新人
這個類比非常貼切,因為
- 不會期望立即完成工作:需要教育訓練的過程
- 需要提供學習資料:相關程式碼、文件、規範等
- 建立信任關係:透過小任務逐步建立信心
- 持續指導和反饋:不斷調整和改進
4. 認知技術門檻
雖然 Vibe Coding 大幅降低了開發門檻,但 Erik 強調:
完全非技術背景的人員仍不適合在生產環境中應用 Vibe Coding
這是因為
- 需要理解基本的軟體架構概念
- 必須具備判斷程式碼品質的能力
- 需要了解安全性和效能的基本原則
- 要能設計有效的測試和驗證策略
問答精華:實踐中的關鍵問題
學習模式的轉變
問題:在 AI 輔助開發時代,我們應該如何調整學習重點?
答案:學習重心應該從底層實作細節轉向高層系統設計
- 更多關注:架構設計、系統整合、產品思維
- 減少關注:語法細節、框架特定用法、底層最佳化
- 新增技能:提示工程、AI 工具使用、結果驗證
提示資訊的平衡
問題:給 AI 的資訊是越多越好嗎?
答案:資訊量應該根據最終成果的要求來決定
- 高品質要求:提供更多背景資訊和約束條件
- 快速原型:可以減少資訊量,專注於核心功能
- 生產環境:必須提供完整的技術規格和限制
資安考量
問題:如何確保 AI 產生程式碼的安全性?
答案:需要建立可驗證正確性的產品與框架
- 自動化安全掃描:整合 SAST/DAST 工具
- 程式碼審查:對安全關鍵部分進行人工審查
- 分層防護:不依賴單一驗證機制
- 持續監控:建立執行時安全監控
TDD 在 AI 時代的應用
問題:測試驅動開發 (TDD) 在 AI 輔助開發中的角色?
答案:TDD 仍然重要,但應用方式需要調整
- 引導 AI 撰寫測試:讓 AI 理解需求並產生適當的測試
- 專注端對端測試:相比單元測試,更重視整體功能驗證
- 簡潔測試設計:避免過度複雜的測試結構
工作流程建議
問題:在日常開發中,如何最佳化 AI 工具的使用?
答案:建議結合 AI 工具與傳統編輯器:
- AI 工具負責:程式碼產生、重構建議、問題診斷
- 傳統編輯器負責:精確編輯、偵錯、版本控制整合
- 無縫切換:在不同工具間建立順暢的工作流程
結語:擁抱變革,但保持謹慎
Vibe Coding 代表了軟體開發的未來方向,它不是要取代傳統的開發方式,而是要在適當的場景下提供更高效的選擇。正如 Erik 在分享中強調的,關鍵不在於技術本身,而在於如何負責任地應用這些技術
Vibe Coding 的時代已經來臨,問題不是「是否要採用」,而是「如何正確採用」。讓我們帶著開放的心態和負責任的方式,一起探索這個充滿可能性的新世界
支持創作
如果這篇文章對您有幫助,歡迎透過 贊助連結 支持我持續創作優質內容。您的支持是我前進的動力!
圖片來源:AI 產生