AI 編碼將解鎖下一波開發(fā)者生產(chǎn)力,并重塑軟件供應(yīng)鏈
翻譯自 AI coding will unlock the next wave of developer productivity and reshape the software supply chain 。

AI 編碼工具將隨著時(shí)間的推移不斷改進(jìn),為開發(fā)者帶來(lái)新一波的生產(chǎn)力提升。隨著 AI 考慮到安全、運(yùn)維和測(cè)試問(wèn)題,并在生成代碼時(shí)避免了下游工具的涉及,價(jià)值將逐漸向 AI 編碼工具轉(zhuǎn)移。
仿佛一夜之間,每個(gè)開發(fā)者都有了一位 AI 助理。Insight 資本公司旗下的 Sourcegraph 發(fā)現(xiàn),95% 的軟件開發(fā)者使用像 GitHub Copilot、ChatGPT 和Cody(Sourcegraph 的 AI 代碼助手)這樣的 AI 工具?,F(xiàn)在,我們擁有了新興的 AI 編碼工具景觀:

有許多新的工具利用 AI 幫助編碼。它們可以是編碼程序的插件,也可以是用于搜索和遷移代碼的工具,甚至可以是自動(dòng)化工作流程的代理。這些工具正在改變游戲規(guī)則,因?yàn)樗鼈兂袚?dān)了以前由人工手動(dòng)編碼完成的任務(wù)。
AI 編碼工具并不那么準(zhǔn)確,但它們?nèi)匀环浅S杏谩词箤?duì)于最高級(jí)的開發(fā)者也是如此。
AI 編碼工具不能完美地猜測(cè)開發(fā)者在想什么,至少目前還不能。但說(shuō)實(shí)話,這并不重要。盡管它們給出的建議可能不總是準(zhǔn)確的,但它們?nèi)匀粠椭_發(fā)者保持專注,激發(fā)創(chuàng)造力。對(duì)于各種類型的開發(fā)者來(lái)說(shuō),它們都很有效,即使這些建議有點(diǎn)像 AI 的想象狂奔。
為了了解語(yǔ)言模型如何生成代碼,我們可以想象一個(gè)高中學(xué)生為AP考試寫文章。他們閱讀問(wèn)題并開始思考許多不同的主題和想法。然后他們運(yùn)用更高層次的思維將這些隨機(jī)的想法組合成一個(gè)有組織的論點(diǎn)和支持論據(jù)。語(yǔ)言模型也是以類似的方式工作。它們搜索龐大的知識(shí)數(shù)據(jù)庫(kù)以找到有用的信息,就像我們?cè)陂_始規(guī)劃一篇文章時(shí)大腦所做的那樣。它們可以非常富有創(chuàng)造力和啟發(fā)性,特別是在模型產(chǎn)生幻覺并在不同領(lǐng)域之間建立聯(lián)系時(shí)。但目前,當(dāng)涉及到將所有東西整合在一起,尤其是在更復(fù)雜的情況下,模型仍然面臨困難。然而,由于AI技術(shù)正在快速發(fā)展,這種情況可能很快會(huì)改變。
相對(duì)于普通工程師,初學(xué)者和專家從 AI 獲取得價(jià)值更大
使用 AI 輔助編碼助手可以幫助新手和有經(jīng)驗(yàn)的工程師提高生產(chǎn)力。他們可以更快地完成工作,投入更少的精力。然而,處于中間水平的工程師可能會(huì)面臨一些挑戰(zhàn)。他們通常處理的問(wèn)題更復(fù)雜,而 AI 可能無(wú)法很好地處理這些問(wèn)題,他們可能沒有足夠的經(jīng)驗(yàn)來(lái)判斷 AI 生成的結(jié)果是否可靠。
以下是 AI 編碼助手在軟件開發(fā)供應(yīng)鏈的不同階段所帶來(lái)的價(jià)值的可視化映射:

