氛圍編程徹底火了。剛剛,沒有任何 Swift 編程經(jīng)驗的 Karpathy 親自代言,通過與 ChatGPT 多輪對話,僅用 400 行代碼構(gòu)建出自己的首個 iOS 應(yīng)用。
Vibe Coding(氛圍編程),如今成為硅谷最新流行語。
首次提出這一概念的 AI 大神 Karpathy,再度分享了自己的編程新姿勢 —— 用 Swift 編寫首個完整卡路里追蹤的 iOS 應(yīng)用。
令人驚訝的是,他完全沒有 Swift 編程經(jīng)驗,也沒有翻閱任何文檔。
通過與 ChatGPT 的多輪對話,Karpathy 僅用 1 小時完成整個開發(fā)過程,并成功部署到手機(jī)上。
不僅如此,在氛圍編程爆火之后,各路網(wǎng)友紛紛開發(fā)各種游戲、網(wǎng)頁等各類應(yīng)用,甚至就連科技公司也掛上招聘「氛圍編程師」的職位。
一則 YC 招聘啟示中,一則 YC 招聘啟示中,明確提出工作內(nèi)容中的 50% 代碼,均是由 AI 完成,年薪高達(dá) 120k 美金(87 萬元)。
職位介紹中,每天工作 12-15 小時,卻成為了全網(wǎng)的華點(diǎn)。
如果 AI 真的提高了生產(chǎn)力,為啥還會有人每天狂干 12-15 個小時呢?
Karpathy 如何用嘴,迅速完成一個 iOS 應(yīng)用的開發(fā)?
推文中,他具體分享了自己與 ChatGPT 對話的四次過程:啟動應(yīng)用;功能增強(qiáng);使用 AppStorage 持久化數(shù)據(jù);部署到手機(jī)。
在啟動應(yīng)用階段,Karpathy 從 0 開始,告訴 ChatGPT 自己的需求:剛剛下載了 Xcode,希望用 SwiftUI 構(gòu)建一個 iOS 應(yīng)用。
ChatGPT 在接下來開啟了「手把手」教學(xué)。
首先安裝和啟動 Xcode,就這個環(huán)節(jié)已經(jīng)細(xì)致到,打開點(diǎn)擊具體某個選項。然后配置項目,包括命名、界面、編程語言等選擇。
接下來,ChatGPT 還提供了基礎(chǔ)代碼,包括 SwiftUI 的界面布局和邏輯實(shí)現(xiàn),幫助 Karpathy 快速搭建了一個可運(yùn)行的原型。
有了原型之后,便開始實(shí)操了 —— 構(gòu)建一個體脂追蹤的計時器 App。
Karpathy 就像一位產(chǎn)品經(jīng)理一樣,給出了自己的具體要求:「計時器」主要體現(xiàn)隨時間變化而自然消耗的熱量,用大號數(shù)字顯示在屏幕中央,還要每秒更新一次消耗的熱量。
ChatGPT 按照指令,給出了分布構(gòu)建過程,以及下一步建議。
接下來,Karpathy 還要求其給出不同按鍵對應(yīng)的功能代碼搭建過程,以及每秒更新的配置。
第二部分,在基礎(chǔ)版本完成之后,就是去做功能增強(qiáng)。
比如,支持明暗模式切換,簡單的加減按鈕、觸覺反饋和動畫等,ChatGPT 均提供了具體的代碼片段和實(shí)現(xiàn)建議。
為了讓數(shù)據(jù)在應(yīng)用關(guān)閉后依然保存,Karpathy 還向 ChatGPT 詢問了如何使用 AppStorage。
ChatGPT 詳細(xì)講解了 AppStorage 的使用方法,并幫他將卡路里數(shù)據(jù)存儲到 UserDefaults 中。
最后一步,Karpathy 需要將這款應(yīng)用部署到 iPhone 上,ChatGPT 指導(dǎo)他完成了 Xcode 配置、證書設(shè)置、設(shè)備部署的步驟,并最終讓應(yīng)用成功運(yùn)行在手機(jī)上。
經(jīng)過 1 小時的對話,卡路里計時器的應(yīng)用完成了。
下面是計時器的主要功能,一共 200 行代碼,只有幾個 UI 元素和一些簡單的邏輯。
第二天,Karpathy 又通過與 ChatGPT 的 3 次對話,為應(yīng)用添加了一些新功能:動畫環(huán)、將固定值顯示在 [-3500, 3500] 區(qū)間內(nèi)。
剛剛,他還為其添加了日志、為 + 100/-100 添加小字說明并隱藏 BMR 兩個功能。
截至目前,這款應(yīng)用代碼也僅有 400 行。
隨著氛圍編程越來越火,圈內(nèi)大佬 Min Choi 也總結(jié)了一波效果拔群的案例。
開發(fā)者 Luke Van In 用大約 1 萬行 Claude 編寫的代碼構(gòu)建了一款游戲。
他認(rèn)為,當(dāng)前代碼庫的復(fù)雜庫已經(jīng)接近可控的極限,Claude 已經(jīng)能夠重構(gòu) 20% 代碼,并自動添加了武器后坐力和鏡頭抖動的效果。
對于貼花系統(tǒng),Luke 又借助了 Grok 進(jìn)行了一些手動調(diào)整。
xAI 工程師 kache 設(shè)置了一種方法,可以動態(tài)重新加載客戶端和服務(wù)器邏輯,無需用戶刷新頁面,就可以實(shí)時更新和迭代。
他還特意強(qiáng)調(diào),如果自己清楚想要做什么,氛圍編程才能發(fā)揮其優(yōu)勢。
還有一位開發(fā)者 Louie Bacaj 僅用 Claude 3.7+o1 Pro,在幾個小時內(nèi)通過氛圍編程做出一個益智游戲。
還有角色扮演的小游戲,也是通過氛圍編程就能完成。
還有人用兩條提示,就能讓游戲中 NPC 駕駛飛機(jī)。
值得注意的是,并不是所有用上 AI 輔助的編程,都能稱之為「氛圍編程」。
在最近的一篇博客中,知名 web 框架 Django 的共同作者 Simon Willison,就對這一概念進(jìn)行了非常詳盡的解釋。
并且,還獲得了「發(fā)明人」Karpathy 的大加贊賞:
就個人體驗而言,當(dāng)我處于類似下面這條狗的狀態(tài)時,就會稱之為「氛圍編程」—— 比如昨晚開發(fā) iOS 應(yīng)用時的場景。
但實(shí)際開發(fā)中,我很少徹底放任 AI 自由發(fā)揮,更多時候保持著漸進(jìn)式迭代:審閱生成代碼、分階段增加復(fù)雜度、通過持續(xù)提出澄清問題來逐步理解模塊間的交互邏輯。
自從 Andrej Karpathy 在 2 月 3 日首次提出「氛圍編程」后,這一概念隨即登上各大主流媒體,并引發(fā)無數(shù)線上討論。
為了避免偏離初衷,這里必須強(qiáng)調(diào) —— 氛圍編程絕不等同于借助 LLM 編寫代碼,而是在不審查 LLM 產(chǎn)出代碼的情況下構(gòu)建軟件。
「氛圍編程」可以你完全沉浸在氛圍中,擁抱指數(shù)級進(jìn)步,甚至忘記代碼本身的存在。這是因為 LLM(例如 Cursor Composer 搭配 Sonnet)已經(jīng)變得足夠優(yōu)秀。我甚至可以只用 SuperWhisper 與 Composer 進(jìn)行對話,幾乎無需摸鍵盤。
我會提出最基礎(chǔ)的要求,比如「將側(cè)邊欄的內(nèi)邊距減半」。并且總是點(diǎn)擊「全部接受」,而不去查看代碼差異。遇到報錯,就直接復(fù)制到對話框中讓 LLM 去修復(fù)。代碼的復(fù)雜程度已超出我的日常認(rèn)知,真要理解必須逐行細(xì)讀。有時 LLM 無法修復(fù) bug,我就直接繞過或隨機(jī)調(diào)整直到問題消失。
對于周末隨便做的項目來說,可謂是充滿趣味。只是觀察、口述、運(yùn)行、復(fù)制粘貼,結(jié)果居然大部分都能跑通。
作為天賦異稟的資深程序員,Andrej 本無需 AI 輔助。他選擇這種編程方式,是因為嘗試瘋狂的創(chuàng)意充滿樂趣,且 LLM 的代碼生成速度比最頂尖的人類程序員快幾個數(shù)量級。
對于低風(fēng)險的原型開發(fā),何不放手讓它發(fā)揮?
使用 LLM 寫代碼≠氛圍編程與專業(yè)軟件工程師使用 LLM 的方式相比,這種「忘記代碼存在」的開發(fā)方式有著本質(zhì)差異。
首先,軟件工程師需要構(gòu)建的是符合多重標(biāo)準(zhǔn)的系統(tǒng) —— 不僅要可驗證運(yùn)行,還需具備人類可讀性(及機(jī)器可解析性),并能支撐長期迭代開發(fā)。
其次,軟件工程師需要在同時考慮顯性需求與隱性約束的情況下,從數(shù)十種潛在方案中篩選出最優(yōu)解,進(jìn)而實(shí)現(xiàn)性能、可訪問性、安全性、可維護(hù)性、成本效益等指標(biāo)之間的平衡。
第三,軟件工程師還需要對代碼進(jìn)行審查。生產(chǎn)環(huán)境 AI 輔助開發(fā)鐵律是:任何無法向其他人精確解釋工作原理的代碼,都禁止進(jìn)入版本庫。
不難看出,當(dāng) LLM 生成代碼后,軟件工程師會完整地執(zhí)行審查、測試,以及確保可解釋性這一系列流程。也就是說,這本質(zhì)上仍是傳統(tǒng)軟件開發(fā)范式。工具鏈中是否包含 LLM,并不改變工程實(shí)踐的屬性。
氛圍編程的價值雖然氛圍編程≠用 LLM 進(jìn)行編程,但這并不意味著它是一種不負(fù)責(zé)任的開發(fā)方式。
這種突破性的編程形式,實(shí)則蘊(yùn)含著改變世界的潛能 —— 讓數(shù)百萬沒有計算機(jī)學(xué)位或經(jīng)過編程培訓(xùn)的普通人,也能借助工具,讓計算機(jī)完成高度定制化任務(wù),打造屬于自己的個性化工具。
如此一來,那些原本和編程沒什么交集的人可能會因此點(diǎn)燃熱情,并最終成長為專業(yè)開發(fā)者。這個行業(yè)的最大壁壘 —— 如同攀登懸崖般的初始學(xué)習(xí)曲線 —— 將被氛圍編程徹底鏟平。
而資深的工程師們,也可以借此訓(xùn)練自己對模型能力邊界的認(rèn)知。正如此前所論述的,使用 LLM 編碼如同在暗藏技術(shù)雷區(qū)的迷宮中探索,需要持續(xù)積累直覺經(jīng)驗。
一句話總結(jié)就是,「氛圍編程」值得所有「段位」的開發(fā)者親身投入體驗。
參考資料:
https://x.com/karpathy/status/1903671737780498883
https://x.com/karpathy/status/1903870973126045712
https://x.com/minchoi/status/1903895144413159516
本文來自微信公眾號:新智元(ID:AI_era)
本文鏈接:http://www.www897cc.com/showinfo-45-11666-0.html氛圍編程師崛起:年薪 87 萬一天 15 小時,Karpathy 用 400 行 AI 代碼點(diǎn)燃硅谷
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 不用寫代碼:百度全量上線國內(nèi)首個對話式應(yīng)用開發(fā)平臺“秒噠”
下一篇: vivo 回應(yīng)成立機(jī)器人 LAB:正常業(yè)務(wù)調(diào)整,后續(xù)有更多信息披露