熱罐小角

一、軟件工程方法論的演進:一段即將終結的歷史

1970年,Winston Royce在他那篇著名的論文中描述了瀑布模型。儘管他本人其實是在批評它。需求分析、系統設計、實現、測試、部署、維護,這六個階段像瀑布一樣依次傾瀉而下,不可回溯。這是一種工業時代的思維方式:將軟件開發視為一條裝配線,每個環節各司其職,文檔先行,一切按計劃推進。

傳統瀑布模型

瀑布模型的問題很快暴露出來。軟件不是汽車,需求會變,用户會變,市場會變。於是我們看到了迭代模型、螺旋模型,以及各種試圖在剛性流程中引入彈性的嘗試。

2001年,十七位程序員在猶他州的滑雪場簽署了《敏捷軟件開發宣言》。這是一次範式轉移:個體和互動高於流程和工具,可工作的軟件高於詳盡的文檔,客户合作高於合同談判,響應變化高於遵循計劃。Scrum、XP、看板,各種敏捷實踐開始流行。兩週一個迭代,每日站會,持續集成,測試驅動開發。

敏捷軟件開發宣言

敏捷的本質是什麼?是承認人類認識的侷限性。我們無法在項目開始時就預見所有需求,所以我們擁抱變化。我們無法保證代碼一次寫對,所以我們頻繁測試、快速反饋。整個方法論的演進,從瀑布到敏捷,本質上是一部人類與自身侷限性鬥爭的歷史。

但現在,這段歷史即將畫上句號。不是因為我們找到了更好的方法論,而是因為執行這些方法論的主體正在被替換。

二、AI全棧:開發、測試、部署的全面接管

讓我們看看今天的AI能做什麼。

在開發環節,Claude、GPT-4、以及各種代碼專用模型已經能夠根據自然語言描述生成完整的應用程序。不是代碼片段,不是補全函數,而是從數據庫設計到前端界面的完整實現。Claude Artifacts可以在對話中直接生成可運行的React組件。Cursor、GitHub Copilot Workspace這類工具正在將"編程"轉變為"審閲":人類的角色從寫代碼變成了看代碼、改代碼、驗收代碼,甚至連代碼都不看。正如最近爆火的OpenClaw的開發者Peter Stringberger説的,一天提交600次代碼,甚至看都不看。

在測試環節,AI不僅能生成單元測試、集成測試,還能分析代碼覆蓋率,識別邊界條件,甚至預測潛在的bug熱點。更重要的是,AI可以理解測試的意圖:它知道你想測什麼,而不只是機械地執行測試用例。

在部署環節,在我創業的雲計算時代,Infrastructure as Code早已普及,而AI讓這一切變得更加自動化。從容器編排到CI/CD流水線配置,從雲資源調度到監控告警設置,AI可以根據應用特性自動生成最優的部署方案。

當一個AI系統可以理解需求、設計架構、編寫代碼、生成測試、配置部署、監控運行、修復故障……完整的軟件開發生命週期都在它的能力範圍內,"軟件工程師"這個職業的存在基礎就開始動搖了。

有人會説,AI寫的代碼質量不夠好,需要人類把關。這話在今天或許還成立。但請記住,這是一個快速移動的目標。一年前AI還在寫出滿是bug的代碼,今天它已經能寫出大部分的算法題。我研究生時代要花幾個月寫出的3維重構的Delaunay算法,Claude Code Opus 4.5可以在10分鐘內完成,我們有什麼理由相信這種進步會停止?

Claude Code生成Delaunay算法截圖

三、計算機教育和軟件行業的坍塌

現在讓我們來分析這場AI變革對計算機教育和軟件行業的深遠影響。

計算機教育意義的消解

首先,我們需要理解人們為什麼學習計算機和編程。大致可以歸為三類動機:

第一類是職業動機。學編程是為了找工作、賺錢、養家餬口。這是絕大多數人選擇計算機專業的直接原因。過去三十年,碼農是通往中產階級最可靠的路徑之一。

第二類是認知動機。學編程是為了鍛鍊邏輯思維、理解計算機如何工作、掌握一種與機器對話的能力。許多大學將編程視為一種"新時代的讀寫能力",甚至是通識教育的一部分,是一種基礎技能。

第三類是哲學動機。學編程是為了理解指令與執行、抽象與具體、確定與湧現之間的關係,為了體驗從無到有的創造快感。

