Logo
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 的能力每七個月就會翻倍成長。這意味著

  1. 處理能力爆炸性增長:未來的 AI 可能處理數天甚至數週的工作量
  2. 傳統審閱模式失效:逐行程式碼審閱無法規模化到如此龐大的程式碼量
  3. 新的管理模式需求:我們需要全新的方法來管理和驗證 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 產生