首頁 > AI資訊 > 最新資訊 > 代碼生成三問:如何打造24小時在線的AI程序員?

代碼生成三問:如何打造24小時在線的AI程序員?

新火種    2024-08-30

「」2024 年年初,擁有編程全棧技能的 Devin 驚艷全球,讓外界看到了 AI 改變一個行業——替代程序員的可能性。

Devin 發布數周后,其背后的公司 Cognition 也隨即獲得 1.75 億美元融資,估值從 3.5 億美元一躍升至 20 億美元。緊接著,4 月,一家 AI 編碼輔助創業公司 Augment 宣布完成 2.52 億美元的融資,投后估值接近獨角獸,代碼生成賽道的多米諾骨牌效應開始出現……

到上半年,硅谷代碼生成類的公司估值起步價已經高達 2 億美金,頭部公司甚至 20 億美金。而據一位行業人士分析,代碼生成的概念之所以受到追捧,其中一個重要原因是“人類的數據不夠用了”。

AGI 時代的一個重要組成是人類必須依靠機器生成的數據,而代碼生成的數據被部分從業者認為是“人類通往 AGI 過程中最有邏輯性與嚴謹的數據”。

與此同時,網絡上為大模型代碼生成提效歡呼的聲音越來越多。例如,一位中國開發者就提出,Claude 3.5 Sonnet 只要 500+ 行的 html 就能實現一個不錯的功能;還有開發者稱,其借助 GPT-4o 輔助代碼寫作,以前開發小程序需要一個月,現在只需要七天……

根據開發者的反饋,大模型的代碼生成能力正在真切地提升每位開發者的工作效率。

事實上,程序員對于“AI 代碼生成”的想象早有年頭。在這波生成式 AI 浪潮之前,市場上就已出現一系列的 AI 編程工具,例如 Tabnine、Kite 等,但受限于它們的技術路徑,過去的產品對于上下文邏輯的理解和代碼生成的質量不盡人意。

清流資本合伙人劉博告訴 AI 科技評論,AI 編碼工具的其中一個效果評估指標是代碼文件中由模型生成的代碼占比,上一代工具只能做到 10-20%,而新一代的 AI 編程工具最高可以做到 40-50%——這是質的飛躍,同時新一代工具對編程上下文的理解也顯著更好。

微軟 CEO 稱,兩年前上線的 AI 編程工具 GitHub Copilot(后接入 GPT-4 模型后更名為“Copilot X”)已經開始獲利、并擁有 180 萬付費訂閱用戶。

迄今大模型狂飆一年半,在所有基于大模型的新 AI 工具中,coding 場景的 PMF 和付費意愿最先被驗證,GitHub Copilot 僅用 14 個月便達到了 1 億美元 ARR,是歷史上增長最快的 SaaS 產品——這與其他場景里曇花一現的 AI 產品形成鮮明對比。

幾乎所有的通用大模型公司都推出了代碼大模型和 AI 編程助手,如 OpenAI codex、Meta Code Llama、智譜 CodeGeeX、百度的 comate、騰訊云的 AI 代碼助手、DeepSeek Coder……

國內創業公司也開始增多:一站式 DevOps 研發管理平臺 Coding 創始人張海龍創立了 AI Agent 公司 Babel,企業智能化軟件開發解決方案提供商 aiXcoder 也因此受到資本關注、并在2023年迅速完成了 A+ 輪融資。

多方勢力角逐,創業公司在混亂中爭取生機,而創業公司、通用大模型公司、科技大廠各方仍然面臨 AI 領域發展的通用問題:To C 還是To B,技術路徑選擇通用大模型還是垂直模型,要不要自研模型,以及如何在 GitHub Copilot 的籠罩下突圍。

值得注意的是,受限于底層技術大模型的能力,目前各種 AI 編程產品仍然集中于 coding 階段,在代碼補全和代碼生成兩個場景 PK,所以本質上,現在的 AI 編程產品依然是 AI coding。

