亚洲av中文无码乱人伦在线视色,网曝黑料国产吃瓜,无码国产精品久久一区免费,亚洲av在在线观看,亚洲av国产午夜精品一区二区

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

【導(dǎo)讀】

2024 年,AI 在軟件工程中的應(yīng)用迎來全新變革!從輔助開發(fā)到全生命周期管理,AI 工具正全面融入軟件開發(fā)的每個(gè)階段。本文深入探討了 AI 編程工具的演進(jìn)路徑,從個(gè)體到團(tuán)隊(duì)再到組織,展示了如何通過 AI 提升開發(fā)效率和軟件質(zhì)量,深入揭示 AI 究竟如何重塑軟件開發(fā)的未來。

作者 | 黃峰達(dá)(Phodal)

責(zé)編 | 唐小引

出品丨新程序員編輯部

在大多數(shù)組織中,開發(fā)者用于編碼的時(shí)間不到總工作時(shí)間的 40%,因此編碼提效對(duì)整個(gè)軟件開發(fā)生命周期(SDLC)的效能影響很有限,應(yīng)嘗試將 AI 應(yīng)用于軟件全生命周期和整個(gè)團(tuán)隊(duì),而不僅僅是個(gè)別成員、個(gè)別環(huán)節(jié)的產(chǎn)出。

從 2024 年的視角回顧,與 2023 年相比,AI 在軟件工程中的應(yīng)用已經(jīng)變得更加廣泛和深入。這一趨勢(shì)體現(xiàn)在 AI 編程工具的進(jìn)化上,主要體現(xiàn)在以下幾個(gè)方面:

  • 全面探索:從輔助開發(fā)人員到全生命周期;

  • 演進(jìn)路徑:個(gè)體、團(tuán)隊(duì)、組織;

  • 形態(tài)變化:從本地 AI IDE 到領(lǐng)域特定的智能代碼生成。

站在全球來看,在不同的國家、區(qū)域人們的關(guān)注點(diǎn)是不一樣的,比如在中國,人們更關(guān)注于如何提高軟件工程師的工作效率,而在其它一些區(qū)域,人們更關(guān)心如何提高軟件工程的質(zhì)量、如何輔助進(jìn)行遺留系統(tǒng)的遷移。除了各自所處的數(shù)字化階段、水平不同,還存在一些技術(shù)人才數(shù)量、質(zhì)量、分布等方面的差異。

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

全面探索:從輔助開發(fā)人員到全生命周期

AI 技術(shù)已經(jīng)從簡單的輔助開發(fā)人員發(fā)展到涵蓋軟件開發(fā)的整個(gè)生命周期。在這一過程中,AI 工具的應(yīng)用范圍不斷擴(kuò)展,從需求分析到運(yùn)維管理,每個(gè)階段都得到了顯著提升。

單工具 Copilot

如圖 1 所示,是我們?cè)?2023 年初對(duì) AI 輔助軟件工程的流程分析,即在軟件開發(fā)的不同階段,AI 可以提供哪些輔助功能:

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

圖 1 AI DevOps 流程

從 2022 年 GitHub Copilot 的發(fā)布,我們可以看到越來越多的 AI 工具開始涉足到軟件開發(fā)的不同階段。

  • 需求階段的 Jira/Atlassian Intelligence

  • 原型設(shè)計(jì)的 Vercel V0

  • 編碼階段的 GitHub Copilot

  • 運(yùn)維階段的 Dynatrace Davis AI

  • ……

就 2023 年的結(jié)論而言,基于人工智能的工具與基礎(chǔ)大語言模型可以增強(qiáng)軟件開發(fā)在設(shè)計(jì)、需求、測試、發(fā)布和運(yùn)維等各個(gè)環(huán)節(jié)中的能力,提高質(zhì)量和效率。但是,這些工具往往是破碎、割裂的,還可能并不適合我們現(xiàn)有的研發(fā)流程。

AI 原生的研發(fā)工具

我們也可以看到市面上的主流研發(fā)工具,如 JetBrains、GitHub(網(wǎng)站)等,都在逐漸加入 AI 功能(如圖 2 所示),使得 AI 功能逐漸融入到我們的日常工作中。

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

圖 2 AI Native 工具

在 IntelliJ IDEA 中,我們可以看到 AI 功能的加入,如:

  • 原生的向量化模型

  • 基于語義化搜索(Search Everywhere)

  • 結(jié)合補(bǔ)全統(tǒng)計(jì)的機(jī)器學(xué)習(xí)補(bǔ)全插件:Machine Learning Code Completion

  • 適用于單個(gè)代碼行的 Full Line Code Completion

  • 等等

