AI Coding:重塑軟件開(kāi)發(fā)的未來(lái)
在AI應(yīng)用里,與Coding結(jié)合應(yīng)該是最合適的場(chǎng)景了——既能提高開(kāi)發(fā)效率,又不會(huì)有太多的幻覺(jué)問(wèn)題。這篇文章,作者給到了自己的觀點(diǎn):AI Coding 是一個(gè)巨大的機(jī)遇,甚至?xí)厮苘浖_(kāi)發(fā)的未來(lái)。為什么這么說(shuō)?看看作者的解答。
過(guò)去的一年里,AI Coding 工具經(jīng)歷了爆發(fā)式增長(zhǎng),但目前還沒(méi)有一款編程工具做的像人類工程師一樣好,其中仍然有很多帶解決的問(wèn)題。參考《Code Smarter, Not Harder》文章的內(nèi)容,帶著對(duì)AI Coding產(chǎn)品的關(guān)注來(lái)學(xué)習(xí)下這類產(chǎn)品的發(fā)展現(xiàn)狀和面臨的挑戰(zhàn)。
01 為什么 AI Coding 是一個(gè)巨大的機(jī)遇
想象當(dāng)下的編程工作的一些特點(diǎn):
- 編碼的本質(zhì):要求工程師將問(wèn)題分解成更小的任務(wù)易于管理,AI可以幫助明確問(wèn)題和影響范圍,確定問(wèn)題的關(guān)鍵因素和分類
- 目前有大量現(xiàn)有的訓(xùn)練數(shù)據(jù),利用現(xiàn)有的數(shù)據(jù)AI可以提供代碼補(bǔ)全、審查和調(diào)試建議
- 編程任務(wù)需要判斷力和基于規(guī)則的工作相結(jié)合,AI模式識(shí)別和預(yù)測(cè)能力可以幫助識(shí)別潛在問(wèn)題
- 編程的解決方案往往是利用可以開(kāi)源庫(kù)等可以組合的模塊,AI幫助開(kāi)發(fā)者快速識(shí)別和推薦開(kāi)源庫(kù)和模塊,促進(jìn)更快構(gòu)建出解決方案,不需要從頭開(kāi)始寫(xiě)代碼
- 在某些情況下的工作成果可以經(jīng)過(guò)經(jīng)驗(yàn)測(cè)試正確性,
這意味著AI可以提供可量化的價(jià)值。
02 AI Coding 目前存在的挑戰(zhàn)什么
根據(jù)三種不同的 AI Coding 模式,參考《Code Smarter, Not Harder》現(xiàn)存挑戰(zhàn)可以總結(jié)為:
- 如何創(chuàng)造更強(qiáng)的上下文感知能力,增強(qiáng)工作流程
- AI Agent 在端到端編碼任務(wù)中怎樣才能做的更好
- 基礎(chǔ)模型極速迭代的當(dāng)下,編碼模型是否真的可以帶來(lái)長(zhǎng)期的差異化
03 AI Coding 市場(chǎng)現(xiàn)狀
初創(chuàng)公司采取的三種方法、AI Copilots和Chat界面、AI Agent 端到端地完成任務(wù)、用特定的代碼數(shù)據(jù)訓(xùn)練一個(gè)專有編程模型,并與應(yīng)用垂直整合。
AI Copilots 增強(qiáng)現(xiàn)有工作流程
在IDE中嵌入Chat界面,來(lái)增強(qiáng)工作流程。2021年GitHub Copilot發(fā)布,市場(chǎng)上出現(xiàn)大量AI Coding項(xiàng)目,這類產(chǎn)品只要相對(duì)較少的上下文即可奏效;將輸出直接放在用戶面前,并允許用戶更正。
除了 GitHub Copilot,其他公司怎樣進(jìn)行差異化搶占市場(chǎng)份額?對(duì)代碼重構(gòu)、代碼審查和軟件架構(gòu)等切入點(diǎn)不斷有公司開(kāi)始探索。這些產(chǎn)品需要面臨的問(wèn)題是需要對(duì)代碼有更廣泛的理解,還需要理解不同文件之間的知識(shí)圖、業(yè)務(wù)背景、軟件的使用模式、以及復(fù)雜工具的選擇。
如何更好的獲取上下文,完成更廣更深的任務(wù),將成為最大的挑戰(zhàn)。
AI Coding Agent 取代工作流程
Agent 將創(chuàng)造全新的生產(chǎn)力和創(chuàng)新模式。它的基本能力不僅僅是預(yù)測(cè)代碼行中的下一個(gè)詞。而是像工程師一樣從用戶的角度考慮產(chǎn)品。甚至有非常多的復(fù)雜步驟,比如修復(fù)一個(gè)bug,它需要知道bug的位置、問(wèn)題性質(zhì)、它對(duì)產(chǎn)品的影響、修復(fù) bug 可能會(huì)導(dǎo)致的任何上下游變化等諸多問(wèn)題,它的上下文必須來(lái)自各種數(shù)據(jù)、更大塊的代碼庫(kù)塊等。Devin、Factory、CodeGen、SWE-Agent等都屬于這類產(chǎn)品。
在端到端編碼任務(wù)中怎樣才能做的更好?
專門的代碼模型
有些人認(rèn)為專門的代碼模型可以AI Coding應(yīng)用層建立長(zhǎng)期的差異化,但是我們需要考慮基礎(chǔ)模型層持續(xù)進(jìn)步會(huì)不會(huì)代碼模型?
大多數(shù)基礎(chǔ)LLM并不是專門在代碼上訓(xùn)練的,反而許多用于代碼的模型基于LLM基礎(chǔ)模型針對(duì)編程需求微調(diào)獲得的。要訓(xùn)練自己的代碼模型,需要生成自己的代碼數(shù)據(jù)和人類對(duì)編程示例的反饋來(lái)訓(xùn)練模型(“基于代碼執(zhí)行反饋的強(qiáng)化學(xué)習(xí)”)。或許這樣能帶來(lái)更好的輸出,減少對(duì)GPT-4或其他LLM的依賴,讓我們拭目以待
核心技術(shù)問(wèn)題是,專門的代碼模型能否超越前沿模型的改進(jìn)速度。新模型訓(xùn)練完之前,一個(gè)更好的基礎(chǔ)模型出現(xiàn),并超越你的模型。很多團(tuán)隊(duì)正在采取在基礎(chǔ)模型上對(duì)特定任務(wù)進(jìn)行特定微調(diào)的方法,這樣是可靠保守的做法,既可以受益于基礎(chǔ)模型的進(jìn)步,又能提高編程能力。
04 結(jié)尾
這些技術(shù)難題應(yīng)該怎么突破?答案是開(kāi)放的,我們可以關(guān)注下這個(gè)賽道的產(chǎn)品與模型迭代,我本人非??春肁I coding賽道的發(fā)展,Perplexity的CEO也說(shuō)他認(rèn)為A!輔助編程是唯一的Al原生應(yīng)用,Kimi前產(chǎn)品創(chuàng)業(yè)也是這個(gè)賽道,Al搜索之后真正的下一個(gè)泡沫已經(jīng)吹起來(lái)了,期待看著能夠卷到什么地步。想信通過(guò)不斷持續(xù)提升編碼能力,甚至最終完全自動(dòng)化編碼,將開(kāi)啟一個(gè)巨大的市場(chǎng)。
本文由 @wanee 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!