只會「氛圍編程」,永遠成不了真正工程師!還差這幾個關鍵環節
Cursor等智能IDE相繼推出,帶來了更智能的編程體驗。
與此同時,Claude 4等基座大模型的編碼性能不斷提升。
再加上Andrej Karpathy的大力推廣,Vibe Coding迅速走紅,已成野火燎原之勢。

Vibe Coding仿佛直接抹平了普通人和專業軟件工程師之間在之前難以逾越的巨大鴻溝。
然而,事實真的有想象中那么輕松美好嗎?
掌握了Vibe Coding,和專業的軟件工程師之間,還有哪些差距需要彌補呢?
就在昨天,The Verge發表了一篇文章,為我們解析了這個問題,幫助我們認清現實,補上差距。

人人都能寫代碼 但不等于會工程
很多人剛開始Vibe Coding時,都會遇到相似的一幕:
AI不止幫你改了你需要它改動的地方,還把其他你不想讓它改動的地方也給改亂了。
這不是你的錯,是AI目前還不夠聰明。
AI需要你下達盡可能精確的命令,才能取得足夠接近你想要的效果。
具體到編程上而言,你需要收緊問題空間。
比如,你可以進行類似將代碼分成若干小塊,每塊由約十幾行代碼組成,讓AI并行修改這些代碼。
這種做法類似于chunking,不是將一大段人看了都頭疼的代碼直接給到AI,AI就只能串行修改,反而容易犯錯。
不要過分高估AI目前的能力,幫它分擔一部分它做得不夠好的工作也是為了讓你避免浪費更多時間在無效的debug上面。
上面只是幫你寫好一段程序的建議。

軟件工程,也是復雜工程
真實的軟件工程,往往由數量龐大、組織架構復雜的若干個程序組成。
通過Vibe Coding,遵循了前面的建議,你在上手后可以相對較為輕松地搭出一個能跑起來的程序。
然而,對于軟件工程這個復雜系統工程而言,這僅僅是第一步。
我們可以用機場作為一個形象的類比。
開發一個新產品特性,類似于在機場新開一個VIP休息室;
更復雜的項目,類似建第二航站樓;
而Vibe Coding構建的小型程序,類似于在機場開一家快閃店,自成一體,用完即走。
Vibe Coding現在可以構建小型程序了,但軟件工程中最棘手最耗時的永遠不是這一步,而是和其他程序有機連接后保證整個系統的正常高效運轉。
實現設計模式本身,也是一個復雜的問題。

對程序員的「品味」,要求變高了
Linux之父Linus Torvalds,作為這個應用最廣泛也最為復雜的開源操作系統的核心開發工作組織者,認為軟件開發中「品味」也很重要。

Linus Torvalds
小到語法規范和算法復雜度,大到整體架構,「品味」的影響無處不在。
好的軟件架構并不是一蹴而就的,而是無數合理的微小決策組成的,而這是大模型很難通過零樣本學習完成的。
這既要依賴既有知識的積累,也要依賴人類的直覺,而這種直覺是需要大量實戰來培養的。
AI使得編程對程序員的要求變高了,以往更多是軟件架構師要負責思考的問題,也被逐級「下放」了。
AI代勞了初級程序員的工作,就像給所有Vibe Coder都配備了一個初級程序員助理一樣。
這并不意味著你少了很多工作量,而是你要學會在Vibe Coding中與AI有效協作:
與它高效溝通,給它具體而精確的工作指引,把省下來的時間花在思考更宏觀也更重要的事情上。
編程的未來 進化還是消解
編程這門手藝的發展史,就是「抽象升級史」:
從毫無可讀性的機器語言,進化到便于人類記憶的匯編語言,再進化到接近人類語法的C語言這類高級語言,伴隨著更易懂的Python的語言演進,最后我們被帶到了人人能用的AI這里。
這其中的進化程度,可以類比成開車回家。

機器語言,直接是大腦下達命令后通過電信號操作相關肌肉進行運動,對人類沒有可讀性。
匯編語言,類似于對車子先打方向盤3秒進行轉向,再踩油門前進10米這類具體操作。
到了C和Python這類高級語言,直接將上述動作封裝成了轉彎這個函數,需要時直接調用「轉彎();」即可。
最后是如今的AI,我們只需要表達最根本的需求即可:「送我回家。」
剩下的一切,具體如何實現,交給AI來思考和處理。
當然,這是理想中的情況,現實是受制于大型工程的復雜性和上下文長度,還沒有足夠多高質量的數據來訓練AI完成過于復雜的宏大工程。
畢竟,面臨復雜工程,人類也是一頭霧水,做不到一蹴而就,很多時候也是邊試錯摸索邊前進的。
要完成復雜工程,即便有了強力AI加持,仍離不開老練的高級軟件工程師依靠知識、經驗、直覺。
然而,要成為高手,就免不了從新手開始,吃那些必須吃的苦,踩那些繞不開的坑。
你還是要在一次次挫敗中嘗試「手搓紅黑樹」、嘗試拋開AI獨立寫bug-free的小型程序,積累自己的編程經驗。

一顆紅黑樹
為了成為高手,AI是你的強力助手和答疑導師,但絕不能替代你親自學習這些基礎知識。
經驗源于實踐,只通過看和想是無法真正學會編程的。
Vibe Coding 賦能與挑戰并存
總結下來的結論就是:AI不會讓軟件工程消亡,至少中短期內,經驗豐富的高級軟件工程師的地位,是AI無法動搖的。
Vibe Coding讓編程變得容易,卻少了自己摸索能得到的鍛煉。
Vibe Coding為我們帶來的真正的挑戰是,學會在便利中保持清醒,不讓理解力和判斷力被AI「偷走」。
對我們而言,或許下一次Vibe Coding時,不要只看是否「0 Error(s), 0 Warning(s)」了,而應該試著去理解AI為什么這樣寫代碼。
理解,才是從「會寫代碼」到「會做工程」的關鍵,才能讓我們從Vibe Coder蛻變成真正的軟件工程師。

