而除了 GitHub Copilot 工具本身,其也開放了其插件能力,使得我們可以定義自己的 AI 智能體,以適應(yīng)我們自己的工作流程。

多階段協(xié)同

在 2024 年,我們可以看到更多的變化,諸如:

  • 在智能運(yùn)維領(lǐng)域,AI 可以結(jié)合判別性 AI 分析日志,生成式 AI 分析原因,再結(jié)合智能體根據(jù)運(yùn)行錯(cuò)誤,自動(dòng)修復(fù)代碼問題等;

  • 在測試領(lǐng)域,AI 除了輔助進(jìn)行測試用例的生成,還可以生成對(duì)應(yīng)的單元測試代碼,甚至是自動(dòng)化測試代碼;

  • 在 UI 設(shè)計(jì)領(lǐng)域,AI 可以直接生成對(duì)應(yīng)的代碼,基于提示詞來修改 UI,所生成的是最終的 UI 代碼,而不是設(shè)計(jì)稿;

  • ……

如下是 Dynatrace 的 Davis AI 示例:

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

圖 3 Hypermodal AI

Dynatrace 的 Hypermodal AI(超模態(tài)人工智能),是一種將多種類型的人工智能整合在一起,以增強(qiáng)可觀察性和安全解決方案的高級(jí)方法。這個(gè)概念結(jié)合了三種不同的 AI 模式:

  • 預(yù)測 AI:使用歷史數(shù)據(jù)和觀察到的模式來預(yù)測未來的行為和需求。這對(duì)于在問題發(fā)生之前預(yù)見并防止?jié)撛趩栴}至關(guān)重要。

  • 因果 AI:專注于實(shí)時(shí)分析富有上下文的數(shù)據(jù),以確定問題的根本原因并自動(dòng)化緩解風(fēng)險(xiǎn)。這種類型的 AI 通過理解系統(tǒng)內(nèi)的依賴關(guān)系和交互,提供精確的答案。

  • 生成 AI:利用高級(jí)算法來創(chuàng)建針對(duì)特定問題的建議和解決方案。通過提供上下文相關(guān)的建議和使用自然語言處理自動(dòng)化任務(wù),這種 AI 增強(qiáng)了用戶互動(dòng)。

通過融合這些 AI 功能,超模態(tài) AI 為管理復(fù)雜的軟件環(huán)境提供了更全面和有效的解決方案。Dynatrace 的 Davis AI 平臺(tái)通過整合預(yù)測 AI、因果 AI 和生成 AI, 提供實(shí)時(shí)洞察、自動(dòng)化和增強(qiáng)的數(shù)字服務(wù)安全性。

諸如此類的變化,使得 AI 所能輔助的范圍更加廣泛,從而使得 AI 在軟件工程中的應(yīng)用更加全面。

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

演進(jìn)路徑:個(gè)體、團(tuán)隊(duì)、組織

從企業(yè)采用 AI 的路徑來看,我們會(huì)發(fā)現(xiàn):越來越多的組織開始探索在組織層面使用 AI 輔助整體軟件研發(fā)。因而,AI 輔助研發(fā)組織的技術(shù)藍(lán)圖便也逐漸清晰起來:

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

圖 4 AI for Org

從形態(tài)上可以分為:帶擴(kuò)展能力的 IDE 插件、團(tuán)隊(duì) AI 助手、 結(jié)合 AI 的內(nèi)部 IM,以及作為基礎(chǔ)能力的 ChatBot。

個(gè)體輔助 IDE 插件示例:AutoDev

AI 編程工具應(yīng)該怎么設(shè)計(jì)才能提效?在當(dāng)前來說,國內(nèi)的環(huán)境下,由于我們的目標(biāo)是實(shí)現(xiàn)可見的效率提升,即要通過可度量的指標(biāo)。因而,可以看到一些明顯 的變化:

  • 代碼補(bǔ)全與生成是最容易度量的指標(biāo),并且市面上也以此類為主。

  • 在不同環(huán)節(jié),從時(shí)間角度來計(jì)算,如代碼審查、代碼測試等。

  • 結(jié)合代碼的問答,以減少工具切換、復(fù)制粘貼,提高效率。

如下是我們開源的 IDE 插件 AutoDev 的能力全景圖:

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

圖 5 AutoDev 能力全景

