Andrej Karpathy提出Vibe Coding的背景和動機是什麼?
Answer
Andrej Karpathy 提出 Vibe Coding 的背景與動機
Vibe Coding 的概念由 OpenAI 共同創辦人、前特斯拉 AI 和自動駕駛視覺總監 Andrej Karpathy 提出。在生成式 AI 爆發性成長的背景下,Karpathy 觀察到一種新的程式撰寫模式正在興起,開發者可以透過 AI 工具的協助,在「不寫程式碼」的前提下開發產品。這種開發方式強調順應感覺,擁抱 AI 帶來的進步,並淡化程式碼本身的存在,從而顛覆了傳統軟體開發需要高超程式設計技能的觀念。
Karpathy 的動機源於他觀察到開發者在 AI 的協助下,可以更專注於應用程式的畫面或功能需求,直接以自然語言指示 AI 進行修改。例如,開發者可以直接要求 AI 調整側邊欄的 padding,而無需手動查找 CSS 或程式碼。即使遇到錯誤訊息,只需複製貼上給 AI,通常就能解決問題。Karpathy 認為,這種方式將程式設計的重點從語法和手動編碼轉移到更高階的設計和想法表達上。因此,他甚至提出「最熱門的新程式設計語言是英文」的觀點,強調自然語言在未來程式設計中的重要性。
Vibe Coding 與 LLM Coding 的差異
雖然 Vibe Coding 和 LLM Coding 都是利用 AI 輔助程式開發,但兩者在核心理念、開發者角色、與程式碼的互動方式、技術門檻以及主要工具等方面存在本質差異。Vibe Coding 強調「完全順應感覺」和「忘記程式碼」,開發者專注於創意和整體架構,而 LLM Coding 則更關注程式碼本身,開發者需要具備基本的程式語言知識。在 Vibe Coding 中,開發者是 AI 的指導者,使用自然語言表達意圖,而在 LLM Coding 中,開發者仍然參與審查和修改生成的代碼。Vibe Coding 鼓勵直接接受 AI 建議,通常不檢查 AI 生成的程式碼變更,而 LLM Coding 則需要開發者審查、測試和理解所有程式碼。Vibe Coding 大幅降低了程式設計的門檻,使非程式設計師也能參與開發,而 LLM Coding 雖然比傳統編程簡單,但使用者仍然受益於具備一定的程式知識。