
什麼是Vibe Coding?為什麼你應該關心?
AI正在根本改變軟件的開發方式。過去我們面對空白的編輯器,逐行編寫代碼的日子已經一去不復返。如今,AI助手已經變得普遍,許多強大的工具提供這種功能,而像ChatGPT這樣的模型則能生成越來越強大的代碼,那麼接下來會是什麼呢?這就是Vibe Coding的出現。
AI如何改變代碼
AI對編碼的影響是根本性的——它能夠根據文本提示編寫代碼。在AI出現之前,代碼生成工具主要是結構化且特定於某個領域的。例如,在AI領域中,使用者可以指定一系列操作,讓AI將預先編寫的模塊串聯起來,並添加適當的配置和鏈接。現在,只需提出一個文本問題,像ChatGPT這樣的AI就能選擇合適的開源模塊,找出如何將它們鏈接在一起,並為你提供可運行的代碼和詳細的解釋。隨著這些AI的每次新版本發布,代碼的功能性也在不斷提升。
這種能力(現在也在編碼工具中作為助手功能存在)對編碼技能、教育和軟件開發實踐產生了深遠影響,催生了如提示驅動編程和N-of-1編程等趨勢。
Vibe Coding的新增內容
Vibe Coding是由Andrej Karpathy提出的一個術語,進一步推動了這一趨勢。特別是,Vibe Coding專注於軟件的“氛圍”,而非代碼本身。使用英語(書面或口頭)來具體說明需要編寫的代碼的概念仍然存在,但重點轉向了所創建的整體產品,以及人類在設計和指導過程中所扮演的角色,這一過程通過一系列概念性指令引導AI,最終使AI對代碼進行迭代性地完善、修正和增加功能。正如Andrej Karpathy在X平台上所提到的,這一重要的轉變在於,人類可能甚至不會閱讀這些代碼版本,而是通過AI在人體要求下運行的測試來評估它們的行為。這一觀察還指出,代碼可能會迅速增長到超出人類的理解範圍。
可否給我一個例子?
以下是我用來生成化學反應模擬器的過程。我擁有一周的實驗數據,並且知道發生的化學過程名稱。我將這些信息提供給AI。它能夠找到描述該過程的正確數學方程,並利用這些方程構建一個Python模擬器。
在第一次迭代中,模擬並未很好地捕捉到實驗數據中的行為。我利用AI探索了幾個可能影響結果的現實世界的複雜因素。在經過幾次迭代後,我利用我的領域知識選擇了一些常見的複雜因素,並要求將這些因素添加到模擬中。
這一過程持續了10到15次迭代,直到我認為模擬代碼充分捕捉了物理實驗的複雜性,模擬結果與實驗結果的接近度不斷提高。
在每次迭代中,AI負責生成和測試代碼,並根據需要提供概念建議。我則是專家指導,選擇選項並做出最終決策。我每隔幾次迭代會閱讀代碼,但並不是每次都這樣。
這對業務意味著什麼
Vibe Coding是否會成為我們對這一趨勢的稱呼尚不明確,但整體趨勢顯然是不可逆轉的。Y Combinator報告稱,超過25%的初創公司現在依賴AI生成95%的代碼,而谷歌最近報告約25%的新代碼是由AI生成的。這一趨勢對業務有重要的影響,提出了以下幾個問題:
– 一家公司是否應該對生產中從未被人類員工理解的代碼感到放心?在許多情況下,複雜的代碼庫在公司的存活時間往往比編寫這些代碼的人要長,因此擁有沒有任何人理解的代碼並不是不尋常。然而,這種代碼通常仍然存在是因為它隨著時間的推移證明了自己的價值。新代碼的存在卻是沒有任何人理解的,這是全新的一種情況。
– 超級快速原型開發?也許這種開發方式的最佳初步價值/風險折衷是用於極速原型開發。或許我們已經達到了這樣一個階段,即產品開發不僅僅是由商業案例驅動,還包括通過客戶互動驗證的快速原型,這些原型在生產開發開始之前幾乎已經接近成品。
– 這對代碼的數量意味著什麼?Vibe Coding及相關趨勢意味著代碼的數量(需要存儲、版本控制和在商業IP上下文中保護)正在急劇增長。企業需要將這一點納入其軟件開發實踐中。
– 測試、質量、安全等方面怎麼辦?生產代碼的要求不會因為AI生成了大部分代碼而改變。然而,當開發者只能對代碼的“什麼”發言,而無法對“如何”發言時,他們在安全和測試審查中的貢獻又能有多少?
– 未來的軟件工程團隊會是什麼樣子?顯然,這些趨勢對於擁有選擇建設內容知識的高級工程師是有益的,他們能夠在不閱讀代碼的情況下,憑藉直覺發現測試中的問題。然而,這也引發了未來工程師如果不再有編寫小段代碼、測試算法正確性等的學習路徑,如何能夠有效地進行Vibe Coding的問題。個人認為,這一趨勢並不意味著軟件工程師的結束(雖然這個問題已被提出)。但我確實相信,這標誌著從編碼到軟件開發的轉變,在這一過程中,整體產品(“什麼”)和複雜系統的行為優先於誰/什麼編寫了特定代碼。
你的企業應該做什麼?
企業應該做幾件事情:
– 確保你的軟件開發經理定期更新有關Vibe Coding等新趨勢的技能。
– 鼓勵討論如何將這些方法推廣到團隊中,包括處理上述問題的準則,並根據企業的特點進行調整。
總結
像Vibe Coding這樣的趨勢具有顯著的潛力,可以提高軟件開發的速度和開發面向客戶的功能的數量,這使得企業必須跟上這一變化並進行調整,以保持競爭力。以上的指導原則可以幫助你“駕馭”這一AI驅動的軟件開發浪潮,做到既實用又安全。
在這個瞬息萬變的科技環境中,企業若想在未來立於不敗之地,除了適應這些新趨勢,還必須重視人才的培養與團隊的持續學習。Vibe Coding不僅是一種技術革新,更是一種思維模式的轉變,企業應該把握這一機遇,塑造未來的軟件開發文化。
以上文章由特價GPT API KEY所翻譯及撰寫。而圖片則由FLUX根據內容自動生成。