由于過去的 AI 編程工具主要面向的是個(gè)體開發(fā)者,而隨著探索進(jìn)入一些深入?yún)^(qū),以及實(shí)踐的不斷推進(jìn)。所以,在結(jié)合組織能力的情況下,我們可以看到:

  • 多樣的 AI 工具正在融入自己的開發(fā)流程中

  • AI 工具開始融入內(nèi)部的一系列規(guī)范

  • 不斷結(jié)合內(nèi)部知識(shí)庫,提升內(nèi)容生成的質(zhì)量

  • 開始構(gòu)建自己的場景化能力

故而,我們將其總結(jié)為,從個(gè)體到團(tuán)隊(duì),再到組織,并開始思考如何擴(kuò)大 AI 的應(yīng)用范圍。

團(tuán)隊(duì) AI 助手示例:Haiven

在設(shè)計(jì)團(tuán)隊(duì) AI 助手時(shí),我們需要考慮到團(tuán)隊(duì)的拓?fù)浣Y(jié)構(gòu),以及團(tuán)隊(duì)的工作流程。如圖 6 所示:

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

圖 6 團(tuán)隊(duì)拓?fù)?/p>

在一個(gè)組織中,必然會(huì)有大量的不同類型的團(tuán)隊(duì),每個(gè)團(tuán)隊(duì)受限于業(yè)務(wù)盈利模式等因素,其采用的技術(shù)、工作流程等都會(huì)有所不同。諸如于,核心的業(yè)務(wù)部門可以享受自己特有的開發(fā)流程,而其它非核心部門則會(huì)采用一些標(biāo)準(zhǔn)化的流程。

考慮到盈利水平高的部門,通常是大型團(tuán)隊(duì),他們不僅可能有自己的 AI IDE 插件,還會(huì)有自己的 AI 團(tuán)隊(duì)。因此,我們也建議設(shè)計(jì)一個(gè)可以讓不同團(tuán)隊(duì)共享知識(shí)的 AI 團(tuán)隊(duì)助手。

諸如 Haiven? 團(tuán)隊(duì)助手:

Haiven? 團(tuán)隊(duì)助手是由 Thoughtworks 開發(fā)的一款 AI 驅(qū)動(dòng)工具,旨在增強(qiáng)軟件開發(fā)流程。它與現(xiàn)有的 AI 編碼助手集成,并提供可插拔的知識(shí)包,幫助團(tuán)隊(duì)完成開發(fā)任務(wù)、加速反饋循環(huán),并推動(dòng)創(chuàng)新。支持多種云和身份提供商,便于采用并集成到現(xiàn)有工作流程中。它支持研究、用戶旅程分析、 架構(gòu)開發(fā)和團(tuán)隊(duì)知識(shí)編碼,從而提升生產(chǎn)力、質(zhì)量和團(tuán)隊(duì)能力,同時(shí)保持對(duì) AI 環(huán)境的控制。

  • 提高軟件開發(fā)的生產(chǎn)力和質(zhì)量。可復(fù)用提示詞(Prompt)可以將最佳實(shí)踐和即時(shí)知識(shí)融入團(tuán)隊(duì)的工作流程,以減少浪費(fèi),提升開發(fā)者滿意度,并保持軟件質(zhì)量始終如一。

  • 動(dòng)態(tài)增強(qiáng)團(tuán)隊(duì)成員能力。Haiven 增強(qiáng)了團(tuán)隊(duì)的自然人類創(chuàng)造力,使他們能夠輕松研究用戶需求,探索創(chuàng)新功能并交付卓越的用戶體驗(yàn)。

  • 易于采用。支持多云和身份提供商,以及可根據(jù)團(tuán)隊(duì)工作流程定制的可插拔知識(shí)包,Haiven 極易被采用和集成。

  • 理解今天的 AI 的潛力。AI 市場是動(dòng)態(tài)且迅速發(fā)展的,許多工具并未專門針對(duì)軟件開發(fā)任務(wù)設(shè)計(jì),或者只關(guān)注有限的功能范圍。Haiven 提供了一個(gè)簡單的沙盒,用于今日試驗(yàn)新功能。

通過基礎(chǔ)的 AI 賦能,讓不同團(tuán)隊(duì)在有能力的情況下,可以根據(jù)自己的需求,定制自己的 AI 助手。

組織級(jí) IM/ChatBot 示例