但盡管如此,“24 小時 AI 程序員”的生產力仍然讓所有人著迷。

1為什么對 coding 情有獨鐘?

當前大多數 AI coding 產品主攻代碼補全和代碼生成兩個高頻場景。

軟件開發的智能化最開始就是從代碼生成和代碼補全開始的。因為技術容易實現,不會顛覆程序員的開發模型,代碼補全是整個行業做的比較成熟的功能,不管是大廠還是初創公司,產品都能用起來,且正確率較高。

在一個已有的項目中根據上下文去增加新功能叫代碼補全,即開發者用自然語言表達一個需求,用代碼生成。代碼生成現在正處于從文件級代碼到項目級代碼的突破。

代碼生成還處于初級階段,簡單的函數能生成得比較好,但并不是完全靠大模型,需要外掛一些知識庫配合,不能達到100%準確,若再想擴展到一個文件級的代碼生成,難度則會增高,往倉級別的難度會更高,而 Devin 展示的就是往倉級別去實現。

一位研究代碼智能的專家告訴 AI 科技評論,代碼補全現在是兵家必爭之地,是已經真正落地、也是程序員使用最多的場景。相對來說,代碼生成功能的使用頻率相對少一些,目前要真正融入到日常的開發成為高頻選項還有一些距離,原因是代碼生成需要改變程序員的開發模式、開發習慣。代碼生成目前依然是通過跟一個對話機器人對話,用自然語言表達需求來讓大模型生成一段代碼,在這個過程中不斷交互、表達需求,需求表達地越清晰、生成的代碼越準確。這過程中涉及到需求拆解。將一個大的需求拆解成一個個的小任務,再去生成,需求拆解對于當前大模型來說還有難度。同時,由于編程思維跟自然語言表達是兩回事,對于開發者來說,一個人代碼寫的好,并不意味著用自然語言表達業務邏輯好,它需要具備兩方面的能力。一是要熟悉業務,二是要扎實的計算機理論知識,包括算法,操作系統,軟件工程,計算機安全等,這其實對開發者的個人素養提出了很高的要求。

除了代碼補全和代碼生成兩個高頻場景,其他產品尋求差異化的出口是提供代碼注釋、代碼解讀、代碼 bug 修復、代碼優化、漏洞檢測等能力。

例如國內智譜 CodeGeeX 便開發了獨有的功能,例如去年年底推出的工具箱,就是基于模型具備Code Interpreter代碼解釋器能力,可以批量處理多種格式的文件、批量實現數據可視化、繪制數學函數圖等。

CodeGeeX 負責人鄭勤鍇認為,在這些事情上為開發者節省了時間,開發者就能將工作更多放在頂層設計上——怎么把代碼的架構設計地更好、功能考慮地更完善,從而提高軟件的質量。

智譜在2022年就完成了CodeGeeX代碼大模型的訓練,并同時推出了 CodeGeeX插件產品。

跟GitHub Copilot 一樣,CodeGeeX定位是智能輔助編程,但輔助也分為不同層級,目前已經從單個文件輔助拓展到了項目級輔助編程,因為實際開發場景中不可能只有單文件,大多都是多文件。

CodeGeeX負責人鄭勤鍇稱,往項目級拓展的挑戰在于項目生成的成功率,因為代碼項目往往不只是一小段代碼或者一個文件的代碼組成,而是同時需要完成項目中跨文件的代碼理解和生成補全。讓模型能充分理解更長的信息,并提取到關鍵部分,這對模型的要求很高。

對于參數量10B以下的代碼大模型,從海量的代碼中準確提取信息是一個關鍵性的挑戰。CodeGeeX4支持128K上下文,能夠處理和利用更長代碼文件、包括項目代碼中的信息,是模型更深入理解復雜和細節豐富的代碼的關鍵點。

2如何跟 GitHub Copilot 競爭?

一位投資人認為,做 AI 編程助手沒人能拼得過 GitHub Copilot。

