0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AI如何助力、驅(qū)動軟件研發(fā)?

vliwulianw ? 來源:軟件質(zhì)量報道 ? 2023-08-01 15:32 ? 次閱讀

人工智能AI)正在顛覆一切,軟件工程也不能幸免。生成式人工智能(AIGC)在編碼、設(shè)計、測試和 DevOps 方面的最新展示確實令人印象深刻,甚至可以說令人敬畏。 AIGC是人工智能的一個分支,專注于創(chuàng)建和生成新的內(nèi)容,如圖像、文本、音頻甚至視頻,這些內(nèi)容很難與人類生成的內(nèi)容區(qū)分開來。近幾個月來,由于大型語言模型(LLM)的進步,以及 OpenAI、Stable Diffusion 和其他大廠的產(chǎn)品發(fā)布,AIGC備受關(guān)注。

雖然很難量化AIGC的準確傳播范圍,但可以肯定的是,研究人員、開發(fā)人員和軟件從業(yè)人員正在積極探索和利用AIGC的各種功能領(lǐng)域,如圖像和文本生成、音樂和聲音合成、視頻生成、虛擬人物和化身創(chuàng)建以及數(shù)據(jù)增強。 軟件工程是AI革命的一部分,而AIGC可以為軟件開發(fā)生命周期(SDLC)的各個階段帶來顯著的幫助

由于軟件有著天生的數(shù)字化特性,軟件工程尤其適合借助AIGC的力量

具體的工程任務(wù),如數(shù)值分析和數(shù)據(jù)工程、文檔編制、編碼和質(zhì)量控制,在某種程度上可能是重復(fù)性的;因此,非常適合由訓(xùn)練有素的AI模型提供幫助。其次,復(fù)雜的算法代碼結(jié)構(gòu)適合由AI助手生成。此外,軟件開發(fā)人員面臨的許多挑戰(zhàn)可能已經(jīng)解決。因此,對于訓(xùn)練有素的AI模型來說,代碼模塊已經(jīng)可用,生成整個函數(shù)或類也就變得可行了。

AIGC是增強人類能力和加速軟件開發(fā)的有力工具。

對于業(yè)務(wù)依賴于創(chuàng)建、維護或銷售軟件的公司來說,使用正確的AIGC工具可以提高開發(fā)人員的效率、創(chuàng)造超越競爭對手的機會。企業(yè)可以通過多種方式利用AIGC工具,包括開發(fā)人員的優(yōu)化和和培訓(xùn)的工作,以及為關(guān)鍵工程任務(wù)啟用AIGC工具。 本文將對AI驅(qū)動/輔助軟件工程生態(tài)系統(tǒng)、可用的最新工具、可幫助完成的工程任務(wù)以及應(yīng)避免的注意事項進行高屋建瓴的闡述。

1. 當前的 SDLC(軟件開發(fā)生命周期)

要了解AIGC對軟件工程的幫助有多大,快速了解一下目前公認的敏捷軟件開發(fā)生命周期(SDLC)可能會有所幫助。 經(jīng)典的敏捷軟件開發(fā)生命周期(SDLC)以較小的、可操作的、迭代的和增量的周期啟動并進行演化,直到代碼完全開發(fā)、測試并部署到生產(chǎn)環(huán)境中。同樣,分析、設(shè)計、編碼和測試也被分成較小的塊來執(zhí)行,而 DevOps 則在整個過程中持續(xù)進行。

在敏捷分析階段一般會包括用戶故事和史詩(Epic)的編寫,而設(shè)計階段則會引入架構(gòu)圖的創(chuàng)建和數(shù)據(jù)結(jié)構(gòu)的設(shè)計。編碼和測試階段通常包括用不同的語言編寫軟件和制作測試線束,以確保它們按照特定要求運行。測試和QA還可能包括獨立測試,以確保一切按預(yù)期運行。同樣,DevOps 也采用不同的方法,如環(huán)境配置、基礎(chǔ)設(shè)施即代碼和 CI/CD 流水線。

