<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      第三個軟件黃金時代來了!軟件工程宗師、70 歲 UML 之父發(fā)聲:AI 自動化被嚴重夸大,Dario Amodei 又越界了

      0
      分享至

        

        編譯|宇琪、Tina

        每隔幾十年,軟件工程就會被宣告一次“已死”,或者“即將被自動化徹底取代”。類似的說法,我們其實早就聽過很多次了。但如果這一次,并不是終結,而是另一種形態(tài)的軟件工程“黃金時代”的開始呢?就像歷史上多次發(fā)生過的那樣。

        最近,軟件工程領域的奠基人物之一 Grady Booch 在播客節(jié)目中,與主持人 Gergely Orosz 細致分享了對自 20 世紀 40 年代以來計算領域三次“黃金時代”的理解,以及這些時代如何在各自的技術約束下應運而生。

        這場對話之所以引發(fā)廣泛關注,還有一個直接原因。在節(jié)目中,Booch 正面評價了 Anthropic CEO Dario Amodei 最近引發(fā)巨大爭議的判斷——“軟件工程將在 12 個月內被自動化”。他的結論明確:如果用一個技術性的詞來形容,這個判斷在根本上是錯誤的。

        在 Booch 看來,這類說法混淆了“寫代碼”和“軟件工程”本身,也忽略了一個反復在歷史中出現的事實:工具會一次次改變,但軟件工程真正要解決的難題,從來沒有消失。 恰恰相反,每一次“自動化恐慌”,最終都對應著一次更高抽象層級的到來,以及一個新的黃金時代的開啟。

        基于該播客視頻,InfoQ 進行了部分刪改。

        核心觀點如下:

        現代計算的許多成果,其實是織就于“悲傷的織機”之上。

        軟件是一個極其動態(tài)、流動且高度可塑的領域。一旦我們掌握了構建某類系統的方法,并形成了可復用的模式,便會迅速發(fā)現它們在經濟上具有新的應用空間。

        很多所謂的“職業(yè)危機敘事”,其實源于對行業(yè)的狹隘理解。真正發(fā)生的事情是:軟件正在擴展到更廣泛的人群中。非職業(yè)開發(fā)者將會寫出更多軟件,而這是極其積極的變化。

        當你站在通往新事物的門檻上,可以選擇凝視深淵、害怕墜落;也可以選擇縱身一躍、展翅高飛。現在,就是該飛的時候。

        第一個黃金時代:
      算法抽象撐起的軟件世界

        Gergely:你曾多次提到,軟件工程的整體演進,本質上是抽象層級不斷提升的過程。你能否梳理一下其中幾個關鍵的轉折點,幫助我們理解這一脈絡,并進一步說明 AI 在其中扮演的角色?

        Grady:“軟件工程”這一術語本身,其實出現得相當晚。最早明確使用這一說法的,通常被認為是 Margaret Hamilton。當時她剛離開“載人軌道實驗室”項目,轉而參與阿波羅計劃。在一個幾乎完全由硬件與結構工程師構成的男性團隊中,她是極少數的軟件開發(fā)者之一。她希望用一個詞來區(qū)分自己的工作,于是開始使用“軟件工程師”這一稱呼。

        后來也有人沿用了這一說法,尤其是人們常提到的 NATO 軟件工程會議。事實上,那次會議的召開比 Margaret 的工作還要晚幾年,而“軟件工程”這一命名本身也帶有一定爭議性,正如“人工智能”在其首次學術會議上所引發(fā)的爭論一樣。盡管如此,隨著時間推移,這個詞逐漸被接受并固定下來。

        其核心含義在于:Margaret 以及她的同時代人意識到,這是一種具有工程屬性的活動。工程的本質在于,在各種靜態(tài)與動態(tài)約束之間,構建盡可能合理的解決方案,而非追求完美。這一點與結構工程、電氣工程或化學工程一致。

        在軟件領域,我們所面對的介質極其靈活、可塑、富有彈性,但約束同樣真實存在。我們依然受制于物理定律,例如信息傳輸不可能超越光速;我們構建系統的規(guī)模受到硬件能力的限制;在算法層面,也存在根本性的邊界。我們可能在理論上知道如何解決某些問題,比如對蜂窩通信至關重要的 Viterbi 算法,但在很長一段時間內,并不知道如何將其有效實現。快速傅里葉變換亦是如此:理論早已存在,但在具備可計算性之前,實際應用無法推進。

        除了科學和計算層面的限制,人類因素同樣重要。我是否能聚集足夠的人來完成工作?能否有效組織團隊?理想情況下,軟件開發(fā)的最佳團隊規(guī)模是零,其次是一人,但這顯然并不現實。正因為這些系統在經濟與社會層面具有長期且深遠的影響,我們不能依賴個體,而必須讓軟件本身具備超越個人生命周期的能力。

        隨著軟件逐漸滲透到社會結構的縫隙之中,法律問題隨之而來,例如數字版權管理。但更為根本的是倫理問題:我們或許知道如何構建某些系統,但是否應該構建它們?這是否符合人類的價值與尊嚴?

        正是這些科學、技術、人類與倫理層面的靜態(tài)和動態(tài)力量,共同作用于軟件工程師。工程師所做的,正是在多重約束之間取得平衡,并在一種極其美妙的媒介中構建系統。

        軟件工程的發(fā)展可以劃分為不同的時代。最早的時候,幾乎不存在“軟件”這一概念。人們只是直接操作機器,硬件與軟件之間并無明確界限。以 ENIAC 為例,在插線板上插拔線路是否算編程?可以算,但那并不是我們今天所理解的軟件。

        直到 20 世紀 40 年代末、50 年代初,隨著計算機形態(tài)的演進,人們才逐漸區(qū)分出軟件這一獨立存在。當時的軟件幾乎完全是定制化的,并且與特定機器緊密綁定。但軟件本身的成本開始變得不可忽視。人們希望硬件不斷升級,卻不愿意因此放棄既有的軟件投資,這促使了“軟硬件解耦”這一關鍵問題的出現。值得注意的是,“數字化”這一術語直到 20 世紀 40 年代末才被提出,“軟件”一詞更是要到 50 年代才出現。軟件作為一種獨立實體被承認,其實就在我這一生中發(fā)生,這本身就令人震驚。

        隨著軟件逐漸從硬件中解耦,Grace Hopper 等人開始意識到,軟件不僅是一種技術活動,也可以成為一門產業(yè)和制度。最早的軟件主要以匯編語言形式存在,與具體機器高度耦合。到了 20 世紀 60 年代,IBM 意識到可以構建一整套擁有統一指令體系的計算機架構,從而在升級硬件的同時保留軟件資產。這一決定既是工程選擇,也是商業(yè)和經濟選擇。一旦這一思路確立,軟件需求迅速爆發(fā),軟件工程由此進入了第一個黃金時代。

        在這一時期,軟件成為一個獨立產業(yè),其核心挑戰(zhàn)是“復雜性”。雖然以今天的標準看,當時的系統相對簡單,但在那個時代,它們已經極難理解與構建。由于軟件仍然高度貼近機器,最主要的抽象形式是算法抽象。計算機最初被用于數學運算,因此像 Fortran 這樣的語言,本質上就是為了實現公式翻譯。

        Gergely:從時間線上看,這一代大致對應哪個階段?

        Grady:大約從 20 世紀 40 年代末持續(xù)到 70 年代末。這一時期的代表人物包括 Ed Yourdon、Tom DeMarco、Larry Constantine 等,實體關系模型等思想也在此時出現,并影響了數據領域。

        這是一個極其活躍的階段。流程圖被發(fā)明出來,用于輔助系統設計;軟件開發(fā)形成了分工體系,有系統分析人員、程序員、打孔員和計算機操作員。這種分工主要由經濟因素驅動,當時機器的成本遠高于人力成本,因此一切都圍繞著如何最大化利用稀缺而昂貴的計算資源展開。

        這一階段的主要任務集中在數學計算和既有業(yè)務流程的自動化。例如會計、薪資等工作原本需要大量人工,通過軟件不僅可以加速流程,還能提高精度。因此,當時絕大多數軟件都是商業(yè)、數值和計算密集型系統。

        在公眾視野之外,國防、航空、氣象和醫(yī)療等領域同樣在推動關鍵創(chuàng)新。真正前沿的探索,往往發(fā)生在這些邊緣領域,尤其是國防系統。冷戰(zhàn)背景下,分布式、實時系統成為剛需。Whirlwind 計算機、SAGE(半自動地面環(huán)境系統)等項目相繼出現。SAGE 系統的規(guī)模之大,據估計曾占用當時美國 20% 到 30% 的軟件工程師資源。這是一個前所未有的工程規(guī)模,也標志著第一代軟件工程黃金時代在邊緣地帶孕育出的深遠影響。

        Gergely:軍事領域是當時軟件研究和產業(yè)推進中最大的出資方,對嗎?因為他們有這種現實需求。

        Grady:確實如此。正因為當時存在明確而現實的威脅,軍事領域不得不持續(xù)投入。因此,許多關鍵創(chuàng)新都發(fā)生在國防體系中。我在正在制作的一部計算機歷史紀錄片里用過一句話:計算機發(fā)展史中有兩個最重要的驅動力,一個是商業(yè),我們已經討論過它的經濟邏輯;另一個是戰(zhàn)爭。

        現代計算的許多成果,其實是織就于“悲傷的織機”之上。我們今天習以為常的許多技術,例如互聯網、微型化技術,幾乎都源自政府資助,尤其是在冷戰(zhàn)背景下。所以,從某種意義上說,我們確實“受益于”冷戰(zhàn)。

        為什么第一黃金時代走到了極限?

        Gergely:那這一階段仍然屬于第一代軟件工程的黃金時代嗎?還是已經跨過去了?

        Grady:這些事情依然發(fā)生在第一代黃金時代之中。當時的軟件工程有一個相對清晰的“重心”,但在邊緣地帶也同時發(fā)生著大量推動行業(yè)演進的探索。在第一代軟件工程黃金時代,軟件的主要應用集中在數學計算和商業(yè)系統上,系統分解的核心方式是算法抽象,我們更多從過程和函數的角度理解世界,而非從數據或對象的角度出發(fā)。但在邊緣領域,一些應用場景正在不斷突破這一范式,例如對分布式系統的需求、多機協同的需求、實時系統的需求,以及對人機交互界面的需求。

        今天我們所使用的圖形用戶界面,其源頭可以追溯到 Whirlwind 和 SAGE 系統。當時最早的圖形界面基于陰極射線管(CRT),這些探索并不處于當時軟件開發(fā)的中心地帶,卻在后來產生了深遠影響。這里的一個重要啟示是:軟件是一個極其動態(tài)、流動且高度可塑的領域。一旦我們掌握了構建某類系統的方法,并形成了可復用的模式,便會迅速發(fā)現它們在經濟上具有新的應用空間。這正是軟件工程第一個黃金時代的特征。

        不過,到 20 世紀 70 年代末、80 年代初,這一體系開始顯現出裂痕。NATO 舉辦的軟件工程會議,是首次在公共層面清晰指出問題:NATO 意識到自己面臨嚴重的軟件困境:對軟件的需求幾乎無窮無盡,但在質量和速度上,行業(yè)卻無法有效交付。這便是后來被稱為“軟件危機”的背景。

        Gergely:這場“軟件危機”究竟指的是什么?人們當時具體在擔憂什么?

        Grady:軟件已經被證明具有巨大的價值,也具備明確的經濟激勵,但整個行業(yè)無法以足夠快的速度、足夠高的質量,生產出足夠規(guī)模的軟件。

        Gergely:也就是說,軟件既昂貴、又緩慢,而且質量還不穩(wěn)定?

        Grady:還要再加上一點:需求極其旺盛。人們不斷地說,“我們還需要更多軟件”。這四個因素疊加在一起,構成了當時的危機。這與今天我們擔心的隱私監(jiān)控、系統崩潰等問題并不相同。每一個黃金時代所面對的“危機”,其性質都會發(fā)生變化。

        Gergely:站在今天回看那個時代,真的很難想象當時的處境。

        Grady:在當時,這種危機是真實而迫切的,同時也是一個令人興奮的時代。軟件作為一種高度靈活、可擴展的媒介,幾乎只受限于我們的想象力。

        再疊加上微型化技術的突破:集成電路的出現、Fairchild 的誕生,以及硅谷的形成——這一切都源于晶體管技術。Fairchild 的第一大客戶其實是美國空軍,用于導彈項目。早期硅谷生產的大部分晶體管,都被用于冷戰(zhàn)相關計劃。但正是這些需求,奠定了規(guī)模化生產的經濟基礎,繼而催生了集成電路、個人計算機等一系列后續(xù)發(fā)展。

        到了 20 世紀 70 年代末,軟件危機已經非常明顯。以美國政府為例,他們意識到自己正陷入“巴別塔”問題:軍方系統中使用的編程語言多達一萬四千種。即便以今天的標準來看,這個數字也極其驚人,更何況當時軟件系統的規(guī)模遠小于現在。JOVIAL、COBOL 等語言被廣泛使用,同時,ALGOL 等語言推動了形式化方法的發(fā)展。在 Dijkstra、Hoare 等人的影響下,人們開始將數學嚴謹性引入編程語言研究,形式語言理論由此興起。

        正是在這一背景下,美國政府推動了 Ada 項目,最初由一個聯合項目工作組發(fā)起,目標是減少語言數量,試圖以一種統一語言取而代之。這背后匯聚了大量研究成果,例如抽象數據類型、信息隱藏、關注點分離,以及 Knuth 提出的文學化編程思想。Ada 是一次試圖在宏觀層面整合這些理念的實踐,這種規(guī)模的推動,只有當時的美國軍方具備條件完成。

        與此同時,貝爾實驗室孕育出了 C 語言和 Unix,這些成果同樣極為關鍵。而在學術與產業(yè)的邊緣,一位名叫 Bjarne Stroustrup 的研究者開始思考:是否可以將 Simula 中的面向對象思想引入 C 語言,以解決其固有缺陷。值得一提的是,Simula 是最早的面向對象語言。這一切反映出一個更深層的變化:人們開始意識到,僅靠算法抽象已不足以應對復雜性,軟件需要新的抽象方式:對象抽象。

        有趣的是,這種“從過程看世界”與“從事物看世界”的分歧,早在柏拉圖時代就已出現。柏拉圖在其對話中探討過,人們究竟應當以過程還是以對象來理解世界,“原子”這一概念本身就源自這一思想傳統。換言之,抽象的選擇并非新問題,只是被重新應用到了軟件領域。

        此外,函數式編程思想也在這一時期逐漸成形。Fortran 的發(fā)明者在完成該語言后,轉而探索以無狀態(tài)數學函數為核心的編程范式。我曾在他去世前幾個月采訪過他,問他為何函數式編程始終未能成為主流。他的回答是:函數式編程讓“難的事情變簡單”,卻讓“簡單的事情變得異常困難”。這也解釋了為何它始終占據重要位置,卻未成為主導范式。

        至此,我們來到了第一代軟件工程黃金時代的尾聲,并逐步邁向第二代。推動這一轉變的力量包括持續(xù)增長的系統復雜性、規(guī)模化開發(fā)的困難,以及在國防領域中對分布式系統價值的進一步認知。同時,微型化技術的成熟也催生了個人計算機的出現。

        第二個黃金時代:
      從“過程”到“對象”,軟件開始變復雜

        Gergely:這主要得益于晶體管和電子技術的突破,對嗎?

        Grady:正是如此。這是一個極具活力的時代。業(yè)余愛好者開始能夠親手組裝計算機。在此前,這種規(guī)模的參與幾乎是不可想象的。

        Gergely:這是計算史上第一次,愛好者能夠真正大規(guī)模參與進來嗎?

        Grady:是的。經濟條件改善,加之軍方推動的晶體管和集成電路生產,使得普通人能夠獲得這些元件。在硅谷,人們可以直接購買并實驗這些技術。

        “玩”在軟件歷史中始終扮演著重要角色。20 世紀 70 年代末到 80 年代初,是一個高度實驗性的時代。有一本書《What the Dormouse Said》指出,個人計算機的興起與嬉皮士反主流文化密切相關。這是一種“權力下放”的精神,與 Stewart Brand、Merry Pranksters 等人物和社群緊密相連,也催生了早期的在線社區(qū),如 The WELL——后來我們稱之為電子公告板系統。總的來說,70 年代末到 80 年代初,是一個充滿可能性的階段,大量新的技術路徑和思想在此時同時萌發(fā)。

        當時我們逐漸意識到,軟件工程正在發(fā)生一場重要轉變:人們開始不再僅僅通過“過程”來理解世界,而是通過“對象”和“類”。與此同時,分布式系統的需求,以及構建愈發(fā)復雜系統的現實壓力,共同形成了一場“完美風暴”,推動了軟件工程的第二個黃金時代。

        坦率地說,我正是在那個階段進入這個領域的,只是恰好身處正確的時間和地點。那時我在范登堡空軍基地工作,參與導彈系統和航天系統的相關項目,其中還包括一個設想中的軍事航天飛機計劃。那是一個非常有趣的地方,因為幾乎每周都會有一到兩次發(fā)射。你會跑出去看著火箭升空,感嘆“太不可思議了”。

        時間來到 20 世紀 80 年代末,世界已經為一種新的軟件觀念做好了準備,這就是面向對象編程與面向對象設計。與第一代軟件工程相比,它最大的不同在于抽象層次的變化。我們不再只是把數據視為一片原始的數據湖,再用算法去操作它,而是將數據與行為整合到同一個概念之中,形成對象。這種方式極大地拓展了我們能構建的系統復雜度,奠定了許多重要軟件的基礎。

        如果你去計算機歷史博物館看看 MacWrite 和 MacPaint 的源碼,就會發(fā)現它們是用 Object Pascal 寫成的,是我見過結構最優(yōu)雅的軟件之一。它們的設計嚴謹、組織清晰,其中許多設計決策至今仍然能在 Photoshop 等現代系統中看到延續(xù)。這本身也說明了軟件生命周期的一個有趣事實。

        從對象的視角理解軟件,被證明是一種極為有效的方法,因為它為解決軟件復雜性問題提供了全新的路徑。正如第一黃金時代一樣,第二黃金時代同樣充滿活力。20 世紀 80、90 年代,涌現出一批重要人物,比如“三位一體”(我本人、Ivar Jacobson 和 Jim Rumbaugh),以及 Peter Coad、Larry Constantine、Ed Yourdon 等,共同推動了從“過程”轉向“對象”的思考方式。當然,我們也犯過錯誤,例如一度過度強調繼承,把它當成萬能解法,這后來被證明并不完全正確。但從類和對象來理解世界的基本思想,最終被保留并沉淀下來。

        與此同時,這也是一個經濟層面的轉折點。隨著系統規(guī)模不斷擴大,平臺開始興起。事實上,這在第一黃金時代就已有先例:人們反復構建相同的功能,于是開始將常用算法和過程打包復用,例如磁盤操作、終端輸出、排序算法等。這些實踐最終催生了軟件共享的概念。在商業(yè)系統領域,IBM 的 SHARE 用戶組織便是典型代表,它是一個由客戶自發(fā)組織、相互共享軟件的社群。

        Gergely:這是不是一種相對原始的“打包”方式?比如把排序算法或一些通用功能集中起來分發(fā)?

        Grady:需要澄清的是,這并不是 IBM 官方在做,而是完全由用戶社區(qū)推動的,這實際上是最早的開源軟件形態(tài)之一。當時的軟硬件經濟結構也很不同,軟件通常是隨硬件免費提供的,直到 20 世紀 60 年代后期,IBM 才意識到軟件本身可以作為商品,開始將軟硬件解耦并單獨收費。

        在更早的階段,社區(qū)氛圍非常開放,人們會說:“我寫了這個工具,你拿去用吧。”這正是開源精神的雛形。類似的事情在第二黃金時代再次發(fā)生,只不過抽象層次更高了。人們開始共享庫、組件和工具,比如驅動 CRT 顯示器的程序。這些東西本身并不構成競爭優(yōu)勢,卻極大地提升了構建復雜系統的能力。

        在這種背景下,平臺逐漸形成。隨著庫和組件規(guī)模不斷擴大,分布式系統興起,我們開始討論“面向服務的架構”(SOA)。HTML 和 HTTP 讓信息交換成為可能,人們開始設想通過網絡共享圖像、消息乃至服務。SOAP 等協議由此誕生,成為當今平臺時代的前身。這些變化,正是在第二黃金時代為平臺經濟奠定基礎。

        Gergely:“平臺”的興起,具體是指什么?你如何定義平臺?

        Grady:AWS 和 Salesforce 都是典型例子。這些平臺就像一座座“經濟城堡”,周圍有護城河。平臺方允許你付費跨過護城河,使用其能力,其前提是:如果你自己從頭構建,成本會高得多。因此,在第二黃金時代,我們看到了 SaaS 類企業(yè)的興起,因為某些軟件的復雜性和成本已經高到足以支撐這種商業(yè)模式。進入 90 年代末、21 世紀初,這是一個同樣充滿活力的階段?;ヂ摼W快速發(fā)展,軟件開始真正滲透進社會的各個縫隙,成為文明基礎設施的一部分。電子郵件就是一個典型例子。

        Gergely:你什么時候有了第一個郵箱?

        Grady:1987 年,那時還是 ARPANET。隨著軟件成為日?;A設施,第一黃金時代所擔憂的許多問題逐漸“消失”了,不是被忽視,而是被內化進系統之中。優(yōu)秀的技術會“蒸發(fā)”,成為空氣的一部分。第二黃金時代,正是當今軟件世界的根基。

        2000 年前后,互聯網泡沫破裂,經濟邏輯無法支撐此前的擴張,同時還發(fā)生了 Y2K 問題。事后看似乎“什么也沒發(fā)生”,但那是因為無數工程師付出了巨大的努力,才避免了災難,這正是“最好的技術你看不見”的典型例子。

        Gergely:我還記得千年蟲之前的緊張氣氛,甚至有電影預言世界末日。結果什么都沒發(fā)生,很多人因此不再相信這種預警。

        第三個黃金時代:
      不是 AI 時代,而是軟件工程成熟期

        Grady:此時,我想補充一條此前未展開的歷史線索:AI。

        AI 的第一個黃金時代出現在 20 世紀 40、50 年代,以符號主義為核心,代表人物包括 Herbert Simon、Newell 和 Minsky。當時也嘗試過神經網絡,比如用真空管實現的人工神經元,但由于算力和理論限制,最終失敗,AI 進入寒冬。第二個黃金時代出現在 80 年代,以規(guī)則系統和專家系統為代表,盡管硬件和架構有所進步,但仍然難以規(guī)?;?,最終再次陷入停滯。

        進入 21 世紀,我認為我們其實已經身處軟件工程的第三個黃金時代。其標志在于抽象層次的再次躍遷:從單個程序,提升到平臺級庫、框架和服務。我們不再自己實現消息系統或數據管理,而是直接使用現成的平臺能力。AI 編程助手的出現,正是對這種復雜度增長的回應。它們并非偶然,而是第三黃金時代演進邏輯的自然結果。

        當下的問題已經不同于前兩代:軟件規(guī)模空前龐大,安全、供應鏈攻擊、系統信任成為核心議題;同時,軟件巨頭的重要性使其具備“系統性風險”;此外,技術倫理問題也被推到臺前:我們能做到的事情,是否就意味著我們應該去做?

        Gergely:很多人其實很少回頭去想:這一切究竟是如何開始的,以及軟件工程這門學科本身到底有多“年輕”。即便從 70、80 年這個尺度來看,它也不過勉強算是兩代人的歷史。

        但我現在在行業(yè)里普遍感受到一種情緒,尤其是在最近這個階段,很多軟件工程師正在經歷一種明顯的“存在主義焦慮”。這種焦慮在這個冬歇期之后明顯加速了。在冬歇期之前,AI 和大語言模型主要還只是自動補全工具,偶爾能生成一些代碼;但在冬歇期之后,新一代模型已經能寫出質量相當高的代碼,甚至到了我開始真正信任它們的程度。

        從歷史上看,寫代碼一直是一件困難的事情,我們往往需要多年訓練才能熟練,真正做到優(yōu)秀則更久。因此,現在很多人開始陷入一種深刻的不安:機器居然能寫出如此好的代碼,這到底是怎么在短短幾個月內發(fā)生的?接下來會怎樣?編碼一直和軟件工程高度綁定,但現在似乎不再如此了。從你的歷史視角來看,你如何理解當下正在發(fā)生的事情?

        Grady:這并不是軟件工程師第一次經歷這樣的存在性危機。類似的焦慮在第一代、第二代軟件工程時期都出現過。所以我的態(tài)度一直是:歷史會重演,這一輪也終將過去。我經常對擔憂的人說,不必恐慌,把注意力放在基本功上,因為那些能力不會消失。

        我曾經見過 Grace Hopper,正是她在 20 世紀 50 年代意識到,軟件可以從硬件中抽象出來。這一思想在當時極具顛覆性,甚至引發(fā)了強烈反對。很多早期計算機工程師認為,如果不緊密依附硬件,就不可能寫出高效的軟件,他們擔心這種做法會摧毀整個行業(yè)。事實證明,他們錯了。

        類似的爭論后來也出現在 Fortran 出現時。有人堅信,人類手寫的匯編代碼一定比編譯器生成的代碼更高效,但隨著抽象層級的提升,這種觀點被一次次推翻。每一次抽象躍遷,都會讓一部分既有技能失去中心地位,而這些變化往往正是由工程師自己推動的。

        過去這種沖擊沒有引發(fā)如此劇烈的情緒,一個重要原因是:當時從業(yè)者規(guī)模很小,可能只有幾千人;而今天,這個群體是數以百萬計的。人們理所當然會問:那我怎么辦?

        我也經常被年輕工程師問到類似的問題:“我是不是選錯了方向?”我的回答始終是:現在恰恰是進入軟件行業(yè)的好時機。原因很簡單,我們正在經歷一次新的抽象層級躍遷,就像從機器語言到匯編語言,從匯編到高級語言,從高級語言到庫和平臺那樣。

        這種變化對我而言是極大的解放。我不再需要關注大量瑣碎細節(jié),但軟件工程的基本原則依然存在。只要你是在構建需要長期維護、需要經得起時間考驗的軟件,這些能力就不可替代。

        當然,如果你只是寫一次性代碼、寫完就扔,那隨便用什么工具都可以。我看到很多人正是用 AI 代理來完成這種“用完即棄”的自動化任務,這完全沒問題,甚至非常有價值。

        這讓我想起早期個人計算機時代的“愛好者文化”。當年,許多原本與軟件毫無關系的人開始自己寫程序,產生了大量新想法。今天的情況極為相似。你可以用 AI 自動化一些過去經濟上根本不值得做的事情,即便這些成果未必長期存在,但它們依然創(chuàng)造了價值。

        Gergely:就像當年普通人可以買得起個人電腦一樣,如今也有很多原本不在行業(yè)內的人開始寫軟件。我剛和樓上的鄰居聊過,她是一名會計,但已經在用 ChatGPT 幫團隊寫代碼,提高流程效率。

        Grady:早期個人計算機時代,藝術家、游戲玩家紛紛涌入這一新媒介,創(chuàng)造了前所未有的活力,今天同樣如此。很多所謂的“職業(yè)危機敘事”,其實源于對行業(yè)的狹隘理解。真正發(fā)生的事情是:軟件正在擴展到更廣泛的人群中。非職業(yè)開發(fā)者將會寫出更多軟件,而我認為這是極其積極的變化。就像當年的個人電腦反主流文化一樣,歷史正在重演。

        Dario 判斷錯在根上:
      工具在變,軟件工程的難題沒變

        Gergely:Anthropic 的 CEO Dario Amodei 曾預測,大約 90% 的代碼會由 AI 生成,當時聽起來很夸張,但后來事實證明他并非完全錯誤。最近他又說了一句更令人不安的話:“軟件工程將在 12 個月內被自動化”??紤]到編碼只是軟件工程的一部分,這個說法顯得更加激進。你怎么看?

        Grady:我有一兩點要說。

        首先,我用 Claude,我用 Anthropic 的產品。我覺得它是我的首選系統。我用它來解決 JavaScript、Swift、PHP(沒錯,甚至 PHP)、還有 Python 的問題。我確實在用,而且它對我?guī)椭艽蟆饕且驗槲蚁胗媚承欤汗雀杷阉魈珷€了,文檔也很爛,所以我用這些 agent 加速對它們的理解。

        但別忘了:我在這些領域里至少有一兩年的經驗——好吧,準確說是幾十年——我理解基本原理。所以我才會說:基本功不會消失。這一點在任何工程學科里都成立:基本原理不會消失,變化的是我們使用的工具。

        因此,Dario,我尊重你的表達,但也要認識到:他和我視角不同。他在帶領一家公司,公司需要賺錢,他需要對利益相關方說話。所以他會說一些“聳動的”話。我記得他好像是在達沃斯講的這些?

        Gergely:對。

        Grady:如果用一個“技術術語”來評價他的結論,那就是:它在根本上是錯誤的(profoundly wrong)。原因有幾方面。

        第一,我接受他的部分觀點:它會加速某些事情。但它會消滅軟件工程嗎?不會。我認為他對“軟件工程是什么”有根本誤解。

        回到我一開始說的:軟件工程師是負責平衡各種力量的工程師。代碼只是我們的一種機制,但不是驅動我們的唯一因素。而他或他同事討論的那些東西,沒有一個觸及軟件工程師必須面對的那些決策問題——那些都不在當前所謂“自動化”的范圍之內。

        他的工作主要聚焦在最低層的自動化——我會把它類比為當年編譯器所做的事情。所以我說:這是一輪新的抽象層級上升。開發(fā)者們別害怕:工具在變,但問題并沒有消失。

        我反駁他的第二個理由是:像 Cursor 這類系統,大多訓練在一組我們已經反復見過的題型上。這沒問題。就像第一代、第一個黃金時代,我們也面對的是一組相對固定的問題,于是圍繞它們建庫?,F在同樣如此。

        如果我要在 CRUD 之上搭一個 UI,或者做一個偏 Web 的東西,當然可以做到。更重要的是,這種能力開始“下沉”——很多原本需要專業(yè)工程能力才能完成的事情,如今被更高層抽象直接交付給了更多人。多數人不會因此去做一門生意,當然也會有極少數人能把它做成產品。但關鍵在于:更高層抽象讓他們能做以前做不到的事。

        而 Dario 忽略了一點——我借用一句莎士比亞式的轉述來講:“計算世界里還有更多東西,超出你哲學所能夢到的范圍。” 計算世界遠遠不只是“可規(guī)?;?Web 系統”那一塊。我們今天確實把很多東西應用在這種以 Web 為中心的大規(guī)模系統上,我覺得這很好、很棒,但這也意味著:外面還有大量東西尚未被自動化。我們會不斷把“邊界 / 前沿”繼續(xù)往外推。

        我一開始講那些故事,就是因為歷史正在重復——或者有人說,歷史在押韻。今天發(fā)生的現象本質相同,只是發(fā)生在不同的抽象層級上。

        這是第一點:軟件世界比他所看的更大,不僅是“軟件密集型系統”,也不僅是他關注的那一小塊。

        第二點,如果你看這些 agent 主要處理的系統類型,它們本質上是在自動化那些我們反復見過、它們也在訓練中反復學過的模式。模式本身就是一種新的抽象:它不只是單個算法或單個對象,而是由一群對象和算法組成的“社會”,彼此協作。

        這些 agent 很擅長自動化“模式的生成”。我想做某種東西,我可以用英語描述——因為模式本來就是我們用自然語言來描述的。

        所以這就是為什么我認為他錯了。祝他好運。但我覺得這是一個更令人興奮的時代,而不是一個需要在存在層面恐慌的時代。

        我再講一個關于“抽象層級上升”的故事。

        英語是一種非常不精確的語言,充滿歧義與細微差別。你可能會想:這種語言怎么可能成為“有用的語言”?答案是:我們作為軟件工程師其實一直在這樣做。

        我去找一個人說:“我希望系統能做這件事,大概長這樣。”然后給一些例子。我一直在做這個。然后會有人把它轉成代碼。也就是說,我們早就處在一個更高層抽象:我說“我想要它做什么”。

        舉個具體例子:我最近在用一個以前從沒碰過的庫——JavaScript 的 D3,它能做非常迷人的可視化。我去找了一個網站,叫 Victorian Engineering Connections。那是個很可愛的小站,一個人給某個博物館做的項目(叫 Andrew)。你可以輸入一個名字,比如 George Boole,然后你能看到他的信息,還能看到圍繞他的社交網絡,你可以點進去探索,非??帷?/p>

        我當時想:“我也想要這種東西,但天哪,我根本不會做,怎么辦?”他把代碼給了我,我發(fā)現它用了 D3。我對 D3 一無所知。于是我對 Cursor 說:“給我做一個最簡單的版本:五個節(jié)點,展示出來?!边@樣我就能研究代碼。

        接著我又能繼續(xù)說:“我真正想做的是這個。把節(jié)點做成某種樣式,取決于它們的類型?!本拖裎覍σ粋€人類合作者提需求一樣,我是在用英語表達我的需要,而現在我不必再為把它變成現實而苦苦勞作——我可以跟工具對話,讓它幫我完成。

        所以它縮短了“我想要什么”和“它能做到什么”之間的距離。我覺得這非常棒,這是一種突破。

        但別忘了,我對 Dario 說過:這只在某些場景下有效——當我做的事情是別人已經做過成百上千次的那類事。按費曼(Feynman)的風格,他可能會說:“你自己去做,這才是你理解的唯一方式?!蔽业姆磻牵哼@沒錯,但世界上我好奇的東西太多了,我不可能全部都靠自己從零理解完。那就讓工具替我做一部分吧——我來決定我想做什么。

        所以我才說,這些工具就是一次新的抽象層級躍遷:它們在縮短我用英語說的需求,與最終落到編程語言之間的距離。

        最后我還想說:什么語言既精確又足夠表達,能用來構建“可執(zhí)行的工件”?我們把它叫作編程語言。恰好,英語在某些條件下也足夠“像一門編程語言”——有點像 COBOL:如果我在一個結構足夠清晰的領域里用足夠明確的短語表達需求,它能給我一個“足夠好”的解,而我作為懂基本功的人,可以再去推進、校正、清理這些細節(jié)。

        這就是為什么基本功如此重要。

        低垂的果實先被摘走:該往上爬了

        Gergely:每一次抽象層級的躍遷,都會讓一部分技能變得過時,同時催生對新技能的需求。比如從匯編語言過渡到更高級語言之后,熟悉某塊硬件指令集、并針對其進行極致優(yōu)化的能力,就被更高層次的抽象思維所取代。而在當下這次躍遷中,可以說我們正在進入一個“無需再親手寫代碼,計算機會自動生成,我們只需檢查和微調”的階段。作為軟件從業(yè)者,哪些技能會逐漸過時?又有哪些能力會變得更加重要?

        Grady:如今的軟件交付流水線比它本應具備的復雜得多,如果沒有成熟的流水線,僅僅讓一個系統跑起來都非常困難。而在 Google、Stripe 這樣的公司內部,已經構建了規(guī)模龐大且高度定制化的基礎設施體系。

        正因如此,這里存在大量“低垂的果實”,非常適合被自動化取代。我并不需要人類去填補這些繁瑣而邊緣化的環(huán)節(jié)。在這些領域,我們很可能會看到智能代理的出現:當我需要在某個地區(qū)快速部署資源時,我并不想親自編寫那些復雜、混亂的代碼,而是更愿意讓代理系統來完成。這類工作在經濟效率和安全性上都具有明顯的自動化價值,因此確實會帶來一部分崗位的消失。對應地,人們需要重新學習,轉向更高層次的應用構建。

        同樣地,那些過去專注于開發(fā)某個 iOS 應用或具體前端產品的技能,也會面臨崗位收縮。因為現在,很多事情只需通過提示就能完成。這并非壞事,它讓新一代人能夠完成過去只有專業(yè)工程師才能完成的工作,這正如個人電腦時代所發(fā)生的一切。

        因此,人們應該做的不是抗拒變化,而是向上移動一個抽象層級,開始關注“系統”本身。我認為,當前的轉變不再是從程序到應用,而是從應用到系統。新的技能重心在于:如何在大規(guī)模環(huán)境中管理復雜性,如何同時處理技術因素與人的因素。只要你具備這種系統性能力,你的工作不僅不會消失,反而會更加稀缺和值得被需要。

        Gergely:你會建議學生、即將進入行業(yè)的新人,以及希望回過頭來夯實基礎的資深工程師,從哪些方面入手?

        Grady:當我面對極其復雜的問題時,最?;貧w的,是系統理論。可以去讀 Herbert Simon 和 Allen Newell 的研究成果,也可以關注圣塔菲研究所關于復雜性與系統的相關工作。這些系統理論的基本原理,為我構建下一代系統提供了穩(wěn)固的支點。

        我曾參與 NASA 火星任務的研究。當時的問題是:如何支持人類執(zhí)行長期深空任務,并讓機器人在火星表面自主運作。這本質上是一個系統工程問題,因為這些能力必須“具身”于航天器之中。而當今大量 AI 軟件是去物理化的,它們與現實世界并無直接連接。

        那段時間,我也在跟隨多位神經科學家學習,試圖理解大腦的結構。正是在這個過程中,我意識到系統工程中的某些結構模式,可以直接應用于超大規(guī)模系統的設計。比如 Marvin Minsky 提出的“心智社會”模型,本質上是一種多智能體系統架構,而今天我們才剛剛開始真正觸及智能體編程的潛力。

        類似的還有早期 AI 系統中提出的“黑板模型”“全局工作空間”,以及 Rodney Brooks 提出的次級控制架構,這些都受到生物系統的啟發(fā)。生物系統本身具備高度有效的架構方式,即便沒有中央控制,也能完成復雜行為。

        因此,回到你的問題,我的建議是:從系統視角重新審視架構,從生物學、神經科學和真實世界的復雜系統中汲取靈感。很多問題其實早已被研究過,只是我們在新的語境下重新應用了它們,工程的基本原理并沒有消失。

        Gergely:回顧以往幾次抽象層級躍遷和軟件工程的黃金時代,那些在新時代初期脫穎而出、即便在舊時代并不出眾的人,往往做對了什么?從歷史中,你會給出怎樣的建議?

        Grady:正如我之前提到的,軟件領域真正限制我們的,其實是想象力。當然,我們同時也受到物理規(guī)律、算法能力以及倫理約束的限制。但現在正在發(fā)生的是:許多開發(fā)過程中的摩擦、成本和阻力正在消失。這意味著,我們終于可以把更多注意力投入到想象力本身,去構建過去根本無法實現的事物。以前做不到,是因為無法組織足夠的人力、無法承擔成本、也無法獲得全球性的影響力。而現在,這些限制正在被解除。

        因此,你應該把這一切視為機會。對某些既得利益者而言,這可能是損失;但從整體來看,這是一次凈增益。它解放了我們的想象力,讓我們能夠在現實世界中做出此前不可能實現的事情。這是一個令人興奮、同時也令人恐懼的時代,但這正是應有的狀態(tài)。當你站在通往新事物的門檻上,可以選擇凝視深淵、害怕墜落;也可以選擇縱身一躍、展翅高飛。現在,就是該飛的時候。

        https://www.youtube.com/watch?v=OfMAtaocvJw

        聲明:本文為 InfoQ 整理,不代表平臺觀點,未經許可禁止轉載。

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。

      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.

      相關推薦
      熱點推薦
      “百分百的死亡率,你在猶豫什么”這些神評點醒了200萬焦慮的人

      “百分百的死亡率,你在猶豫什么”這些神評點醒了200萬焦慮的人

      夜深愛雜談
      2026-02-03 22:00:16
      她前夫是新四軍副軍長,第二任丈夫是副總理,女婿更是官至正國級

      她前夫是新四軍副軍長,第二任丈夫是副總理,女婿更是官至正國級

      芊芊子吟
      2026-02-23 13:30:07
      在七千多的養(yǎng)老院住了一年才明白:再貴的養(yǎng)老院,也買不來這3樣

      在七千多的養(yǎng)老院住了一年才明白:再貴的養(yǎng)老院,也買不來這3樣

      小馬達情感故事
      2026-02-10 11:50:09
      宗馥莉現身上海高級餐廳,與外籍男子共餐攜女同行似一家三口

      宗馥莉現身上海高級餐廳,與外籍男子共餐攜女同行似一家三口

      丁隗解說
      2026-02-22 23:48:22
      68歲大媽相親,怕大爺不正經,稱以后要分房睡,大爺:那要你干嘛

      68歲大媽相親,怕大爺不正經,稱以后要分房睡,大爺:那要你干嘛

      談史論天地
      2026-02-21 06:40:43
      今年養(yǎng)老金或迎好消息,養(yǎng)老金低于3000元,補發(fā)7個月能漲500嗎?

      今年養(yǎng)老金或迎好消息,養(yǎng)老金低于3000元,補發(fā)7個月能漲500嗎?

      另子維愛讀史
      2026-02-23 10:26:25
      龐崢麟落選男籃出征名單引熱議!球迷打抱不平“選人標準惹爭議”

      龐崢麟落選男籃出征名單引熱議!球迷打抱不平“選人標準惹爭議”

      狼叔評論
      2026-02-23 11:10:08
      閃電航打包出售ipad,全都是蘋果牌

      閃電航打包出售ipad,全都是蘋果牌

      中國民航人
      2026-02-20 19:54:05
      河北唐山“釣帝”黑大爺因病去世,享年75歲,家屬:已舉辦告別儀式;此前因戶外垂釣多年皮膚被曬成“老抽色”在網絡上走紅

      河北唐山“釣帝”黑大爺因病去世,享年75歲,家屬:已舉辦告別儀式;此前因戶外垂釣多年皮膚被曬成“老抽色”在網絡上走紅

      揚子晚報
      2026-02-22 09:48:41
      沒有不透風的墻!沈騰和林允的瓜未必是假的、站姐關站跑路

      沒有不透風的墻!沈騰和林允的瓜未必是假的、站姐關站跑路

      琴聲飛揚
      2026-01-20 14:25:10
      34歲鄭爽近況被曝!美國生活被扒底朝天, 毀掉她的,根本不是張

      34歲鄭爽近況被曝!美國生活被扒底朝天, 毀掉她的,根本不是張

      丹妮觀
      2026-02-23 11:55:36
      2026年1月特斯拉全球銷量:預估不到8萬

      2026年1月特斯拉全球銷量:預估不到8萬

      藍色海邊
      2026-02-23 12:43:00
      1957年,黃百韜之子被判死刑,其母親求見宋美齡:我只有一個要求

      1957年,黃百韜之子被判死刑,其母親求見宋美齡:我只有一個要求

      明月清風閣
      2026-02-15 14:55:05
      離譜!英超巨星當眾甩臉主帥,離隊信號直指曼聯

      離譜!英超巨星當眾甩臉主帥,離隊信號直指曼聯

      瀾歸序
      2026-02-23 01:55:22
      克林根:在三分方面我付出了很多努力;每晚我都會拼盡全力

      克林根:在三分方面我付出了很多努力;每晚我都會拼盡全力

      懂球帝
      2026-02-23 12:36:06
      日本徹底倒向美國,76%的民眾反華!中國已做好最壞準備

      日本徹底倒向美國,76%的民眾反華!中國已做好最壞準備

      小影的娛樂
      2026-02-23 12:58:12
      81年,原軍統特務寫信要求享離休待遇,鄧穎超批示:不要虧待了他

      81年,原軍統特務寫信要求享離休待遇,鄧穎超批示:不要虧待了他

      春秋硯
      2026-02-12 07:00:07
      震撼!美國冰球門將61分鐘撲救41次:誕生世界名畫 助球隊2-1奪金

      震撼!美國冰球門將61分鐘撲救41次:誕生世界名畫 助球隊2-1奪金

      風過鄉(xiāng)
      2026-02-23 08:33:26
      爭議!12歲南亞裔球員遭種族歧視 校方:生在香港說粵語 從未留級

      爭議!12歲南亞裔球員遭種族歧視 校方:生在香港說粵語 從未留級

      念洲
      2026-02-22 10:09:16
      羊肉被關注!研究發(fā)現:腦?;颊叱匝蛉猓貌涣硕嗑?,或有3益處

      羊肉被關注!研究發(fā)現:腦?;颊叱匝蛉猓貌涣硕嗑茫蛴?益處

      阿兵科普
      2026-02-07 21:11:54
      2026-02-23 14:19:00
      InfoQ incentive-icons
      InfoQ
      有內容的技術社區(qū)媒體
      12068文章數 51762關注度
      往期回顧 全部

      科技要聞

      騰訊字節(jié),“火拼”漫劇

      頭條要聞

      7名中國游客溺亡于貝加爾湖 31歲幸存者被救細節(jié)披露

      頭條要聞

      7名中國游客溺亡于貝加爾湖 31歲幸存者被救細節(jié)披露

      體育要聞

      哈登版騎士首敗:雷霆的冠軍課

      娛樂要聞

      谷愛凌奶奶去世,谷愛凌淚奔

      財經要聞

      結婚五金邁入10萬大關 年輕人結婚更難了

      汽車要聞

      續(xù)航1810km!smart精靈#6 EHD超級電混2026年上市

      態(tài)度原創(chuàng)

      本地
      健康
      數碼
      游戲
      房產

      本地新聞

      春花齊放2026:《駿馬奔騰迎新歲》

      轉頭就暈的耳石癥,能開車上班嗎?

      數碼要聞

      英國硬盤價格高得讓人飛到美國購買:跨越半個地球竟省一大筆錢

      NS2看呆了!兩款原版NS主機獨占佳作殺入年度前五?

      房產要聞

      窗前即地標!獨占三亞灣C位 自貿港總裁行宮亮相

      無障礙瀏覽 進入關懷版