以大型語言模型(LLMs)變革軟體工程
大型語言模型(LLMs)迅速進步,徹底改變了軟體工程的面貌。在過去幾年中,LLMs 從複雜的代碼自動完成功能發展成為強大的 AI 助手,可以設計、實施和除錯整個軟體模組。這一演變使軟體工程師能大幅提高生產力。
儘管對 AI 驅動的軟體工程的熱情可能有所誇張,但對於願意接受這些尖端 AI 工具的開發者來說,卻有無可否認的價值。透過利用 LLMs,開發者能實現工作效率的顯著提升。
AI 編碼助手:提升編碼體驗
LLMs 在三個主要方面改變了編碼領域。首先,開發者利用進階模型,如 ChatGPT 和 Claude,作為編碼助手。這些 AI 界面在生成代碼、精煉現有代碼片段和協助除錯方面表現出色。
為了提升開發者的體驗,模型提供商不斷增加新功能。例如,Claude 的 Artifacts 功能允許用戶在迭代時查看和運行代碼,簡化了開發過程。
AI 編碼助手的更高級應用是將其整合到集成開發環境(IDEs)中作為插件。這些插件利用專案文件和代碼庫提供精確的回應並處理更複雜的任務。
自 2013 年成立以來,Tabnine 開創了 AI 輔助編碼工具,宣稱擁有數百萬用戶,這些用戶通過該平台生成 30% 到 40% 的代碼。微軟隨後推出了 GitHub Copilot,最初作為代碼片段生成器,後來演變為多種開發任務的綜合助手。亞馬遜的 Q 也提供類似功能,包括代碼自動完成和支持不同程式語言之間的轉換。
AI 編碼領域的其他參與者包括 Replit,擁有自己的 LLM 驅動編碼環境,以及與多個 IDE 兼容的 Codeium 助手。
代理框架:軟體開發的未來
LLMs 還通過代理框架賦予軟體工程新的動力。這些 AI 代理,由多個 LLM 構成,協同完成專案。一個代理可能專注於高層次設計,而其他代理則處理細節規劃、代碼編寫、質量審查和整合。
在理論上,這些軟體工程代理可以從頭到尾執行一個專案。一個引人注目的例子是 Cognition 的 Devin,宣稱是「第一位 AI 軟體工程師」。Devin 使用包括瀏覽器、IDE 和編譯器在內的多種工具進行研究、推理、編碼和評估結果。演示顯示 Devin 高效完成任務,引發了關於 AI 代理可能取代軟體工程師的揣測。
儘管 Devin 目前尚未開源,但它引發了如 OpenDevin 等專案,提供類似功能。其他軟體開發代理如 GPT-engineer 也相繼出現,並交付了令人印象深刻的演示。
AI 軟體開發的熱潮與現實
研究顯示,像 GitHub Copilot 的 AI 助手可以提升開發者的生產力,並幫助保持注意力,減少尋找解決方案所花的時間。越來越多的人使用 ChatGPT 和 Claude 來起草軟體設計理念、創建初步代碼版本,以及獲得新的編程技能。
然而,對於 AI 軟體開發助手的一些熱情仍存疑慮。批評者指出,如 Devin 等工具的演示可能並未準確反映其能力,因為這些代理目前無法執行中級或高級軟體工程師所期待的全部任務。
人們對 AI 生成的代碼可能存在的漏洞也表示擔憂,這些漏洞可能源於其訓練數據或用戶的代碼庫。提供者正積極實施防範措施,以降低生成不安全代碼的風險。此外,開發者過度依賴 AI 生成的代碼可能導致「自動化盲點」,從而引發不可預測的結果,需額外除錯。
總之,儘管 AI 尚未準備取代軟體開發者,但 AI 編碼助手的早期階段對提高生產力具有巨大潛力。隨著軟體開發者需求的持續上升以及 AI 在各領域的整合,我們可以預見,隨著這些工具的發展,軟體工程的效率將進一步提升。
VB Transform 2024 會議將深入探討這些變革主題,並設有專家小組討論 AI 的互連未來。我們期待您的參與!