S這些觀點(diǎn)是基于當(dāng)前的“最先進(jìn)技術(shù)”,而事物正在迅速變化。我們現(xiàn)在看到的情況可能在不久的將來(lái)會(huì)有所不同。
AI 編碼助手使沒有技術(shù)背景的知識(shí)工作者能夠編寫代碼。它們還通過(guò)提供可靠的樣板代碼、自動(dòng)完成代碼的建議,甚至將文本轉(zhuǎn)換為 SQL 命令,幫助經(jīng)驗(yàn)較少的工程師。如果你是初級(jí)工程師,正在處理創(chuàng)建基本 API 、集成數(shù)據(jù)或?qū)⒏呒?jí)工程師構(gòu)建的服務(wù)整合到特定應(yīng)用程序等任務(wù),你可以期望提高 50% 甚至更多的生產(chǎn)力。
然而,如果你是中級(jí)工程師,可能不會(huì)看到太多的生產(chǎn)力提升,甚至可能會(huì)有一些負(fù)面體驗(yàn)。盡管中級(jí)和有才華的初級(jí)工程師會(huì)從 AI 生成的代碼中受益,但他們的項(xiàng)目可能更復(fù)雜,這可能導(dǎo)致更多的錯(cuò)誤,并且在修復(fù) AI 生成的代碼方面可能需要更多的時(shí)間。他們可能也很難區(qū)分好的代碼和糟糕的代碼,因此他們將花費(fèi)額外的時(shí)間進(jìn)行調(diào)試。
我們預(yù)計(jì)“10倍”工程師將成為“ 15 倍”工程師。
另一方面,技術(shù)高超的工程師,通常被稱為“ 10 倍”工程師,將變得更加高效。AI 編碼助手對(duì)于非常復(fù)雜的編程任務(wù)可能不太有用,它們可能會(huì)提供一些建議,但并不完全準(zhǔn)確。但關(guān)鍵的區(qū)別在于這些頂級(jí)工程師可以快速發(fā)現(xiàn) AI 生成的代碼的缺陷。熟練的工程師有獨(dú)特的思維方式,有時(shí)會(huì)拖延,因此 AI 帶來(lái)的生產(chǎn)力提升真的有助于保持他們的積極性和高效性。我們預(yù)計(jì)“ 10 倍”工程師將成為“ 15 倍”工程師。
后端工程師將轉(zhuǎn)向前端、安全和平臺(tái)工程師。
隨著 AI 承擔(dān)了一些以前需要大量后端工程師的任務(wù),這些工程師將開始轉(zhuǎn)向需求更大的前端開發(fā)、安全和平臺(tái)工程師的角色。
缺乏高級(jí)編程技能的系統(tǒng)管理員和信息安全專業(yè)人員在滿足創(chuàng)建定制應(yīng)用程序和工作流程的日益增長(zhǎng)的需求方面可能會(huì)遇到困難。因此,他們可能會(huì)逐漸被更有技術(shù)能力的程序員所取代,這些程序員將尋求在這些領(lǐng)域的工作。
我們還可能會(huì)在網(wǎng)絡(luò)安全領(lǐng)域看到一系列由生成 AI 驅(qū)動(dòng)的新攻擊向量,這將吸引更多復(fù)雜的工程師來(lái)對(duì)抗對(duì)手行為。
AI 驅(qū)動(dòng)的編碼=開發(fā)速度更快,暴露出將重構(gòu) SDLC 工具鏈的瓶頸
在過(guò)去的五年里,我們已經(jīng)逐漸轉(zhuǎn)向 “shift-left” 工具,使開發(fā)人員能夠進(jìn)行早期測(cè)試和評(píng)估,通常由“運(yùn)維”下游處理。其前提是要求開發(fā)人員獲得有關(guān)運(yùn)維或安全方面的一些知識(shí),而不是讓運(yùn)維和安全團(tuán)隊(duì)對(duì)開發(fā)人員的服務(wù)進(jìn)行探查。
"Shift-left" 一開始會(huì)感覺像是把問(wèn)題丟給別人處理了
然而,問(wèn)題在于,所有這些要求正在積累,對(duì)于開發(fā)者來(lái)說(shuō),這變得太多了。他們浪費(fèi)了本應(yīng)該用在主要編碼工作上的寶貴時(shí)間和精力。這就是 AI 編碼助手發(fā)揮作用的地方。它們可以幫助消除這些 shift-left 工具帶來(lái)的一些麻煩。不僅如此,它們還可以使后續(xù)的其他任務(wù),比如監(jiān)控和安全,隨著時(shí)間的推移變得更加簡(jiǎn)便,因?yàn)?AI 可以在編寫代碼時(shí)立即發(fā)現(xiàn)性能和安全問(wèn)題。
下面的圖表突出顯示了我們?nèi)绾卧谛碌摹?AI 世界”與“舊世界”(shift-left之前)和“Shift-Left世界”之間看到軟件開發(fā)供應(yīng)鏈不同階段的價(jià)值積累:

