AI編程L1-L5超全分級來了!GitHub Copilot僅L1,Devin是L4
AI恰似一把神奇的鑰匙,悄然開啟了編程領域的全新大門。
從代碼補全到項目級自動化,AI的角色從「助手」轉變為「工程師」,甚至是「開發團隊」,極大地改變了軟件開發的傳統格局。
借鑒自動駕駛的術語,AI編程工具可以劃分為L1到L5五個等級。接下來將詳細介紹。
2025年1月AI編程領域可視化圖
L1:代碼補全
從基礎功能層面來看,以GitHub Copilot為代表的L1級工具,主要聚焦于代碼補全。
開發者常常會面臨一些重復、繁瑣的代碼輸入,這類工具極具實用價值,通過智能建議與代碼補全功能,能極大地簡化編碼流程。
在現代開發環境中,L1級的代碼補全工具已經極為普遍,為更先進的AI編程工具奠定了堅實的基礎。
GitHub Copilot擅長代碼補全
代碼補全(L1)產品
L2:任務自動化
L2級別的工具專注于任務級自動化,LLM如ChatGPT便屬于這一范疇。
這類工具擅長處理各種開發任務,能夠依據描述性提示來開發新功能、修復漏洞以及重構代碼。
然而,在實際使用過程中,使用LLM進行編碼任務也面臨著一些挑戰。例如,它需要精心設計的提示以及相關源代碼上下文,才能生成高質量的代碼,而手動創建提示既耗時又繁瑣。
為了解決這一問題,一些工作流自動化工具應運而生,如命令行工具aider和桌面應用程序16x Prompt,它們能夠簡化提示生成過程,幫助開發者從LLM中獲取高質量代碼。
此外,Cursor、Continue和PearAI等集成開發環境(IDE)及其擴展,能夠將LLM無縫集成到開發環境中,為開發者提供更友好的交互界面,讓他們在開發過程中能夠更便捷地與LLM互動,實現編程任務的自動化。
任務級自動化(L2)產品
L3:項目自動化
L3代表著項目級自動化的早期階段,像Codegen、Sweep 和 Pythagora這樣的工具,具備分析項目需求并生成相關拉取請求的能力。
L3級工具的一個關鍵特性在于,它們能夠通過與項目管理工具(如Jira)和源代碼平臺(如GitHub)集成,實現軟件開發多個步驟的自動化,包括需求收集、代碼生成、拉取請求創建和部署。
然而,目前這些系統尚處于初級階段,僅能管理較為簡單的編碼項目,并生成基本的代碼片段。在實際應用中,還需要人工進行干預,以確保代碼的質量和相關性,這在一定程度上限制了它們的自主性。
另外,還有一些工具,如Vercel的v0、Tempo Labs的Tempo和CerebrasCoder,能夠幫助用戶創建網站,但通常專注于軟件技術棧中的某一部分,例如前端開發。
項目級自動化(L3)產品
L4:AI軟件工程師
L4標志著從人類驅動編碼向AI驅動軟件開發的關鍵轉變,開發過程能夠實現從產品需求到生產部署的完全自動化。
這一級別的工具,如Devin、Marblism和Cosine的Genie等,旨在訪問終端和部署工具,管理整個開發活動的流程。
用Marblism制作的示例項目
SWE-bench 驗證排行榜(截至2024年12月19日)
這些先進的系統不僅能夠解讀產品需求、管理代碼部署,還能維護生產環境中的軟件,充分體現了AI軟件工程師的角色。
它們的出現,能讓非技術人員在短短幾分鐘內,就能從零開始創建一個功能完整的軟件產品,大大降低了軟件開發的門檻。
AI軟件工程師(L4)產品
L5:AI開發團隊
在L5級別,AI編程進入了一個全新的領域,可能涉及一個包含多個AI軟件工程師的AI系統。這些 AI 代理能夠協作完成項目,各自專注于軟件開發的不同方面。
微軟的論文《AutoDev》提出,智能體能夠從智能體調度器(Agent Scheduleer)接收目標和對話歷史,并根據規則和動作配置做出響應。不過,該論文目前僅使用單個GPT-4智能體來進行評估。
參考資料:https://arxiv.org/html/2403.08299v1
這一類別中的另一個產品是MGX,由MetaGPT團隊設計,目前處于等待名單階段。
隨著GPT-5預計在2025年發布,AI開發團隊的夢想正逐漸從藍圖走向現實。
我們可以預見,在不久的將來,AI系統能夠復制整個軟件開發團隊,在軟件創作的各個方面進行編程和協作,真正實現軟件開發的高度自動化。
AI開發團隊(L5)產品
如何選擇適合的AI編程工具?
面對如此豐富多樣的AI編程工具,開發者應如何選擇呢?這需要依據自身的需求和項目的復雜程度來決定。
如果僅僅是需要代碼補全功能,那么L1級別的工具,如GitHub Copilot,就能夠滿足需求。
對于更復雜的任務,如功能開發和漏洞修復,可以使用L2級別的LLM,如ChatGPT或Claude 3,并結合工作流自動化工具,如aider或16x Prompt。
倘若你勇于嘗試新事物,對項目級自動化感興趣,那么L3級別的工具,如Codegen或Sweep,將是一個不錯的起點。
開發者不必局限于使用單個級別的工具,完全可以根據實際需求,組合使用不同級別的工具。
例如,在遇到簡單的代碼補全任務,能夠在5秒鐘內解決的,可使用GitHub Copilot;而對于那些需要花費幾分鐘來精心設計提示的復雜任務,則可以借助ChatGPT和16x Prompt來處理。
AI在編程領域所扮演的角色,正經歷著快速的演變。從最初僅能為開發者提供基本語法層面的輔助,到如今已深度滲透至軟件開發生命周期的每一個環節,實現全流程的管理與賦能。
隨著AI技術的不斷成熟,未來將會涌現出更加復雜、強大的工具,它們將徹底重塑編程領域,讓開發者能夠專注于高層次的任務,而將軟件開發的常規工作交由AI來處理。
從代碼補全到全方位開發支持,AI正在重新定義軟件開發的未來。