5767cfd0-3026-11ee-9e74-dac502259ad0.png

圖1 當前的敏捷 SDLC

2. AI驅(qū)動的 SDLC

AI可以協(xié)助 SDLC 的每個階段,縮短整個SDLC的反饋環(huán)路,使公司能夠更快地推出產(chǎn)品。結(jié)果如何?企業(yè)通過在 SDLC 中使用人工智能驅(qū)動的工具來提高競爭優(yōu)勢。

OpenAI 開發(fā)的 ChatGPT 等工具可以幫助進行市場調(diào)研和趨勢分析。AI可以分析客戶偏好,并通過簡單的文本提示幫助編寫用戶故事。從技術(shù)角度來看,它們還可以在產(chǎn)品發(fā)布前自動執(zhí)行 CI/CD 流程、環(huán)境腳本、安全測試和性能測試。

GPT-4 還能幫助開發(fā)人員生成功能代碼、測試線束和自動化。此外,還可以創(chuàng)建數(shù)據(jù)模型、DDL 和序列圖。

5779931e-3026-11ee-9e74-dac502259ad0.png

圖1 AI的敏捷 SDLC

GitHub Copilot 、AWS CodeWhisperer 、華為CodeArts Snap等AI工具可在集成開發(fā)環(huán)境中自動完成大型代碼塊并檢查代碼質(zhì)量問題,從而提高開發(fā)人員的工作效率。GitHub 和微軟最近進行的一項研究表明,當開發(fā)人員使用 Copilot 提供代碼幫助時,開發(fā)人員的效率提升超過 55%。從歷史的角度來看,這是生產(chǎn)率的顯著提高,超過了 19 世紀中期蒸汽機的引入,當時蒸汽機 "僅 "將大型工廠的生產(chǎn)率提高了 15%。

人工智能在整個 SDLC 中的累積效應(yīng)可使綜合效率提高 30-50%。

3. 在軟件工程中應(yīng)用AI

現(xiàn)在眾所周知,AI具有為技術(shù)組織增值的巨大潛力。但是,AI能直接幫助哪些關(guān)鍵的軟件工程活動呢?下面列出的只是AI能為創(chuàng)建軟件的團隊做些什么。

1)代碼生成

GitHub Copilot 、CodeWhisperer 、CodeArtsSnap等AI工具可以根據(jù)簡單的文本提示生成整個代碼功能。

讓我們來看看下面這個例子:在 Visual Studio Code 中,安裝 AWS CodeWhisperer 擴展后,當用戶鍵入下面的提示時,就會得到一個能解決問題的完整函數(shù):

57bc5db6-3026-11ee-9e74-dac502259ad0.png

(在 JavaScript 中生成 CSV 字符串解析函數(shù)的文本提示)

生成的結(jié)果是一個完全可用的函數(shù):

57e18316-3026-11ee-9e74-dac502259ad0.png

當我們嘗試上述提示的變體,增加額外的復(fù)雜度時,我們很可能會發(fā)現(xiàn)當前AI工具的一個缺陷。

讓我們試試下面的提示:

58291a8c-3026-11ee-9e74-dac502259ad0.png

(提示:用于生成美國郵政編碼的解析函數(shù),同時將郵政編碼轉(zhuǎn)換為經(jīng)度和緯度)

結(jié)果生成如下所示的函數(shù):

583fecd0-3026-11ee-9e74-dac502259ad0.png

(生成的代碼確實會根據(jù)提示接收字符串并解析 CSV,但不會進一步將郵政編碼地理編碼為經(jīng)緯度值。) 雖然這項更為復(fù)雜的任務(wù)需要進一步引導(dǎo)它去查詢,例如訪問 REST API(如美國人口普查局 Geocoder REST APIs8 提供的 REST API),但還是需要謹慎和警惕,因為該工具甚至沒有嘗試徹底解決問題。相反,它只是提供了一個模板代碼,沒有達到預(yù)期效果。