AI 對(duì)開發(fā)工具的影響
總體來(lái)說(shuō),多虧了 AI ,更多的軟件將更快地發(fā)布。在過(guò)去的 15 年里,我們已經(jīng)從傳統(tǒng)的瀑布式開發(fā)轉(zhuǎn)向了敏捷開發(fā)方法?,F(xiàn)在,借助 AI 的幫助,我們將經(jīng)歷更多的生產(chǎn)力提升,因?yàn)殚_發(fā)周期將加速。這將極大地影響開發(fā)者工具生態(tài)系統(tǒng)。我們只能推測(cè)未來(lái)的變化,但根據(jù)我們目前所知,以下是一些預(yù)測(cè):
修復(fù)損壞構(gòu)建的工具將變得更加重要
當(dāng)我們的本地計(jì)算機(jī)的依賴關(guān)系與構(gòu)建服務(wù)器上的依賴關(guān)系不匹配時(shí),會(huì)導(dǎo)致構(gòu)建失敗。這是一個(gè)常見問(wèn)題,因?yàn)楣こ處熀茈y堅(jiān)持使用一致的編程語(yǔ)言、版本和庫(kù)。AI驅(qū)動(dòng)的編程將加速開發(fā)周期,這將加劇開發(fā)過(guò)程中的瓶頸。我們可以預(yù)期對(duì)加速構(gòu)建過(guò)程的技術(shù)(如 Incredibuild、EngFlow、Vercel/turborepo、nx.dev、warp.build)或直接解決依賴擴(kuò)散問(wèn)題的技術(shù)(包括 Tangram、Flox )的需求會(huì)越來(lái)越大。
啟用 AI 的 shift-left 工具將成為常態(tài)
針對(duì)測(cè)試和漏洞管理的 shift-left 工具正逐漸變得像“扔過(guò)墻”的左派工具,因?yàn)殚_發(fā)者負(fù)擔(dān)不斷增加,需要完成越來(lái)越多的檢查來(lái)部署軟件。這類工具在軟件供應(yīng)鏈中可能成為一個(gè)潛在的瓶頸,隨著軟件開發(fā)速度的繼續(xù)加速,這一情況只會(huì)加劇。為了解決這個(gè)問(wèn)題,shift-left 工具需要自動(dòng)化大部分過(guò)程。像 Tabnine(AI驅(qū)動(dòng)的單元測(cè)試)、Github Copilot(AI驅(qū)動(dòng)的漏洞檢測(cè))、Swimm(AI驅(qū)動(dòng)的內(nèi)部文檔)、Codium(AI驅(qū)動(dòng)的完整性測(cè)試)這樣的公司正在幫助自動(dòng)化這些過(guò)程,我們預(yù)計(jì)新老公司在未來(lái) 12 個(gè)月內(nèi)將向其產(chǎn)品中添加 AI 。
在 AI 時(shí)代,"Overlay" 工具將變得越來(lái)越重要
無(wú)論是在測(cè)試、可觀測(cè)性還是安全性方面,關(guān)注點(diǎn)逐漸從手動(dòng)解釋數(shù)據(jù)點(diǎn)轉(zhuǎn)向利用聊天式自然語(yǔ)言處理(NLP)界面,從多個(gè)來(lái)源綜合信息。像 Datadog 和 Splunk 這樣的公司將開始利用大型語(yǔ)言模型(LLM)來(lái)自動(dòng)生成根本原因分析,但它們的能力受限于各自平臺(tái)上可用的數(shù)據(jù)。在這個(gè)新的景觀中,諸如 BigPanda(一個(gè)AIOPs平臺(tái))和 Moment.dev(一個(gè)內(nèi)部開發(fā)者門戶)之類的覆蓋產(chǎn)品顯得非常重要。這些工具整合了多個(gè)數(shù)據(jù)源,實(shí)現(xiàn)了更全面的分析。由于其固有的能力提供更廣泛的視角,Overlay 工具往往是 DevOps 專業(yè)人員在深入到像 Splunk 或 Grafana 這樣的監(jiān)控工具之前首先看到的工具。如果 Overlay 工具能夠?qū)崿F(xiàn) AI 驅(qū)動(dòng)的體驗(yàn),用戶將更傾向于使用這些功能,并且對(duì)其整合的上游工具的依賴將大大減少。
開發(fā)者工具將更擅長(zhǎng)連接軟件開發(fā)的不同階段
我們一直存在的問(wèn)題之一是,開發(fā)者以一種方式編寫代碼,但負(fù)責(zé)確保一切在生產(chǎn)環(huán)境中運(yùn)行順利的人看到的是完全不同的東西。AI 變得越來(lái)越核心,因此確保所有不同的部分能夠協(xié)同工作并使用相同的語(yǔ)言非常重要。微軟憑借其擁有的資源,如 Github 和 Azure ,處于最佳位置來(lái)實(shí)現(xiàn)這一點(diǎn)。在初創(chuàng)公司的世界中,我們開始看到創(chuàng)造性的解決方案,比如 Korbit,它使用 LLM 代理來(lái)豐富來(lái)自 Datadog 的性能上下文的代碼建議。
代碼調(diào)試在可觀察性方面變得越來(lái)越重要
雖然近年來(lái),分布式系統(tǒng)的復(fù)雜性主導(dǎo)了可觀察性領(lǐng)域,但未來(lái) AI 驅(qū)動(dòng)的編程和無(wú)服務(wù)器計(jì)算將把重點(diǎn)從系統(tǒng)遙測(cè)轉(zhuǎn)移到應(yīng)用代碼上。故障排除和改進(jìn)代碼將成為主要關(guān)注點(diǎn)。我們預(yù)計(jì)在可觀察性方面的下一個(gè)改變游戲規(guī)則的因素將把代碼調(diào)試體驗(yàn)轉(zhuǎn)變?yōu)橐环N愉悅和高效的過(guò)程。
爭(zhēng)奪成為“私有”云的“微軟”
擁有從編碼到部署的完整開發(fā)工具體系的微軟可能會(huì)隨著 AI 強(qiáng)調(diào)整個(gè)工具鏈的集成價(jià)值而吸引越來(lái)越多的開發(fā)者關(guān)注。但就像我們?cè)?GitHub 上看到 GitLab 一樣,有機(jī)會(huì)為更關(guān)注安全/隱私的公司打造一個(gè)集成的開發(fā)工具鏈,他們可能不愿過(guò)于依賴于單一供應(yīng)商。
低代碼工具將轉(zhuǎn)變?yōu)?AI 驅(qū)動(dòng)的代碼生成界面
盡管低代碼平臺(tái)將繼續(xù)提供可重復(fù)使用的 UI 組件和 JavaScript 抽象,但用戶將越來(lái)越多地依賴 AI 來(lái)定義復(fù)雜的工作流函數(shù)。在未來(lái),用戶將能夠用文字描述整個(gè)內(nèi)部工作流程,然后AI將解釋并生成適合他們需求的應(yīng)用程序。Superblocks和 Airplane.dev 已經(jīng)在朝這個(gè)方向邁出了步伐,其他公司也將會(huì)跟進(jìn)。
展望未來(lái)
現(xiàn)在還只是剛剛開始,很難看到黃金之路上未來(lái)幾步之外的景象。我們所知道的是,對(duì)于世界各地富有創(chuàng)造力的開發(fā)者而言,開發(fā)將變得更有趣、更具挑戰(zhàn)性和更有回報(bào)。AI 還將重塑整個(gè)開發(fā)者工具的景觀,并重新調(diào)整已定義行業(yè)形態(tài)的現(xiàn)有競(jìng)爭(zhēng)要點(diǎn)。