GitHub Copilot 主要 To C,面向個人開發者定價每月 10 美元(約 66.9 元人民幣)或每年 100 美元(約 669 元人民幣)。

To B 企業用戶月費 39 美元,企業用戶可以將代碼部署到云端,而不必在本地反復克隆;企業用戶可以內建知識庫,形成個性化的Copilot Chat(在原有Copilot的基礎之上,開發者可以直接用自然語言和Copilot對話來解決遇到的問題),甚至是對底層模型進行微調。

除了占據時間上的先發優勢,GitHub Copilot 擁有兩大先天優勢,一是背靠擁有上億開發者的代碼托管平臺 GitHub,二是底層接入的是 OpenAI 最強的模型。

站在今天來看,微軟對開發者市場的戰略一直很清晰:2015 年推出跨平臺代碼編輯器 VScode,從用戶側統一IDE;2018 年收購 GitHub,擁有大量代碼數據(包括商用的未公開的數據);2019 年,微軟向 OpenAI 投資了 10 億美金,并獲得了 OpenAI 技術的商業化授權。

于是,在 2020 年 OpenAI 推出了 GPT-3 后,拿著最多的代碼數據去訓練模型,隔年 AI 編程工具 GitHub Copilot被推出,成為全球最早一款大模型 AI 編程工具,搶占了先發優勢。

今年 4 月微軟 CEO 稱 GitHub Copilot 已經擁有 180 萬付費訂閱用戶。

但也有多位從業者認為 GitHub Copilot 并非能一統天下。

“對于國內市場而言,商業化機會在 B 端。”清流資本合伙人劉博告訴 AI 科技評論。

首先,AI 編程產品面向的中大型企業 B 端市場大概是幾十億人民幣的規模,用戶付費意愿非常明確,這一市場規模和客單價在軟件服務市場上已經比較客觀。

對于國內 B 端用戶而言,他們有兩個需求是 GitHub Copilot 無法滿足的:1)模型本地部署,如果云端調用 GitHub Copilot 會有代碼泄露的風險同時本地部署后可以根據客戶的私有代碼進一步訓練,顯著提升代碼生成的效果;2)大客戶需要選擇國內的產品作為供應商,避免數據外流。

照著以上標準來找標的,清流資本在去年 9 月參與了國內面向企業的智能化軟件開發解決方案提供商 aiXcoder A+ 輪投資。跟 GitHub copilot 不同,aiXcoder 聚焦 To B,為企業提供基于代碼大模型的智能化軟件開發解決方案,包含私有化部署、企業領域知識與大模型融合、定制化開發等服務。清流資本合伙人劉博告訴 AI 科技評論,B 端市場的打法是當公司在一個行業里已經滲透了足夠多的客戶后,就能成為 AI Coding工具實質上的行業標準,成為行業里其他企業采購 AI Coding 工具時必須邀請參與競標的供應商。因此從國內的商業化角度出發,先發優勢和聚焦很重要。aiXcoder孵化自北京大學軟件工程研究所,在2013年就開始研究深度學習跟代碼結合,早在 2022 年 6 月便發布了中國首個百億級參數的代碼大模型 aiXcoder-13B,能夠支持方法級(函數級)的代碼補全。aiXcoder COO 李力行認為,代碼大模型落地時,如何跟企業的領域知識或者私域知識相結合非常關鍵,從而保證生成的代碼更準確,因為代碼生成要用到很多上下文信息,以及一些外部的領域知識,領域知識是指企業的業務邏輯、業務知識等等。一位資深從業者認為,高質量的數據才是模型能力的區隔。公開的數據可能有一天終會達到瓶頸,但世界上還有大量的私有數據可能永遠不會被公開,它們存在于各個 B 端企業內部,與企業業務邏輯強耦合。aiXcoder 在為客戶做本地部署的時候會基于這些私有化數據進行再訓練,給每個企業打造專屬的代碼大模型。

3通用大模型還是垂直模型?

