AI改變了軟件重寫的經濟性
本文探討了AI如何改變軟件重寫的經濟學:代碼庫的一致性對AI輔助編程的效率和質量有重大影響。採用清晰、一致的模式可以降低AI的認知負擔和成本,而重寫軟件正是建立這種模式的機會,從而獲得競爭優勢。
我過去對軟件重寫的看法因AI而改變。AI輸出的質量並非完全由提示詞決定,而是取決於模型在訓練數據中已有的知識以及你提供的上下文。對於編碼任務而言,大部分上下文來自代碼庫本身。
流行的技術棧天然具有AI優勢,因為模型已經見過數百萬個示例,包括公開源代碼。相反,專有語言和私有框架如果模式不一致,就必須在有限的上下文窗口中教導模型,這大大增加了難度。
比較兩種工作流程:一種是閲讀功能規範後,直接閲讀一致且清晰的代碼庫,然後生成實現;另一種是閲讀規範後,面對不一致的代碼庫(包含遺留語言和歷史包袱),還需要額外閲讀示例和文檔才能生成實現。在第一種流程中,代碼庫的既定模式模型很容易理解;在第二種中,模型必須先花費精力推斷這些模式,然後才能解決問題。
更多的上下文意味着更多的令牌、更多的提示次數、更多的輸出變異性,以及通常更低的質量——也就是更高的成本。
因此,軟件重寫不僅是技術棧現代化的機會,更是重建代碼庫、採用清晰一致模式的契機,從而利用AI的優勢而不是與之對抗。你可以選擇用AI直接解決問題,也可以花時間先讓AI學習你的語言。這失去的時間就是競爭對手的優勢,差距不僅在於速度,更在於輸出的質量。
我認為這完全改變了軟件重寫的經濟性。實際上,許多公司已經開始意識到這一點。例如,採用一致的代碼風格、遵循行業最佳實踐、使用流行的框架,都能顯著提升AI輔助編碼的效率。相反,那些維護着大量遺留代碼的公司會發現,每次需要添加新功能時,他們不僅要解決業務邏輯問題,還要花費大量時間向AI解釋代碼庫的特定模式。這種額外的開銷直接轉化為更高的成本和更慢的交付週期。
從更宏觀的角度看,AI的普及可能會加速軟件行業的標準化進程。那些能夠快速適應並建立清晰、一致代碼庫的組織,將在競爭中佔據明顯優勢。而那些堅持使用古老或私有技術的公司,則可能面臨開發效率的持續下降。軟件重寫不再僅僅是技術債務的清理,而是一項戰略性投資,決定了一家公司在AI時代能否保持競爭力。