在 Stack Overflow 最新發(fā)布的《》中,高達(dá) 72.2% 的開發(fā)者表示自己不會(huì)在工作中使用 “Vibe Coding”(氛圍編程),另有 5% 更是明確拒絕將其納入開發(fā)流程。
這種謹(jǐn)慎并非沒有理由。在不少開發(fā)者看來,Vibe coding 生成的代碼常常像一座“看不懂也不敢動(dòng)”的屎山 —— 宛如上古遺留的技術(shù)債,維護(hù)成本極高。
針對這一現(xiàn)象,開發(fā)平臺(tái) Val Town 的創(chuàng)始人 Steve Krouse 發(fā)表了一篇《Vibe code is legacy code》的文章,其結(jié)合自身使用 AI 編程助手的經(jīng)驗(yàn),分享了他對 Vibe coding 的思考。他也提醒大家:如果你身邊有人不懂代碼卻花幾千刀想要請 AI 編寫出價(jià)值十億美金的 App,拜托,這種情況幾乎不可能出現(xiàn)~
原文:https://blog.val.town/vibe-code
作者 |Steve Krouse 責(zé)編 | 蘇宓
出品 | CSDN(ID:CSDNnews)
雖然很多人對這個(gè)詞還搞不太清楚,其實(shí)“Vibe Coding”是前 OpenAI 創(chuàng)始成員 Andrej Karpathy 提出來的,它指的是一種靠 AI 輔助編程的方式,寫代碼時(shí)你都快忘了“代碼”這回事,只需要用自然語言說出你的需求,讓 AI 生成代碼即可。
遺留代碼
我們已經(jīng)有個(gè)詞來形容那種沒人能看懂的代碼,就叫做——遺留代碼。
大家都不喜歡以前同事遺留下來的舊代碼,是有原因的。你可能會(huì)想:“代碼不是擺在那嗎?照著讀不就行了?”
其實(shí)不然。
那是因?yàn)闆]人能讀懂的代碼,就是技術(shù)債。光是弄懂這些陌生的代碼就得花很多時(shí)間,更別說在不引入新 Bug 的前提下加新功能了。
說到底,編程的核心是“構(gòu)建思路、搭理論”,不是“寫越多行越?!?。我們都知道這一點(diǎn),所以才會(huì)笑話那些用代碼行數(shù)來衡量程序員工作量的老板。
而當(dāng)你在“Vibe Coding”的時(shí)候,其實(shí)你是在以 LLM 輸出的速度,飛快地制造技術(shù)債。不是說你不能用“Vibe Coding”這種方式,只是它的使用有很大局限性,相較而言,它非常適合用在原型項(xiàng)目或臨時(shí)小工具上:因?yàn)?b>反正后續(xù)也不打算維護(hù)這個(gè)項(xiàng)目了,那就不算舊代碼。
原型項(xiàng)目 & 一次性代碼
我自己也用 Vibe Coding(氛圍編程)做過一些小項(xiàng)目,比如:
算一算每周增長率:https://growth.val.run/
給《紐約時(shí)報(bào)》的文字游戲“Connections”打分:https://www.val.town/x/stevekrouse/rate-connections
給我未婚妻設(shè)計(jì)一個(gè)求婚頁面:https://stevekrouse.com/proposal
這些項(xiàng)目做完就結(jié)束了,我也沒打算長期維護(hù),所以即使我現(xiàn)在完全看不懂當(dāng)時(shí)的代碼,也沒什么大問題。而且這些應(yīng)用都很小,就算哪天真要回頭看代碼,技術(shù)債也不算嚴(yán)重。
用 Vibe Coding 寫這些小工具的速度,遠(yuǎn)遠(yuǎn)快過我“正?!睂懗鰜淼乃俣龋^程也非常有趣。
Vibe coding 是個(gè)“程度問題”
Vibe coding 并不是“有”或“沒有”的二選一,它其實(shí)是個(gè)光譜,取決于你對代碼理解得有多深。你越明白自己在寫什么,就“vibe”得越少。
比如說,如果你是個(gè)工程師,能明確說自己要一個(gè)帶數(shù)據(jù)庫的 Web 應(yīng)用,那你就已經(jīng)比那個(gè)只會(huì)說“我想做個(gè) App”,完全搞不清 Web App 和原生 App 區(qū)別、也不懂?dāng)?shù)據(jù)怎么存儲(chǔ)的人,要專業(yè)得多,Vibe 得更少。
把信用卡給小孩用,會(huì)發(fā)生什么?
最糟糕的情況是:一個(gè)完全不會(huì)編程的人,試圖用 Vibe coding 做一個(gè)要長期維護(hù)的大項(xiàng)目。
這就像你把信用卡交給一個(gè)小孩,卻沒告訴他“債務(wù)”是什么。
一開始他們可能會(huì)特別興奮:“哇!我只要揮一下這張小卡片,就能買到任何我想要的東西!”
就像現(xiàn)在很多人看到 AI 寫代碼:“AI 真是太強(qiáng)了!根本不需要我學(xué)編程!它都能替我做好了!”
但一個(gè)月后賬單來了,就會(huì)開始懷疑人生:
“我當(dāng)時(shí)真的需要買這些東西嗎?”
“我該怎么把這窟窿補(bǔ)上?”
對于 vibe coder 來說也是一樣的:
“我的代碼怎么突然跑不動(dòng)了?”
“這些文件夾到底干嘛用的?”
“我花了 400 美金讓 AI 幫我寫的東西,現(xiàn)在出了問題,我該怎么辦?”
如果你完全看不懂代碼,唯一的辦法就是:再問 AI 來修復(fù)它。
這就像是:刷了一張信用卡還不上,就又刷另一張信用卡來還債。
2025 年,如果你是認(rèn)真的,就別瞎 vibe
如果你打算做個(gè)“認(rèn)認(rèn)真真搞、還要長期維護(hù)”的項(xiàng)目,那就得聽 Andrej Karpathy 的建議:
把 AI 當(dāng)作是一個(gè)超級聰明但毛病也不少的實(shí)習(xí)生——它什么都懂,能說會(huì)道,但經(jīng)常一本正經(jīng)地胡說八道,還總是自信滿滿,對代碼質(zhì)量也沒什么品味。你得對它嚴(yán)加看管,做事要慢、謹(jǐn)慎、保守、懷疑一切,能學(xué)習(xí)的地方就抓緊學(xué),千萬別一股腦全甩給它。
——Andrej Karpathy, Twitter
AI 編程變化太快,但有些東西不會(huì)變
AI 編程這件事,最近變得非常快,快到你都不知道明天又會(huì)冒出什么新東西。但我很確定:構(gòu)建“理解”仍然是開發(fā)復(fù)雜軟件的核心。
我們的技術(shù)背景、我們的專業(yè)判斷,依然重要!
而我也挺樂觀的,覺得 AI 會(huì)繼續(xù)在一些意想不到的方向上,真正把編程這件事變得更好。
如果你身邊有那種不懂編程卻花了幾千刀用 AI 去 vibe coding,幻想做出一個(gè)價(jià)值十億美元的 App 的朋友,請向他們轉(zhuǎn)述:vibe coding 不會(huì)把他們送去想去的地方。他們遲早得面對現(xiàn)實(shí):用人眼去讀代碼。
而且得接受一個(gè)事實(shí):
有時(shí)候,與其修那些一團(tuán)亂麻的舊代碼,還不如從頭重新寫一個(gè)干凈的項(xiàng)目。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.