這個例子凸顯了當前AI工具的局限性之一:不能盲目相信生成的代碼,開發(fā)人員仍處于主導(dǎo)地位。“檢查代碼的準確性、完整性和錯誤” 對于AI驅(qū)動的開發(fā)人員工作流程至關(guān)重要。隨著工具日臻完善并向每位開發(fā)人員學(xué)習(xí),生成代碼的準確性和復(fù)雜性也會隨之提高。盡管如此,如今開發(fā)人員仍然牢牢掌握著控制權(quán)。

2)代碼解釋 作為開發(fā)人員,我們有時會加入一個項目或繼承復(fù)雜的應(yīng)用程序代碼。我們可能需要花上好幾天的時間才能理解項目的結(jié)構(gòu)和代碼的工作原理,尤其是在文檔很少的情況下。在這種情況下,ChatGPT 可以幫助我們解釋代碼。 例如,讓我們看看下面的 Angular 函數(shù):

585a42d8-3026-11ee-9e74-dac502259ad0.png

我們可以給出提示 "解釋下面的 Angular 代碼是做什么的"。 下面 ChatGPT 的回復(fù)相當全面準確地解釋了函數(shù)的作用:

58b65230-3026-11ee-9e74-dac502259ad0.png

正如該示例所示,ChatGPT 可以減少閱讀、理解和解釋現(xiàn)有應(yīng)用程序代碼所需的時間,并進一步幫助開發(fā)人員加快入職或在新代碼庫中提高工作效率。

3)AI驅(qū)動的軟件工程的其他任務(wù)

除了編寫和解釋代碼,AI每天都在掌握新的技能。下面列出的只是AI輔助軟件開發(fā)能力不斷增長的少數(shù)例子:

編寫用戶故事

生成數(shù)據(jù)模型

生成 DDL 和 DML

用人魚腳本生成數(shù)據(jù)圖表

生成序列圖

生成系統(tǒng)圖

用任何語言生成 OO 類模型

生成代碼

將代碼從一種語言翻譯成另一種語言

編寫自動測試

編寫代碼文檔

為基于 REST 的應(yīng)用程序接口編寫 Swagger 定義

改進(重構(gòu))現(xiàn)有代碼

編寫代碼注釋

生成線框(GalileoAI)

調(diào)試代碼 + 靜態(tài)分析(Deepcode)

自動代碼重構(gòu)(Sourcery)

設(shè)計模式識別

代碼審查(DeepScan

更完整的清單超出了本文的范圍,將在后續(xù)文章中介紹。不過,在開始一項復(fù)雜的任務(wù)之前,最好先在網(wǎng)上查看一下AI功能??赡芤呀?jīng)有AI工具或插件可以解決問題。未來還將帶來更多工具,并擴展現(xiàn)有工具的功能。

在AI的幫助下,開發(fā)人員、架構(gòu)師和參與 SDLC 的每個人都將變成能夠更快地編寫出更好代碼的超人。

4. 結(jié)論

AIGC的出現(xiàn)為技術(shù)組織提供了提高效率的工具和技術(shù)。團隊可以創(chuàng)建更好的軟件產(chǎn)品,縮短開發(fā)生命周期,并對新原型進行市場測試,從而接觸到更多客戶,提高團隊效率。

企業(yè)可以通過擁抱變化并將AI定位為技術(shù)轉(zhuǎn)型的核心(AI+X),從AI革命中獲益;我們需要將AI的力量視為一種推動力,而不是一種威脅;我們的員工必須根據(jù)新出現(xiàn)的新一代AI工具接受再培訓(xùn),以了解其真正的潛力。此外,企業(yè)還可以將AI的應(yīng)用范圍從軟件工程擴展到產(chǎn)品管理、質(zhì)量保證、網(wǎng)絡(luò)安全和 DevOps。 總之,本文表明,雖然AIGC仍處于起步階段,但每天都會出現(xiàn)新的、功能更強的工具,這為專注于不斷學(xué)習(xí)、適應(yīng)和發(fā)展的企業(yè)提供了可持續(xù)的長期競爭優(yōu)勢。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    46698

    瀏覽量

    237196
  • AWS
    AWS
    +關(guān)注

    關(guān)注

    0

    文章

    427

    瀏覽量

    24293
  • javascript語言
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    946
  • OpenAI
    +關(guān)注

    關(guān)注

    9

    文章

    1034

    瀏覽量

    6379
  • LLM
    LLM
    +關(guān)注

    關(guān)注

    0

    文章

    264

    瀏覽量

    299