回到整體組織層面,我們也會(huì)看到內(nèi)部的 IM 工具也在融合 AI 功能,以提升協(xié)作體驗(yàn)。諸如:

  • 尋找負(fù)責(zé)人/專家:通過 AI 助手,可以快速找到組織內(nèi)的專家,以解決問題。

  • 運(yùn)維 ChatBot,輔助分析部署失敗問題,可以自動(dòng)化運(yùn)維任務(wù),如自動(dòng)化部署、自動(dòng)化監(jiān)控等。

  • CI/CD 問題分析:通過 AI 助手,在嘗試修復(fù)問題時(shí),還可以告知問題的可能根因。

  • AI 會(huì)議創(chuàng)建與管理。通過 AI 助手,可以自動(dòng)創(chuàng)建會(huì)議,自動(dòng)邀請(qǐng)參會(huì)人員,自動(dòng)記錄會(huì)議內(nèi)容,自動(dòng)提醒會(huì)議時(shí)間等。

如下是 Teams Copilot 的示例:

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

圖 7 Teams Copilot

在另外一方面,我們也會(huì)有大量的其它 ChatBot 在不同的研發(fā)團(tuán)隊(duì)中使用,比如輔助平臺(tái)的使用、文檔查找等等。

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

形態(tài)變化:從本地 AI IDE 到領(lǐng)域特定的智能代碼生成

與通用性的 AI 輔助相比,領(lǐng)域特定的 AI 輔助效果更好,因?yàn)樗私忸I(lǐng)域的特點(diǎn),更容易生成符合領(lǐng)域規(guī)范的代碼。從智能代碼生成的角度來看,由于過去包含大量的語料知識(shí),生成的代碼質(zhì)量更高,更符合領(lǐng)域規(guī)范。

IDE 即 AI 輔助研發(fā)中心

在前面,我們已經(jīng)看到了 AI 輔助研發(fā)中心的概念,即在一個(gè)組織中,AI 輔助研發(fā)中心可以為不同團(tuán)隊(duì)提供 AI 能力,以提升整體的研發(fā)效率。

還需要注意的是,AI 在快速生成大量代碼的同時(shí),也會(huì)帶來一些問題,如代碼質(zhì)量、安全性等。我們需要考慮如何在 AI 生成代碼的同時(shí),保證代碼的質(zhì)量。如圖 8 所示:

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

圖 8 從代碼生成到代碼質(zhì)量

我們需要考慮構(gòu)建類似于 SonarLint 的體系化質(zhì)量檢查 工具,以保證 AI 生成的代碼質(zhì)量。

AI 增強(qiáng)的低代碼平臺(tái)

諸如低代碼應(yīng)用程序平臺(tái) Appian 的分析,生成式 AI 與低代碼平臺(tái)結(jié)合,可以在多個(gè)方面實(shí)現(xiàn)增強(qiáng)的生產(chǎn)力和創(chuàng)新:

  • 文本生成與聊天機(jī)器人:結(jié)合生成式 AI 和低代碼平臺(tái),能夠快速部署聊天機(jī)器人,處理基本的客服請(qǐng)求或生成待人審閱的電子郵件草稿,從而簡化溝通流程。

  • 從 PDF 構(gòu)建界面:生成式 AI 能夠解析 PDF 設(shè)計(jì)并將其轉(zhuǎn)換為功能性界面或表單。結(jié)合低代碼平臺(tái),確保設(shè)計(jì)到代碼的準(zhǔn)確轉(zhuǎn)換,無需額外校對(duì)。

  • 工作流程自動(dòng)生成:通過生成式 AI 增強(qiáng)的低代碼平臺(tái),可以快速生成復(fù)雜的工作流程,包括視覺圖表和可執(zhí)行代碼。這對(duì)于例如賬單管理等任務(wù)至關(guān)重要,用戶反饋后能快速進(jìn)行迭代改進(jìn)。

  • 自助式分析:利用自然語言處理的 AI 驅(qū)動(dòng)平臺(tái),團(tuán)隊(duì)能夠快速從數(shù)據(jù)源生成報(bào)告和洞察。AI 與低代碼的結(jié)合,使得能夠靈活調(diào)整流程和操作,提升業(yè)務(wù)效率和決策能力。

除了上述的經(jīng)典場景之后,我們也可以看到多模態(tài) AI 代碼的生成,諸如 Google 的 ScreenAI。

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

圖 9 ScreenAI

它可以將圖像和文本結(jié)合起來,生成對(duì)應(yīng)的 DSL,進(jìn)而轉(zhuǎn)換成不同的代碼。

You only speak JSON. Do not write text that isn’t JSON.
You are given the following mobile screenshot, described in words. Can you generate 5 questions regarding the content of
the screenshot as well as the corresponding short answers to them?

The answer should be as short as possible, containing only the necessary information. Your answer should be structured
as follows:
questions: [
{{question: the question,
answer: the answer
}},
...
]

{THE SCREEN SCHEMA}

當(dāng)然了,為構(gòu)建這樣的語料,你還需要生成大量的頁面與低代碼數(shù)據(jù)。