現在讓我們逐一檢視這些動機在AI時代的命運。

職業動機最先崩塌。如果AI可以完成軟件工程師的大部分工作,那麼市場對軟件工程師的需求就會大幅下降;如果需求下降,薪資就會下降;如果薪資下降到一定程度,"學計算機找好工作"就不再成立。那時,計算機科學專業會像今天的圖書館學一樣,從熱門變成冷門。那些正在湧入計算機專業的學生,可能在畢業時發現自己學了一門屠龍之術。

認知動機的崩塌稍慢一些,但也難以倖免。學習編程鍛鍊邏輯思維?如果你永遠不需要將這種邏輯思維付諸實踐,這種鍛鍊還有意義嗎?就像我們今天不會因為鍛鍊計算能力而去學珠算一樣。更關鍵的是,當AI可以將自然語言直接轉化為工作軟件,"理解計算機如何工作"就從必要技能變成了可選知識。就像今天的汽車司機不需要理解內燃機原理,普通用户也不需要理解操作系統的進程調度。計算機原理會變成一種專業化的考古知識,只有極少數人需要掌握。

哲學動機或許能殘存最久。但即便如此,它也會經歷一次根本性的轉變。編程的哲學意義在於人與機器的直接對話,在於將人類意圖精確編碼的過程。當AI成為中介,當我們用自然語言描述意圖、AI用代碼實現意圖,這種直接對話就消失了。剩下的哲學價值,更多是歷史性的、考古性的。就像今天研究梵語古希臘語的學者,他們獲得的是一種對過去的理解,而非對現在的掌控。

這意味着,計算機教育需要一次根本性的重構。教什麼?為什麼教?教給誰?這些問題都需要重新回答。我認為未來的計算機教育會分化成兩條路徑:一條是面向極少數人的底層系統研究,維護AI運行所需的基礎設施;另一條是面向大眾的AI協作課程,教人們如何用自然語言精確表達意圖。後者與其説是計算機教育,不如説是一種新形態的語言教育和思維訓練。

軟件行業的商業模式瓦解

軟件行業的商業模式建立在一個基本事實之上:寫代碼需要人,需要時間,需要專業技能。由此衍生出兩種主要的商業形態。

第一種是人天模式。即項目外包或諮詢。客户有需求,軟件公司派工程師去實現,按人天或人月收費。一個高級工程師可能每天收費幾千元,一個項目可能需要幾十個人做幾個月。這是一個將人力時間直接貨幣化的形式。

第二種是產品/SaaS模式。軟件公司開發產品,賣給多個客户,通過規模效應降低單位成本。SaaS更進一步,按訂閲收費,將一次性收入變成持續性收入。

人天模式的邏輯鏈條是這樣的:客户為什麼要付錢買人天?因為客户自己沒有工程師,或者自己的工程師不夠用。為什麼客户自己沒有足夠的工程師?因為培養工程師成本高、招聘工程師難度大、維護工程師團隊開銷大。但如果AI可以替代工程師呢?那麼客户就可以用AI直接完成開發工作,不再需要購買人天服務。

你可能會説,客户不懂技術,即使有AI也用不好。這在短期內是對的。但這隻會催生一個新的、更小的市場:"AI軟件開發代理",由少數懂得如何與AI協作的人,幫助不懂技術的客户實現需求。這個市場的規模會比傳統軟件外包市場小很多,因為一個人配合AI的產出,可能相當於傳統模式下十個人甚至更多,可能是今天創業的一個方向。

SaaS模式的邏輯鏈條更復雜一些。SaaS的核心價值在於:我作為軟件公司,承擔了開發和維護軟件的成本,你作為客户只需要付訂閲費就能使用。這比客户自己開發划算,因為我可以把成本分攤給多個客户。

但AI正在改變這個成本結構。如果開發軟件的邊際成本趨近於零,那麼分攤開發成本就不再是一個有吸引力的價值主張。客户可能會想:既然AI可以為我定製一個完全符合我需求的軟件,我為什麼要用一個通用的SaaS產品,還要遷就它的設計?

更深層的問題是,SaaS的護城河正在被AI填平。傳統上,SaaS產品的護城河包括:技術積累(我們花了多年時間打磨產品)、數據積累(用户數據讓產品越用越好)、切換成本(用户已經習慣了我們的產品)。但當AI可以快速複製任何軟件功能,技術積累就貶值了;當AI可以理解各種數據格式並無縫遷移,切換成本就降低了;當定製化軟件的成本降到足夠低,通用化產品的優勢就消失了。表現在資本市場上,就是軟件企業股票的暴跌。