GitHub Copilot 占據了 C 端優勢地位,國內玩家不約而同選擇了 C 端免費策略,如智譜 CodeGeeX、百度Comate、騰訊云 AI 代碼助手都推出了面向個人開發者的免費工具,這幾家廠商跟 aiXcoder 一樣、將商業化看向 B 端。

它們共同的思路是拿代碼數據在各自的基座大模型上進行預訓練或者微調,相同的代碼數據來自GitHub和其他可公開訪問的源代碼,百度、阿里、騰訊這些大廠還有一部分內部代碼的積累。

收集數據的方式、選取數據的類型、訓練的方法……整個訓練過程多個環節的差異導致各個代碼模型效果各異。

例如智譜 CodeGeeX 推出一體機的模式,開箱即用,提供完善的軟硬件和使用方式,特點是可以結合企業內部的代碼倉庫、知識庫來加強代碼能力,優勢是代碼是私有化安全的。

企業更關注怎么跟企業內部的代碼、數據文檔做結合,在模型訓練階段對這些代碼并不了解,包括企業內部自己定義的 API 接口等等。

為了讓模型更懂企業的代碼,CodeGeeX 提供了幾個方向:定制化的微調方案,在企業內部去用它們自己的代碼去對模型進行強化,還包括 RAG 檢索增強方案,即把企業代碼和文檔作為知識庫來輔助預測。

有投資人并不看好創業公司做代碼大模型,他們認為 AI Coding 這塊未來依然是通用大模型公司的事情,大模型公司更擅長做這件事,創業公司很難產生差異化,而且競爭對手太多了。

而且,軟件 To B 一直面臨的問題是國內 B 端客戶用不起,這是國內 SaaS 一直沒做起來的原因之一。

的確,根據開發者的反饋,如 GPT-4o、Claude 3.5 Sonnet 這樣的通用大模型現在也能保持不錯的代碼效果。

一位從業者認為,未來可能會有一個在所有模態上都很強的六邊形戰士模型,但真正從B端商業化落地來看,不太有太多公司有能力本地部署這樣一個參數量巨大的六邊形戰士模型,市場仍然需要一個代碼垂直模型。

那么創業公司如何跟大廠競爭?

大廠在理論上可以做所有的事情,但:

首先,大廠需要在所有能做的事情里去選擇以及決定對應的資源調配,對于大廠而言,有太多方向可以得到比單個 B 端 coding 場景更多的資源,比如通用大模型、AGI 等,而創業公司 100% 聚焦在一件事上;

其次,在垂直場景里,大廠的認知不一定比創業公司更深。B 端 AI coding是一個非常垂直且專業的場景,在大模型的基礎上仍然需要大量進階的代碼 knowhow 和對客戶需求的深度洞察。

aiXcoder COO李力行認為,首先需要通過全流程的數據治理和個性化訓練,使大模型能夠深刻理解并掌握企業領域知識,落地企業專屬代碼大模型;隨后,利用多 agent 等方式結合傳統軟件開發工具和方法,高效地解決企業復雜的軟件開發任務。

4Agent 是趨勢

軟件開發是一個復雜的系統工程,coding只占其中很少的部分,還涉及到需求理解、debugging、優化、部署等多個環節。而以 GitHub Copilot 為首的 AI 編程輔助產品現在只能寫點“函數磚頭”,砌墻的事還得程序員親自來。

但 Devin 的出現滿足了外界對 AI 軟件開發的想象力,不止于 coding 階段。

在 3 月初創公司 Cognition 的 demo 演示中,Devin 化身為一個擁有“全棧技能”的AI程序員,一個能夠獨立完成任務的自助系統,在快速原型設計、修復bug和復雜數據的可視化上表現優秀。

從交互上,Devin 帶來了一種新的AI軟件開發形態,包括命令行、瀏覽器等組件,是第一個脫離 IDE 的軟件開發形態。從實際任務上,Devin 愿景是完成整個軟件開發的需求任務,這種能完成更復雜開發任務的 Agent 已經成為業內確定的產品趨勢。

