![]()
編譯自 Florian Herrengt《AI is removing the middle class of software engineering》|2026年8月11日,頭圖來自:AI生成
2020年,你是團隊里資歷最深的工程師,負責代碼質量和系統架構。你制定工程規范,認真檢查經驗較少的同事提交的PR,努力讓整個代碼庫維持在一個健康的狀態。然后,你休了幾周假。等回來時,事情已經開始失控:大家互相合并PR,卻沒人認真檢查;有人為了開發方便,往數據庫里加了一堆用于反規范化的新表;還有人在沒有充分理由的情況下,把Serverless甚至Kafka塞進技術棧。問題當然麻煩,但至少還來得及修。
時間來到2026年。這一次,你甚至沒有休假,只是一個普通的周一早晨。你沖好咖啡、打開電腦,發現面前躺著7個等待Code Review的PR。點開第一個:新增24,506行,刪除3,938行,旁邊附著一段AI自動生成的說明,告訴你這兩萬多行代碼"理論上"完成了什么。僅僅一個周末,團隊制造出的代碼改動,已經超過過去你離開幾個星期時產生的總量。
這正是AI給軟件工程帶來的一個經常被忽視的變化:AI首先取消的,不是程序員,而是軟件開發原本存在的"速度限制"。當生產代碼變得異常便宜,一個過去并不那么致命的問題也被同步放大——如果團隊缺乏足夠好的工程判斷,它現在可以以前所未有的速度,把項目推向失控。
一、AI取消了軟件開發的"速度限制"
過去開發一個功能之前,人們通常需要坐下來討論:應該怎么做,系統邊界在哪里,數據庫應該怎么設計,有沒有必要增加新的服務。因為真正把一個想法變成代碼本身需要時間,這種"慢"某種程度上反而構成了一道天然的工程約束。但Agent改變了這件事。現在,一個工程師完全可以給AI一個需求,讓Agent連續運行幾個小時,然后直接提交一個巨大的PR。
最危險的地方在于,從表面上看,這種開發方式甚至真的有效。把分支拉下來、運行程序,你大概率會得到一個"基本能用"的東西。于是團隊繼續往前走:再生成一次,再合并一次,再增加一個抽象層,再增加一個服務,直到某一天,整個系統已經復雜到沒有任何一個人真正知道它是怎么工作的。
Herrengt用了一個形象的比喻:這就像用信用卡買了一輛豪華汽車。旁觀者首先看到的是一輛漂亮的新車,而不是背后的債務。AI生成代碼也是如此,人們首先看到的是功能,技術債務則被隱藏在功能背后。
直到用戶開始報告一個奇怪的Bug。團隊已經嘗試修復三次,更準確地說,是三次"讓AI嘗試修復"。這一次,連模型似乎也搞不定。你找到當初負責這個功能的工程師,問:"這里的數據到底從哪里來的?"對方想了一會兒:"其實我也不知道。我問一下Claude。"兩個人坐在屏幕前,看著AI不斷生成長長的分析。Claude說得非常自信,唯一的問題是,你們兩個人都不知道它說的究竟對不對。
這就是AI編程正在制造的一種新的工程悖論:代碼越來越容易產生,但代碼背后的知識并沒有以同樣速度進入人的大腦。過去,一個大型系統當然也不可能被某一個工程師完全理解,但在一個健康的工程組織里,通常"有人知道"。現在,一種新的情況開始出現:寫出代碼的人自己也不知道為什么代碼是這樣的,因為真正做出決定的,可能是一段幾十輪的Claude對話。
當Reviewer追問"為什么這里要這樣設計",工程師發來一個鏈接。那是一段AI聊天記錄:Claude先自信地推薦架構A,然后道歉,說剛才的判斷有問題;接著推薦架構B;用戶讓它重新考慮;Claude再次改變主意。最終進入生產環境的技術決策,就埋在幾十頁聊天記錄的某個角落。問題已經不再只是AI會不會寫錯代碼,而是當工程決策逐漸外包給模型,組織內部是否還在積累真正的工程知識。
二、AI讓"糟糕的工程師"變得前所未有地昂貴
軟件行業一直存在能力差異。一個團隊里,總有一些真正推動項目向前的人,也會有一些人不斷制造復雜性,需要其他同事幫助收拾殘局。這并不是AI時代才出現的問題。真正的變化是,現在任何一個人一天都可以制造過去很長時間才能制造出來的代碼量。這意味著人的能力差異,會被AI同步放大。
一個能夠提交2.5萬行PR的工程師,本來應該在Agent生成幾百行甚至幾十行代碼的時候就停下來,理解它正在做什么,把工作拆成更小的部分,并質疑模型引入的每一個新抽象。Reviewer也應該拒絕審查一個大到實際上無法認真審查的PR;決定加入Kafka的人應該能夠明確回答為什么這里需要Kafka;負責某項功能的人應該知道數據從哪里來,而不是在被問到時發送一個Claude聊天鏈接。
這些要求聽起來都是傳統軟件工程常識,但AI正在讓這些常識變得更加重要。過去,一個錯誤架構從想法變成現實,需要工程師投入大量時間;現在可能只需要幾分鐘。比如,讓一個LLM給數據庫增加若干張表和字段很容易,但一旦生產數據真正寫進這些表,撤銷這個決定就完全是另一回事。你需要設計遷移方案,保證線上系統不中斷,考慮遷移失敗怎么辦,檢查外鍵關系,避免留下孤兒數據,還要確保新舊系統的數據一致性。
制造復雜性的成本已經被AI大幅壓低,但消除復雜性的成本并沒有同步下降。這是原文最值得注意的判斷之一。AI讓"創造技術債"的速度遠遠超過"償還技術債"的速度。一個人下午可以生成2萬行代碼,但仍然需要另一個人坐下來理解這些代碼究竟做了什么。等你終于拆掉一個錯誤架構時,另外五個PR可能已經被合并進主干。
于是AI帶來的效率提升出現了一種反直覺結果:軟件組織獲得了更高的代碼吞吐量,卻不一定獲得更高的工程生產率,因為真正的瓶頸正在從"寫代碼"轉移到"理解代碼、驗證決策和控制復雜性"。
三、當"實現"越來越便宜,工程師究竟為什么值錢?
如果AI已經可以如此快速地生成代碼,那么企業未來為什么還需要高薪軟件工程師?Herrengt認為,答案恰恰隱藏在這個問題里。今天倫敦、舊金山的科技公司愿意給優秀工程師支付六位數級別的薪酬,從來不只是因為這些人能夠把產品需求翻譯成代碼。如果企業真正需要的只是"根據規格實現功能",這種工作在AI出現以前就已經可以通過全球外包,以遠低于硅谷的成本完成。
即使一些科技公司開始宣稱"software is solved",它們仍然愿意花高價爭奪最優秀的工程人才。因為真正昂貴的從來不是敲代碼,而是做出正確決定:知道什么時候應該增加一個數據庫,什么時候不應該;知道什么時候一個新的抽象層能夠降低長期復雜度,什么時候它只是炫技;知道系統未來增長十倍之后會發生什么;知道哪些技術債可以暫時接受,哪些技術債一旦留下就會在兩年后變成災難。
AI降低的是Implementation——實現——的成本,但軟件工程真正稀缺的部分,越來越變成Judgment——判斷。這也是為什么AI可能并不會讓所有軟件工程師一起貶值。恰恰相反,它可能讓工程師之間的價值差距進一步擴大。
四、軟件工程的"中產階級"正在被擠壓
Herrengt給出了一個尖銳判斷:AI可能會進一步拉大軟件工程師之間的薪酬差距。未來,一個工程師首先需要跨過一道新的最低能力門檻——你能夠提供的價值,至少要超過當下最強模型可以直接提供的價值。如果一個Agent已經能夠根據產品需求生成基本代碼,那么"能夠根據需求寫代碼"本身,就不再足以構成稀缺能力。
優秀工程師反而可能變得更貴,因為他們可以借助AI極大提高自己的執行速度,并且不再需要過去那么多初級工程師幫助完成基礎Implementation。過去,一個高級工程師可能需要帶著幾個人完成項目;未來,一個真正優秀的工程師加上若干Agent,也許就能夠完成過去整個團隊的部分實現工作。
但與此同時,能力較弱的工程師正在變得更加昂貴——不是工資更高,而是他們給組織制造錯誤的速度也被AI加速了。這才是"AI正在消滅軟件工程中產階級"這個標題真正想表達的意思:夾在頂尖工程判斷與可被模型商品化的基礎實現之間,那一大批主要靠執行能力獲得不錯收入的人,面臨的壓力可能最大。
五、真正的風險不是Vibe Coding,而是Vibe Engineering
過去一年,Vibe Coding成為AI圈最流行的概念之一。但這篇文章真正警惕的并不是普通人利用AI寫幾個小程序。對于個人項目、原型驗證、一次性工具來說,AI大幅降低編程門檻顯然是一件好事。真正危險的是,當Vibe Coding進入復雜、長期運行、承載真實業務的生產系統之后,它可能逐漸演變成一種"Vibe Engineering":代碼能跑就行,模型說合理就行,測試通過就行,至于為什么這么設計、未來會產生什么后果、系統復雜度是否已經失控,沒有人真正負責。
技術債本身也不是問題。原作者特別強調,技術債并非永遠是壞事。現實商業世界里,工程師當然可以為了更快上線而做出妥協,關鍵在于你必須知道自己正在走捷徑。因為只有知道哪里存在債務,未來才有機會償還。
真正危險的是,團隊通過AI不斷引入自己都沒有意識到的復雜性。這時,技術債甚至不再像一筆可管理的債,而更像一筆沒人知道存在、沒人知道本金多少、也沒人知道利息什么時候爆發的隱藏負債。
六、AI編程真正的瓶頸,正在從Code Generation轉向Code Comprehension
如果把Herrengt的觀點再往前推一步,這篇文章觸及了當前AI編程一個更深的產業問題:過去幾年,整個行業都在努力提高代碼生成速度,Copilot、Claude Code、Codex以及越來越多Coding Agent,都在競爭AI能夠替開發者完成多少工作。但當生成能力提升幾個數量級之后,另一個過去沒有那么突出的瓶頸開始出現——人類還有沒有能力理解AI生成的系統?
代碼生成可以并行,理解卻很難并行。Agent可以在幾分鐘內同時修改幾十個文件,但Reviewer仍然需要理解這些修改之間的依賴關系;模型可以迅速引入新的服務,但生產事故最終仍然需要有人判斷問題究竟發生在哪里。生成速度和系統復雜度正在被AI快速推高,而人的理解能力沒有以同樣速度增長。
這意味著下一階段AI編程真正需要解決的,也許已經不只是"讓模型寫更多代碼",而是讓系統保持可理解,讓架構決策可以追蹤,讓AI解釋自己為什么這樣修改,讓團隊能夠驗證Agent生成的代碼,并讓工程知識重新沉淀到組織,而不是散落在數百個Claude Session里。
從這個意義上說,AI編程下一階段真正稀缺的產品,也許不是更快的Coding Agent,而是幫助人類控制AI產生的復雜性的工程基礎設施。
七、這件事可能不會只發生在程序員身上
文章最后把問題從軟件工程推向了整個知識工作領域。作者認為,同樣的結構可能出現在大多數白領職業中:AI會讓最好的人變得更加高效,同時讓能力較弱的人變得越來越難以被雇傭。過去,一個經驗不足的員工做出錯誤判斷,組織還有時間發現,因為人的執行速度有限;AI改變了這個約束,它把"執行能力"迅速放大。
問題在于,AI既會放大正確判斷,也會放大錯誤判斷。因此,在AI時代,一個人的判斷力可能比執行力更加重要。如果你沒有能力判斷LLM給出的建議是否合理,那么再問一次LLM并不會自動獲得這種判斷力。
原文有一句很值得深思:"At some point, someone still has to know what is going on. And that's the most valuable person on the team."無論AI發展到什么程度,團隊里最終仍然需要有人真正知道正在發生什么,而這個人,會成為團隊里最有價值的人。
過去我們一直問"AI會不會替代程序員",但這個問題可能問錯了。更值得問的是:當AI把普通人的執行能力大幅提升之后,什么能力還會保持稀缺?至少從軟件工程正在發生的變化來看,答案越來越清晰:不是寫更多代碼,而是知道什么代碼不應該寫;不是讓Agent更快完成任務,而是能夠判斷任務本身是否值得完成;不是擁有更多AI生成的答案,而是在所有人都可以得到答案之后,仍然有能力判斷什么是正確的。
如果這個判斷成立,那么AI對就業市場真正深遠的沖擊,可能不是簡單的大規模失業,而是知識工作內部的價值重新分配。AI把Implementation變便宜了,也正因為如此,Judgment正在變得越來越貴。而夾在兩者之間、主要依靠"執行能力"獲得不錯收入的那批知識工作者,可能才是AI時代真正面臨壓力的"中產階級"。
原文標題:AI is removing the middle class of software engineering
作者:Florian Herrengt
發布時間:2026年8月11日
Hacker News討論:https://news.ycombinator.com/item?id=49271994
編譯說明:本文主體案例、判斷與論證鏈來自用戶提供的Florian Herrengt原文;"Code Generation轉向Code Comprehension""Vibe Engineering"等部分為基于原文論點的編輯性歸納與延伸,已與原作者直接觀點作區分。
本文來自虎嗅,原文鏈接:https://www.huxiu.com/article/4882791.html?f=wyxwapp
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.