截至今天,標普北美軟件指數連續下跌三週,1月暴跌了15%,創下自2008年10月以來最大單月跌幅。

GS Software Basket股價走勢圖

這並不意味着所有軟件公司都會消失。那些掌握獨特數據、佔據關鍵生態位、或者提供不可替代服務的公司仍然會存在。但行業整體的規模會大幅萎縮,從業者數量會急劇減少,做軟件不再是一個能支撐龐大產業的生意。

四、語言的復歸:哲學與文學的避難所

當代碼作為人機之間的中介語言失去其必要性,一個有趣的現象出現了:自然語言重新成為人與機器交流的主要方式。

諷刺的是,就在這個轉折點到來之際,某些知名大學正在大刀闊斧地砍掉文科專業,彷彿人文學科是工業時代的殘餘、是需要被優化掉的冗餘。這會不會被證明是愚蠢的人類下的又一步臭棋?當AI讓代碼技能貶值,當自然語言成為人機協作的核心界面,那些被裁撤的哲學系、文學系、語言學系,恰恰可能是未來最需要的學科。歷史總是喜歡這樣的玩笑:我們拼命追趕的,往往是即將過時的;我們急於拋棄的,往往是即將升值的。

在軟件工程的時代,精確性是最高美德。代碼必須沒有歧義,每一個符號都有確定的含義,編譯器會毫不留情地指出任何模糊之處。程序員被訓練成用形式化語言思考的人。

但自然語言完全不同。自然語言天然就是模糊的、多義的、依賴語境的。"把這個按鈕做得好看一點":什麼是好看?"讓用户體驗更流暢":什麼是流暢?這些在代碼世界裏無法被精確定義的概念,在自然語言世界裏卻是日常用語。

當AI成為代碼與人之間的翻譯器,人類需要掌握的核心能力就從"精確編碼"變成了"準確描述"。而"準確描述"需要的,恰恰是對語言的深刻理解、對意圖的清晰把握、對世界的豐富認知。

這是哲學和文學的領地。

哲學追問概念的邊界:什麼是"好"?什麼是"公正"?什麼是"美"?當我們需要向AI描述我們想要什麼樣的軟件時,我們實際上是在進行一項哲學工作:澄清我們自己的意圖,定義我們自己的價值。

尼各馬可倫理學

文學則提供了描述世界的技藝。一個好的小説家能用幾個詞勾勒出一個人物的性格,一個好的詩人能用隱喻傳達無法言説的情感。當我們用自然語言與AI協作時,這種語言的技藝變得至關重要。能夠精確而優雅地描述自己想要什麼的人,將在AI時代擁有巨大優勢。

也許這是歷史的某種諷刺。在過去幾十年裏,"學STEM還是學人文"幾乎是一個不需要爭論的問題。代碼就是金錢,算法就是權力。但當AI接管了代碼和算法,剩下的人類領地反而是那些我們曾經認為"沒用"的東西:理解人性的能力,表達意圖的能力,追問意義的能力。最近某些大學取消大量的文科專業,會不會被證明是愚蠢的人類的又一步臭棋呢?

軟件工程死了。但語言還活着,意義還活着,人還活着。

在這個意義上,哲學和文學不是殘存的意義避難所,而是人類真正獨有的領地,是AI時代我們安身立命的根基。代碼只是我們曾經發明的一種工具,而語言、意義、理解,這些才是人之為人的本質。

我們即將告別一個時代。在那個時代,程序員是數字世界的建築師,代碼是通往未來的鑰匙。而在新的時代,每個人都可以是建築師,只要他能清楚地説出自己想要建造什麼。

這不是終結,而是迴歸。迴歸到語言,迴歸到意義,迴歸到人本身。

關於作者

Hotcan,80後技術老炮兒和哲學愛好者

雲計算和數字化轉型的投資人和創業者

免責申明:本公眾號不以盈利為目的,內容僅供參考,個人及所屬公司對發佈的信息不作任何保證和承諾。如需轉載,請您註明出處和保持信息完整性。如有未註明作者及出處信息或圖片,請版權所有者聯繫我們,我們將及時補上,感謝您的辛勤創作。本文部分文字、圖像和視頻由AI生成,內容經由作者審核。作者對本文原創和AI生成的內容負責。

💬 留言