從云 IDE 到智能云開發(fā)環(huán)境

在云 ?? 時(shí)代,大型組織構(gòu)建了大量的云 IDE 和云基礎(chǔ)設(shè)施,以嘗試賣出更多的云服務(wù)以及解決最后一公里的部署問題。盡管,受限于云 IDE 能力、網(wǎng)絡(luò)與計(jì)算能力,云 IDE 采用并不高,但是隨著 AI 的發(fā)展,我們可以看到更多的智能云開發(fā)環(huán)境的出現(xiàn)。

雖然..但是..,我們非??春弥T如 v0.dev 這一類針對(duì)于領(lǐng)域特定的開發(fā)工具。

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

圖 10 v0.dev

它可以:

  • 高效 UI 生成:通過輸入提示詞快速創(chuàng)建前端組件和頁面。

  • 一鍵定制化組件:少量的提示詞即可創(chuàng)建優(yōu)雅復(fù)雜的組件,一鍵導(dǎo)出并應(yīng)用于項(xiàng)目。

  • 快速原型設(shè)計(jì):提供即用生產(chǎn)代碼,適用于新舊項(xiàng)目,項(xiàng)目較大時(shí)需整理代碼結(jié)構(gòu)。

  • 圖生成代碼:通過圖形化界面生成代碼,適用于新手,不熟悉代碼的人員。

它可以快速幫助我們構(gòu)建出一個(gè)原型,然后再進(jìn)行。再結(jié)合其它 AI 工具,如代碼審查、代碼測試等,可以大大提高我們的開發(fā)效率。

還有諸如 Google Project IDX 這一類 AI 輔助型工作區(qū)。IDX 支持眾多框架、語言和服務(wù),還與 Google 產(chǎn)品集成,可簡化您的開發(fā)工作流程,讓您可以快速、輕松、高效地跨平臺(tái)構(gòu)建和發(fā)布應(yīng)用。

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

圖 11 IDX Demo

盡管 IDX 還非常早期,但是我們可以看到,未來的云 IDE 將會(huì)更加智能化,更加適應(yīng)我們的工作流程。

在國內(nèi),我們也可以看到 Babel Cloud、MarsCode 等一系列云 IDE 工具,也在不斷的發(fā)展中。

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

結(jié)語

AI 在軟件工程中的應(yīng)用已經(jīng)從輔助開發(fā)人員擴(kuò)展到整個(gè)開發(fā)生命周期,逐步演進(jìn)為團(tuán)隊(duì)和組織層面的協(xié)作工具,并在工具形態(tài)上實(shí)現(xiàn)了從本地 AI IDE 到領(lǐng)域特定智能代碼生成的轉(zhuǎn)變。這些變化不僅提高了開發(fā)效率和質(zhì)量,還推動(dòng)了整個(gè)軟件工程領(lǐng)域的發(fā)展。

  • 全面探索:AI 從輔助開發(fā)人員擴(kuò)展到覆蓋軟件開發(fā)的整個(gè)生命周期,從需求分析到運(yùn)維管理,每個(gè)階段都顯著提升了效率和質(zhì)量。

  • 演進(jìn)路徑:AI 工具從個(gè)體使用擴(kuò)展到團(tuán)隊(duì)和組織層面,以及組織層面的 AI 集成到內(nèi)部 IM 和 ChatBot 系統(tǒng)中,全面增強(qiáng)了協(xié)作和效率。

  • 形態(tài)變化:從本地 AI IDE 發(fā)展到領(lǐng)域特定的智能代碼生成工具。智能云開發(fā)環(huán)境如 Google 的 Project IDX 等工具,使得未來的開發(fā)流程更加智能化和高效。

這些變化不僅提高了開發(fā)效率和質(zhì)量,還推動(dòng)了整個(gè)軟件工程領(lǐng)域的發(fā)展。

作者簡介:

黃峰達(dá)(Phodal),Thoughtworks 中國區(qū)開源負(fù)責(zé)人、技術(shù)專家,CSDN 博客專家,是一個(gè)極客和創(chuàng)作者。著有《前端架構(gòu):從入門到微前端》《自己動(dòng)手設(shè)計(jì)物聯(lián)網(wǎng)》《全棧應(yīng)用開發(fā):精益實(shí)踐》等書。主要專注于 AI 工程效能,還有架構(gòu)設(shè)計(jì)、IDE 和編譯器相關(guān)的領(lǐng)域。

程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)程序員編程總時(shí)間不到 40%,AI 究竟怎么輔助軟件工程?- 新程序員(ai編程工具)

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
返回頂部