原文標題:AI如何助力、驅(qū)動軟件研發(fā)?

文章出處:【微信號:軟件質(zhì)量報道,微信公眾號:軟件質(zhì)量報道】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Google AI技術(shù)助力中國品牌出海增長

    人工智能的技術(shù)創(chuàng)新與突破正在給各行各業(yè)帶來全新的變革與機遇。在數(shù)字營銷領(lǐng)域,AI 也為整個營銷流程開啟了全新的可能。從全新的沉浸式廣告體驗到效果出色的廣告素材,Google AI 正在助力廣告創(chuàng)意
    的頭像 發(fā)表于 10-16 11:08 ?352次閱讀

    AI for Science:人工智能驅(qū)動科學(xué)創(chuàng)新》第4章-AI與生命科學(xué)讀后感

    很幸運社區(qū)給我一個閱讀此書的機會,感謝平臺。 《AI for Science:人工智能驅(qū)動科學(xué)創(chuàng)新》第4章關(guān)于AI與生命科學(xué)的部分,為我們揭示了人工智能技術(shù)在生命科學(xué)領(lǐng)域中的廣泛應(yīng)用和深遠影響。在
    發(fā)表于 10-14 09:21

    AI for Science:人工智能驅(qū)動科學(xué)創(chuàng)新》第二章AI for Science的技術(shù)支撐學(xué)習(xí)心得

    非常高興本周末收到一本新書,也非常感謝平臺提供閱讀機會。 這是一本挺好的書,包裝精美,內(nèi)容詳實,干活滿滿。 關(guān)于《AI for Science:人工智能驅(qū)動科學(xué)創(chuàng)新》第二章“AI
    發(fā)表于 10-14 09:16

    人工智能ai4s試讀申請

    目前人工智能在繪畫對話等大模型領(lǐng)域應(yīng)用廣闊,ai4s也是方興未艾。但是如何有效利用ai4s工具助力科研是個需要研究的課題,本書對ai4s基本原理和原則,方法進行描訴,有利于總結(jié)經(jīng)驗,擬
    發(fā)表于 09-09 15:36

    2024 全球軟件研發(fā)技術(shù)大會-劉興東分享京東的AIGC革新之旅

    大模型和開源的發(fā)展將帶來全球軟件研發(fā)技術(shù)的新變革,AI使代碼自動化應(yīng)用達到新水平,開源工具的云化和應(yīng)用的AI化將促中國軟件迎來新一輪的爆發(fā)。
    的頭像 發(fā)表于 07-10 10:30 ?313次閱讀
    2024 全球<b class='flag-5'>軟件</b><b class='flag-5'>研發(fā)</b>技術(shù)大會-劉興東分享京東的AIGC革新之旅

    “大模型驅(qū)動軟件研發(fā)”助推企業(yè)研發(fā)智能化升級

    AI 大模型推動軟件工具鏈發(fā)展,加速軟件研發(fā),成為當前的研究熱點。 為進一步推進產(chǎn)學(xué)研用深度融合,聚焦軟件工具鏈的
    的頭像 發(fā)表于 05-09 22:59 ?368次閱讀
    “大模型<b class='flag-5'>驅(qū)動</b>的<b class='flag-5'>軟件</b><b class='flag-5'>研發(fā)</b>”助推企業(yè)<b class='flag-5'>研發(fā)</b>智能化升級

    英偉達斥資7億美元收購以色列AI軟件公司Run:ai

    NVIDIA已宣布收購以色列初創(chuàng)AI公司Run:ai,后者專注研發(fā)AI計算資源管理軟件。據(jù)公司聲明,自2020年起,雙方已有緊密合作;雖然未
    的頭像 發(fā)表于 04-25 09:55 ?530次閱讀

    越南FPT與英偉達達成AI全面戰(zhàn)略合作,投資2億美元興建AI工廠

    根據(jù)聲明,F(xiàn)PT將借助英偉達技術(shù)推動AI研發(fā),并為越南及全球客戶提供相關(guān)服務(wù);而英偉達則助力FPT深度挖掘AI在汽車以及數(shù)字化轉(zhuǎn)型領(lǐng)域的價值。
    的頭像 發(fā)表于 04-23 16:39 ?557次閱讀

    AI快訊:華為助力金融行業(yè)加速擁抱AI 馬斯克xAI 展示首個多模態(tài)模型

    AI快訊:華為助力金融行業(yè)加速擁抱AI 馬斯克xAI 展示首個多模態(tài)模型 小編給大家匯總一下近期的AI資訊。 華為助力金融行業(yè)加速擁抱
    發(fā)表于 04-15 12:32 ?386次閱讀

    英特爾宣布AI PC加速計劃新增兩項AI舉措

    首先,“AI PC 開發(fā)者計劃”面向軟件研發(fā)人員和獨立軟件開發(fā)商,為他們提供便捷的開發(fā)環(huán)境,助力加速大規(guī)模運用新型
    的頭像 發(fā)表于 03-27 16:03 ?333次閱讀

    NVIDIA AI助力百余家公司加速藥物研發(fā)創(chuàng)新

    在藥物研發(fā)領(lǐng)域,NVIDIA的AI技術(shù)正發(fā)揮著日益重要的作用。Cadence、Iambic Therapeutics等超過100家公司已采用NVIDIA的AI解決方案,推動計算機輔助藥物研發(fā)
    的頭像 發(fā)表于 03-27 10:31 ?380次閱讀

    NVIDIA生成式AI微服務(wù)助力企業(yè)在幾秒內(nèi)檢測并解決軟件安全問題

    得益于生成式 AI,軟件正在編寫軟件
    的頭像 發(fā)表于 03-21 09:41 ?325次閱讀

    國產(chǎn)化自動測試軟件ATECLOUD提供于研發(fā)、生產(chǎn)測試方案

    國產(chǎn)軟件的發(fā)展對于減少對外依賴、維護國家信息安全、促進經(jīng)濟社會發(fā)展具有重要作用。ATECLOUD的研發(fā)和應(yīng)用,能夠在確保測試準確性和高效性的同時,保障技術(shù)數(shù)據(jù)的安全性和可控性,助力國產(chǎn)化測試
    的頭像 發(fā)表于 03-13 14:09 ?614次閱讀
    國產(chǎn)化自動測試<b class='flag-5'>軟件</b>ATECLOUD提供于<b class='flag-5'>研發(fā)</b>、生產(chǎn)測試方案

    螞蟻集團AI研發(fā)部門開源AI Infra技術(shù),助力大模型訓(xùn)練效率提升

    螞蟻集團AI創(chuàng)新研發(fā)部門NextEvo近日宣布,他們將全面開源AI Infra技術(shù),以推動AI研發(fā)效率的提升。該技術(shù)框架名為DLRover,
    的頭像 發(fā)表于 02-04 10:01 ?978次閱讀

    市場活動 | 中國軟件技術(shù)大會,潤和軟件AI創(chuàng)新成果助力金融產(chǎn)業(yè)搭上“數(shù)智快車”

    12月15-16日,由中國科學(xué)院軟件研究所、中科軟科技股份有限公司聯(lián)合主辦的“2023中國軟件技術(shù)大會”在北京圓滿舉行。本次大會以“大模型驅(qū)動下的軟件變革”為主題,業(yè)界專家、企業(yè)高管、
    的頭像 發(fā)表于 12-19 15:55 ?550次閱讀