「Vibe 編碼」是一種應用程式開發方法,其特點是高度依賴於大型語言模型 (LLM) 來產生程式碼。
閱讀本文後,您將能夠:
複製文章連結
Vibe 編碼是一種大量使用大型語言模型 (LLM) 來產生程式碼的軟體開發方法。「Vibe 編碼」一詞意為 AI 輔助編碼,由 OpenAI 共同創辦人 Andrej Karpathy 於 2025 年 2 月在 X 發表的貼文中首創:
最近出現了一種新型編碼,我稱之為「Vibe 編碼」——完全放任直覺,擁抱指數級成長的程式邏輯,甚至忘了自己寫過什麼程式碼。這都多虧了大型語言模型(比如帶 Sonnet 模型的 Cursor Composer)越來越厲害……產生的代碼複雜到我平常根本看不懂,必須花好一陣子慢慢讀才能理解。有時候 LLM 無法修復錯誤,我就只能繞過問題,或者亂改一通直到它神奇消失……雖然不適合正式專案,但拿來做週末隨手寫的小玩具倒是挺有趣的。
儘管是 Karpath 對這個詞彙進行了定義,但隨著 ChatGPT 和 Copilot 等 LLM 的公開發布,許多開發人員已經開始嘗試類似的 AI 輔助方法。
Vibe 編碼的目標是更快速地啟動可運作的應用程式和新功能。傳統編程講究精確無誤,而 Vibe 編碼則讓開發人員能以高層次的抽象指令指導 LLM,由模型自行產生包含精確邏輯的實際程式碼。
與 LLM 的其他使用案例類似,Vibe 編碼涉及向模型提供提示,該模型產生內容(在本例中為程式碼)作為回應。LLM 屬於生成式 AI 模型:經過海量範例訓練後,這些模型能辨識、解讀並產生自然語言與程式設計語言。這種跨領域的語言處理能力,使得 LLM 能在短短數秒內產生可運作的程式碼。
Vibe 編碼開發人員必須向 LLM 提供正確的提示,以便 LLM 建立正確類型的功能或應用程式。通常這些提示不必特別精確,但 LLM 可能需要多次嘗試才能產生以開發人員預期方式運作的程式碼。
在 LLM 產生程式碼之後進行測試和偵錯。這涉及識別錯誤和安全性問題。然後可以提示 LLM 解決這些錯誤,或者像 Karpathy 所描述的那樣——「繞過問題,或者亂改一通直到它神奇消失」(這種方法有時有效,有時無效,完全取決於錯誤的性質)。
目前已有許多廣泛使用的 LLM 可供開發者嘗試 Vibe 編碼。Copilot、Cursor、Codeium、Qodo、CodeWhisperer 和 Replit 都是 LLM 輔助軟體開發的熱門工具。
閱讀關於如何開始使用 Vibe 編碼的文章,以開始建立第一個專案。
Vibe 編碼的優點包括:
其中一些缺點可能包括:
漏洞:任何應用程式都可能包含漏洞或安全風險。由於 Vibe 編碼可以加快編寫和交付新功能的速度,潛在危機在於更多安全問題可能未被發現就進入生產環境。更嚴重的是,當開發團隊對問題程式碼不熟悉時,這些安全漏洞將變得更加難以修復。
資料丟失:在商業環境中使用 LLM 時,存在輸入內容可能包含智慧財產權,並被分享至外部環境的風險。為保護內部資料,開發人員必須瞭解 LLM 在後端如何分割與處理資料。
Vibe 編碼是一種大量使用大型語言模型 (LLM) 來建立程式碼的軟體開發方法。該詞彙由 OpenAI 共同創辦人 Andrej Karpathy 於 2025 年 2 月創造。
LLM 是經過大量資料訓練的生成式人工智慧 (GenAI) 模型,能夠理解並產生人類語言和程式設計語言。這使得它們通常只需幾秒鐘就能產生具有實用功能的程式碼。
Vibe 編碼具有多種優勢,包括:快速製作新產品或新功能的原型;自動完成樣板和低階程式碼;以及更快的整體開發和發佈時間。
Vibe 編碼的一個缺點是,開發人員可能會不瞭解其程式碼庫,這會使錯誤和漏洞修復變得複雜。此外,如果未能仔細監控應用程式內的個人資料處理情況,Vibe 編碼可能會導致合規性問題。
Vibe 編碼可能會增加安全隱患,因為開發速度過快可能會導致更多漏洞進入生產環境。如果開發團隊不熟悉自動產生的程式碼,這些問題可能很難解決。此外,如果 LLM 的輸入管理不當,敏感的智慧財產權可能會暴露,因此也存在資料遺失的風險。
「Vibe 編碼」一詞由 OpenAI 共同創辦人 Andrej Karpathy 於 2025 年 2 月在 X 上的帖子中提及。
在 LLM 產生程式碼後,會有開發人員負責測試和除錯。開發人員會識別並解決錯誤和安全漏洞。LLM 可能會被要求協助修復這些問題,或者開發人員可能會尋找解決方法或要求隨機更改,直到問題解決為止。
傳統編碼要求開發人員進行非常精確的編寫。相比之下,Vibe 編碼允許開發人員向 LLM 發出通用的高階指令。LLM 隨後將這些指令轉換為應用程式或功能所需的精確程式碼。
在商業環境中,使用 LLM 會帶來風險,輸入中包含的智慧財產權可能會被外部分享。開發人員應該瞭解 LLM 如何在其後端處理和分割資料,以保護敏感的內部資訊。