人工智能與技術債務
本文要點:
生成式人工智能的強項在于能夠生成海量文本,其中包括程序代碼。如果軟件能正常運行,這自然是好事。但許多使用者只關心代碼能否一次性跑通,幾乎不考慮其長期運行效果,也不在意這些代碼是否會讓日后的功能修改或漏洞修復變得更加困難。
什么是技術債務?
沃德?坎寧安早在 1992 年就創造了 “技術債務” 這一術語,用來指代因程序員、工程師和開發人員的決策,而在業務中持續產生的隱性成本。
首次交付代碼就好比舉債。適度的債務能加快開發速度,前提是通過重寫代碼及時償還……
危險在于債務逾期不還。每一分鐘耗費在不夠完善的代碼上,都相當于在支付債務利息。
無論是否采用面向對象設計,雜亂無章的實現所累積的債務負擔,都可能讓整個工程團隊陷入停滯。
—— 沃德?坎寧安《技術債務》
我們都曾面臨工期緊張、為繞過問題而臨時拼湊代碼等困境,如果時間和工具允許,我們本可以用更合理的方式完成工作。過去這些工作都由人工完成,正如保羅?埃爾利希所言:
人非圣賢,孰能無過;但要把事情徹底搞砸,你還得靠計算機。
—— 保羅?埃爾利希
而如今,生成式人工智能乃至智能體 AI,正在把這種 “搞砸” 的效率推向新高度。
簡單來說,技術債務是項目中有意或無意遺留、需要在未來解決的問題。它會持續消耗時間與資金,且成本往往隨時間不斷攀升。
技術債務的成因多種多樣:
工期與時間壓力
需求變更或定義模糊
開發流程問題與工作延期
實現邏輯不統一
未遵循最佳實踐
過度設計或設計不足
當然,當下 AI 一方面試圖解決這類問題,另一方面又在生成大量未經審核就直接上線的代碼。
人工智能與技術債務有何關聯?
AI 與技術債務關系緊密,既會制造債務,也能用于修復債務。本文主要以軟件為例,但技術債務存在于任何產品或服務的開發與部署全流程。
從制造債務的角度來看:AI 與聊天機器人能批量生成遠超人工可輕松審核量的軟件代碼。遺憾的是,AI 生成的內容未必符合行業最佳實踐,也未必契合你的實際需求。有利的一面是,軟件需要經過編譯器編譯才能正常使用,這只能解決部分問題;代碼的邏輯合理性則是另一回事。由于 AI 和許多開發者習慣復制粘貼代碼,加之未遵循最佳實踐,技術債務只會不斷累積。
從排查問題的角度來看:AI 能夠識別、解決問題,如今已被廣泛用于定位漏洞、性能瓶頸并給出修復建議。當然,我們也得警惕 AI 給出的解決方案是否比問題本身更糟。
最后,AI 還能輔助提升真實開發者的工作效率:讓他們寫出技術債務更低的新代碼,或借助 AI 更快修復現有問題。
能否利用人工智能管理技術債務?
如前文所述,AI 或許能協助排查、甚至修復與技術債務相關的問題。但使用 AI 工具時必須謹慎,因為它同樣可能讓問題雪上加霜。
AI 擅長模式匹配與識別邏輯不一致性,因此借助 AI 輔助開發者定位問題、評估遺留問題的潛在成本、計算修改所需投入,會變得更加高效。
但這一過程仍面臨諸多挑戰:當前大多數 AI 系統迭代速度極快,新版本號稱性能更優,底層引擎的變更會導致提示詞、工作流程等都需要隨之調整。
過度依賴、缺乏監管同樣是隱患。因為 AI 的審核與優化流程本身也會產生技術債務,而且正如我們所見,AI 制造混亂代碼的速度遠比人類快得多。
從積極層面看,智能體 AI 與生成式 AI 能夠為開發、審核流程提供工具支持與管理能力,但必須始終保持人工嚴格監管。











評論