而 Devin 則被稱為 Agent 的“ChatGPT 時刻”。

一位 AI Agent 創業者趙聰認為,issue level 的 coding 都需要用 Agent 來實現,解決的是更復雜的問題,自動解 issue。issue 等同于文件級的代碼,而現在的代碼生成、補全都是在單文件上,解 issue 往往是針對整個項目,擁有多個文件。

aiXcoder COO 李力行看好 Agent 在軟件開發領域的應用,他認為多 Agent 協作也讓全流程代碼生成等更加復雜的開發任務成為可能。在2024年, aiXcoder 推出基于Agent技術的智能化軟件開發系統2.0,通過大模型+軟件開發工具調用解決企業項目級代碼生成問題,確保復雜開發場景下代碼生成的高效性、準確性和可靠性。

Devin 想要去解決一個問題,或者說修改一個倉密度的代碼,大家都在朝著 Devin 的方向做探索,但大模型能力現在幾乎還達不到。目前 Agent 還處于探索、實驗階段。

距離 Devin 發布已經過去五個月,依然沒有任何更進一步的消息。其 CEO Scott 也透露,他們尚無明確的公開預覽(public preview)時間表,目前仍在內測階段,即無確定的產品形態。

CodeGeeX 負責人鄭勤鍇則認為,Agent 只是實現某個功能的路徑,現在的 Agent 很多只是簡單的工具調用。重要的還是看最終實現的功能,能達到多高的可用性。

趙聰認為未來的創業機會在 AI Agent,因為 AI 編程賽道上 Copilot 微軟已經做了,很難再與之競爭,所以只能往前走,即直接替代人。開發者平時很多工作都類似于拿著螺絲刀擰螺絲,Copilot 就是把螺絲刀換成了電鉆,而 AI 程序員則是給開發者配個小弟,所以 Copilot 依然是個好工具,但 AI 程序員就是生產力,這是完全不同的兩件事。

但做 AI 程序員不是科學問題,而是個工程問題。這里涉及路徑選擇的問題,在做 AI 程序員時有公司是自己做模型,趙聰認為這是錯誤的路徑,他不相信所謂的小模型/垂直模型,覺得模型就只有大模型,因為只有大模型能帶來智力。

未來面臨的挑戰是,所有人都要往 project level coding 走,要依賴底層模型的進化,但模型太貴。趙聰認為GPT-4 至少得再降價 10 倍,才具有真正的可能性。

在軟件工程中,AI 難以解決的兩大問題是:1)復雜項目的業務上下文理解。2)每家公司獨特的工程架構、邏輯和實踐。在解決這兩個問題之前,AI Agent 還無法完全替代人類程序員。

但多位從業者一致認為,隨著 AI 不斷進化,未來高級程序員不會被替代,擰螺絲的初級程序員被替代已經能看到,未來程序員的培養路徑也跟現在不一樣,就像高科技種地,不需要真的從種地開始學,而是先從學習使用工具開始。

未來 C 端應該更好地服務普通人,而不僅僅是開發者,如果普通人也能通過 AI 實現編程,那么 C 端有可能完成一次爆發,而這需要更強的模型能力,端到端仍然需要 Agent 來實現。

但可以肯定的是,未來程序員逐漸都會離不開 AI 編程工具。「」

(文中趙聰為化名)

代碼生成三問:如何打造 24 小時在線的 AI 程序員?

相關推薦
免責聲明
本文所包含的觀點僅代表作者個人看法,不代表新火種的觀點。在新火種上獲取的所有信息均不應被視為投資建議。新火種對本文可能提及或鏈接的任何項目不表示認可。 交易和投資涉及高風險,讀者在采取與本文內容相關的任何行動之前,請務必進行充分的盡職調查。最終的決策應該基于您自己的獨立判斷。新火種不對因依賴本文觀點而產生的任何金錢損失負任何責任。

熱門文章