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