《2023年軟件研發應用大模型-國內現狀調查報告.pdf》由會員分享,可在線閱讀,更多相關《2023年軟件研發應用大模型-國內現狀調查報告.pdf(25頁珍藏版)》請在三個皮匠報告上搜索。
1、國內現狀調查報告目 錄01調查獲得的一些結論02參與調查的基本情況03國內使用大模型的概況04在軟件研發生命周期使用LLM05未來展望附錄特別鳴謝01020408141516大模型正在成為人工智能的新范式,也助推了AIGC應用的新一波浪潮,由此掀起了軟件研發領域的全新革命。大模型不僅可以提供強大的內容生成能力,還能夠處理復雜的任務,為軟件研發帶來了巨大的潛力和機遇,將軟件工程帶入3.0時代。然而,目前國內對于大模型在軟件研發中的應用現狀尚未有系統性的了解和總結。所以有必要開展這方面的調查,幫助行業的從業者或企業的管理者,更加準確地了解我國軟件研發領域對于大模型的需求和應用場景,為相關行業提供更
2、加精準的解決方案。為了推動我國軟件研發領域的發展,作為軟件研發行業的重要參與者AI+軟件研發數字峰會(AiDD)組委會,聯合軟件質量報道、測試窩、異步社區、思否、稀土掘金等多個社區、組織發起2023年軟件研發應用大模型國內現狀調查。通過這次調查,旨在全面了解我國軟件研發領域應用大模型的情況,探索大模型在軟件研發中的優勢和挑戰,為進一步推動大模型技術的應用與發展提供有力的支持和指導。2023年軟件研發應用大模型國內現狀調查于2023年10月中旬開啟,歷時一個月時間完成數據收集。下面就基于調查獲得的數據進行梳理和解析,匯編成本調查報告,希望不僅給每一位讀者帶來啟發和思考,還能給每一個軟件企業或團隊
3、帶來重大的參考價值,能夠指導他們完成下一年度AI戰略的重構、相關AI部署和行動的規劃。本調查報告于AiDD峰會深圳站(2023年11月24日)首發公布,其中難免有不妥之處,敬請指正!01 調查獲得的一些結論1.國內絕大多數(68%)軟件研發團隊是積極關注和擁抱大語言模型(LLM)的,開始使用或積極使用LLM,使用時間也超過2個月以上。積極投入較多人力和資金的企業也接近一半。2.軟件研發團隊最想借助LLM生成代碼,提升研發效率,其次用于答疑解惑。3.超過1/3的軟件研發團隊是采用成本最低的方式:直接使用第三方LLM API。4.超過一半調查者是使用GPT3.5、GPT4.0,其次是國外開源Lla
4、ma 2。國內LLM中,訊飛星火大模型、百度文心一言大模型、阿里通義大模型排在前面。5.有專業LLM團隊的企業還比較少,只有28.1%,但如果不限于LLM,擴展到AI人才,那情況就好多了,接近73%。雖然LLM人才短缺,但還是有較好的人才基礎。6.LLM應用主要有七大困難,體現在關鍵要素上,如缺少人才、缺少算力、缺少高質量的數據等,同時目前應用水平低、存在安全/隱私擔憂、數據數量不足、LLM部署能力不足等。7.LLM在需求這個環節主要應用的順序,非常巧合,正好形成了一個較完整的、敏捷開發范式的需求過程。8.LLM在設計環節發揮的作用是最弱的,更多時候是作為顧問、知識庫來使用,為設計提供知識服務
5、、提供建議。9.LLM在編程上的應用,“代碼補全”、“函數級代碼生成”分別排在第一、第二的位置(均超過55%)。其次,分別是代碼修復、代碼評審、遺留代碼解釋、代碼優化等。代碼采用率超過30%的比例達到了36%,效率提升超過20%的比重達到46%以上,LLM在編程環節獲得良好收益的可能性有望達到80%。概括起來,LLM在編程上的應用值得去投入。10.使用基于LLM的編程AI助手,ChatGPT占了1/3,遙遙領先,其次是GitHub Copilot、自研的工具;國內工具前3名依次是CodeGeeX、Comate、CodeArts Snap。11.LLM在測試應用上,生成測試用例遙遙領先(超過了代
6、碼補全),達到了62.9%。其次是生成測試腳本。測試效率提升明顯的(超過20%)比重達到了43.7%,比開發略低(開發師46%)。12.LLM在運維環節應用是最薄弱的,空白的比重占到42.3%,在運維日志分析上是最高的,也只有17.5%。13.展望未來,絕大多數人(超過90%)都是樂觀的,希望人人都有一個Al助手、極大地提升研發效率、顯著地提升軟件交付的質量、降低開發的成本等等。01本次調研,參加的企業超過100多家,主要來源于互聯網企業,占比超過40%,其次來源于大金融、信息與通信、教育和文化娛樂等行業,如圖1所示。從參與調查的企業規???,分布相對均勻,小型企業(300人以下)占的比重相對比
7、較高,占了42.2%;中型企業(介于300人和10000人之間)占比接近41%,大型企業占比17.5%,如圖2所示,基本符合實際現狀,說明數據具有良好的合理性。圖1 參加調查的企業所處的行業圖2 參加調查的企業規模02 參與調查的基本情況02軟件研發團隊主要用哪些編程語言,其結果基本在意料之中,Java、Python、C/C+、JavaScript遙遙領先,Go語言后來者直追而上。編程語言和大模型的訓練也有關系,如salesforce公司就專門訓練適合Python語言的代碼大模型CodeGen-mono。如果要做類似的事情,Java、C+、Python等語言會被優先考慮。圖3 調查者所使用編程
8、語言的情況03我們先看一下國內軟件研發團隊對大模型(LLM)的態度,絕大多數(68.7%)是擁抱LLM,關注、開始使用或積極使用LLM的,但也有1/4的團隊或公司處在觀望中,只是很少的團隊(6.3%)不了解LLM,如圖4所示。隨著時間的推移,我們相信6.3%也會消失,大家都會主動去了解LLM的,那些觀望者也會有所行動。態度決定一切,對待LLM態度是積極的,一般就會擁抱LLM,就會非常重視它,也樂意投入很大人力和資金,從而全面應用LLM。但有時心有余而力不足,缺少人才,公司效益不是很好,那就不可能會有很大的投入。我們從調研數據中看到,積極擁抱LLM并在LLM上投入很大人力和資金的企業數量還相對較
9、少,比重不高,只有16.7%。如圖5所示,重視并且投入較多人力開始研究和應用的企業不在少數,占了30.2%。這兩類型企業加起來有46.9%,接近一半。再加上38.5%“投入少量人力試用”的企業,有不同程度投入的企業占了85%,這是一個很不錯的數據。而不重視、非常不重視的企業只占少數,整體只有12.6%。從這個角度看,我們還是比較樂觀的,說明有些觀望的企業,也會投入少量的人力做些調查和試驗。圖4 調查者所使用編程語言的情況圖5 在LLM的投入情況03 國內使用大模型的概況04既然有超過三分之二的公司/團隊擁抱大模型,使用情況如何呢?不了解或大部分觀望者一般不會使用大模型,但少數觀望者也會出于好奇
10、嘗試使用LLM,這不算在工作中正式試用。超過20%的公司/團隊非常積極,在很早的時候就開始使用LLM,并且使用時長已經超過6個月,如圖6所示。使用LLM超過2個月的比重占66%,接近2/3,算是積極擁抱大模型的,和上面對LLM態度的調查結果保持一致。借助LLM發揮什么作用?可以看出軟件研發團隊最想借助LLM生成代碼,提升研發效率;其次用于答疑解惑;然后就是用于代碼檢查、代碼解釋、生成注釋行等以提升代碼的質量,如圖7所示。測試腳本和用例生成排在第4的位置,沒排在第2,稍微出乎我們的意料,但正好有一半的團隊會讓LLM在測試上發揮價值。提升文檔質量,LLM可以無處不在,相信未來,大家會有更多的使用。
11、日常工作中,有接近一半人開始使用LLM來幫助我們生成文檔、生成報告或潤色文檔等。而在需求、設計方向的LLM應用程度相對低一些,符合我們的預期。圖6 國內團隊使用LLM的時間圖7 國內團隊想借助LLM發揮哪些方面的價值05如何使用大模型的技術呢?從圖8可以看出超過1/3的軟件研發團隊是直接使用第三方LLM API,這種成本最低,適合中小企業。對于大型企業而言,可以訓練基礎大模型,但也不是每個大型企業都能做到這一點,所以這個數字(9.3%)低于直接調用第三方LLM API的比重(17.5%),但對大中型企業可以基于基礎大模型(foundation model)訓練(微調/精調 fine tunin
12、g)自己的領域大模型,這部分接近1/5(19.6%),還算比較高。更巧的是,領域大模型embedding特定的知識庫和私有化部署正好都是12.4%,是否意味著:一旦私有化部署LLM,那就必定會綁定自己的知識庫?今年是大模型爆發的一年,國內呈現“百模大戰”,那么大家主要使用哪種大模型呢?從圖9可以看出,超過一半的企業或者團隊使用的是GPT3.5、GPT4.0,在之前相當長一段時間,GPT3.5、GPT4.0是遙遙領先的,大家還是喜歡使用ChatGPT或調用OpenAI開放的API。其次,就是國外開源Llama 2。而國內LLM現狀,訊飛星火大模型、百度文心一言大模型、阿里通義大模型排在前面。人們
13、經常說大模型應用有三要素:數據、算法和算力,好的數據產生好的結果,但數據、算力是客觀條件,而算法相對靈活,有著很大的挖掘和提升空間。對于大模型,算法更多體現在參數上,算法的設計影響了模型的參數數量、參數初始化方法、損失函數的選擇、正則化方法等。這些因素直接影響了模型的訓練效果、泛化能力和推理速度。而算法的設計最終依賴這方面的團隊和人員。這次調查,在數據、算力等方面缺少一些問題,重點放在“人”之圖8 國內團隊使用LLM的方式圖9 國內團隊使用哪些LLM06上,畢竟人是決定性因素?;谡{查,有專業LLM團隊的企業還比較少,只占28.1%,但如果考慮有LLM人才(雖然沒有這方面團隊)的企業,幾者加起
14、來可以達到44.8%,情況還不錯,如圖10所示。如果不限于LLM,擴展到AI人才,那情況就好多了,接近73%,超過2/3。有了AI基礎,轉型到LLM,相對比較容易。具備這樣的良好基礎,未來LLM的深度應用會更加普遍。任何事情都不是一帆風順的,特別是對新興的LLM應用領域,遇到的問題還是比較多的。從調查結果看,LLM應用主要有七大困難(從高到低排列):1)缺少機器學習和大模型訓練人才2)缺少算力或云計算平臺3)缺少高質量的(業務/研發)訓練數據4)目前研發人員的應用水平不行5)安全、隱私擔憂6)(業務/研發)數據數量不足7)缺少大模型部署的能力圖11 LLM應用的困難因素圖10 LLM/AI團隊
15、現狀07上,畢竟人是決定性因素?;谡{查,有專業LLM團隊的企業還比較少,只占28.1%,但如果考慮有LLM人才(雖然沒有這方面團隊)的企業,幾者加起來可以達到44.8%,情況還不錯,如圖10所示。如果不限于LLM,擴展到AI人才,那情況就好多了,接近73%,超過2/3。有了AI基礎,轉型到LLM,相對比較容易。具備這樣的良好基礎,未來LLM的深度應用會更加普遍。了解了國內軟件研發團隊整體使用LLM的情況,下面接著分析在軟件研發和運維的各個環節(需求、設計、編程、測試、運維等)是如何使用LLM的以及LLM發揮的作用、產生的效益。我們自然關注人們的使用方式,以及是否產生效益,如果產生良好的效益,
16、那么就值得我們積極投入進去(假如之前還是旁觀者)、投入更多的資源(假如之前已經是LLM的應用者)。1.在需求上應用LLM雖然人們更為關注LLM在編程、測試方向的應用,但是今天我們可以和大模型進行自然語言的交互,可以逐步引導大模型理解我們的業務,幫助我們定義產品功能,甚至生成規范的需求文檔。大模型生成文檔的能力還是很強的,通過定義markdown等格式,可以生成文檔模板所規定格式等文檔,其次LLM對文檔的內容進行總結、優化(潤色)文檔,所有這些能力都可以被應用到需求整理、需求分析和需求定義上。根據調查(如圖12所示),LLM在需求這個環節主要應用的順序如下所示,很巧合,正好形成了一個較完整的、敏
17、捷開發范式的需求過程:1)基于原始需求生成用戶故事2)基于用戶故事生成驗收標準3)基于驗收標準實例化需求4)檢查/評審需求文檔5)潤色需求文檔04 在軟件研發生命周期使用LLM圖12 LLM在需求上應用的狀況082.在設計上應用LLM從目前看,LLM在設計環節發揮的作用是最弱的,更多時候是作為顧問、知識庫來使用,為設計提供知識服務、提供建議,如圖13所示。其實,在GPT-4 Vision(多模態)發布之后,LLM在設計上能發揮更多作用。因為LLM可以看懂設計圖了,可以幫助我們分析架構設計、UML設計圖、UI設計等,指出其中存在的問題。如果設計圖可以用一種特定的DSL語言(如XML、JSon等)
18、來表示,那么即使LLM畫不出精準的設計圖(如架構圖、時序圖等),也沒問題,直接生成DSL語言,再導入特定的工具展示出來。3.在編程上應用LLM在編程這個環節,正好是LLM用武之地,能夠發揮很好的作用,所以在這個環節也設置了多個題目來了解更多的LLM應用的信息。首先看LLM在編程上的應用,從調查結果看,“代碼補全”排在第一,略高于“函數級代碼生成”,兩者都超過了一半。其次,LLM在編程環節的應用,分別是代碼修復、代碼評審、遺留代碼解釋、代碼優化,其差距不大,在30%左右,如圖14所示。圖13 LLM在設計上應用的狀況圖14 LLM在編程上應用的狀況09那我們看看效果如何?首先看看代碼采用率,最好
19、狀態(超過50%的采用率)達到12.4%,是一個不錯的成績。根據百度最近發布的數據,代碼平均采用率是40%,比較好的情況可以達到60%,這個結果也是可信的。如果針對某個產品線的代碼數據進行fine-tuning,也許只有幾百萬行代碼的數據,但效果可能很好,采用率超過50%,完全可能。一般來說,超過30%的采用率,就算效果不錯,那么這個占比達到了36%左右,剛超過1/3。采用率低于30%的占比超過一半,目前處在一種非理想的狀態。還需要繼續完善代碼大模型,在fine-tuning上下功夫,獲得更高的采用率。理想情況是達到70-80%的采用率,屆時將是徹底解放大批碼農。衡量LLM在編程上的應用效果,
20、我們還可以看另一個指標,那就是效率的提升。從調查結果看,如圖16所示,提升一倍以上(超過100%)只有8.2%。按照GitHub copilot早期的統計數據,效率可以提升46%或更高。之后的GPT版本升級或做更多的精調,效率可以有更高的提升。而國內編程效率提升超過40%的團隊,只有23.6%,占比還比較低,提升不明顯的團隊也占到20.6%。效率提升在10%39%(假定平均提升20%)之間的占到44.3%。對大型企業,有幾萬員工,效率能提升20%,將是一筆非??捎^的收益,例如假定1萬研發人員,每人年人力成本(成本包含工資、三險一金、辦公場地費用等)50萬左右,一年可獲得10億的直接收益。如果算
21、上交付周期縮短、產品競爭力提升,收益則更為可觀。所以,即使效率沒有提升50%、100%,對LLM的投入還是值得去做的,良好的收益預期能達到80%的可能性。圖15 LLM生成代碼的采用率狀況圖16 LLM提升編程的效率104.在測試上應用LLM軟件測試環節也是LLM用武之地,僅次于編程環節。LLM在測試環節上的應用,生成測試用例遙遙領先,甚至超過了上面提到的代碼補全,達到了62.9%。其次是生成測試腳本,達到了41.2%,如圖19所示。其它應用相對比較少,而且占比也比較接近,更巧的是,最后三項(46)占比相同?;氐骄唧w使用哪些編程副駕駛(copilot)或編程AI助手,可以看到chatGPT占了
22、1/3,遙遙領先,如圖17所示;其次是GitHub Copilot、自研的工具,其他各種工具占的比重都很低,國內工具前3名是CodeGeeX、Comate、CodeArts Snap。LLM在編程上的應用,最后一個調查項是在哪些AI框架上進行LLM模型訓練,根據統計結果,(非常顯著地)排在前3位的是:PyTouch、Tensor Flow和自研的,如圖18所示。圖17 基于LLM的編程助手被使用的統計結果圖18 模型訓練框架被使用的統計結果111)生成測試數據2)評審/改進測試用例3)測試日志分析4)測試報告改進或生成5)異常數據分析6)評審/改進測試腳本那么LLM在測試上應用效果如何?提升顯
23、著的(假定超過40%)占比只有23.7%,目前還低于“提升不明顯”的占比(25.8%),如圖20所示。如果認為:超過20%就屬于“提升明顯的”,那么這個比重會上升近一倍,達到了43.7%。圖19 LLM在測試上應用現狀圖20 LLM提升測試效率的統計情況121)生成測試數據2)評審/改進測試用例3)測試日志分析4)測試報告改進或生成5)異常數據分析6)評審/改進測試腳本5.在運維上應用LLM根據調查結果,LLM在運維環節應用是最薄弱的。在運維方面使用尚且是空白的企業或團隊,占到42.3%,在運維日志分析上是最高的,也只有17.5%,如圖21所示。LLM幫助異常診斷、缺陷定位、生成數據統計圖等應
24、用很低,在10%左右。這部分的提升空間更大,需要我們有更多的探索、研究和實踐。圖21 LLM在運維上應用情況1314圖22 LLM應用的未來展望從革命性的自動化工具到創新的深度學習技術,AI 正在不斷改變著我們編程的方式,為開發者們打開了嶄新的大門。展望未來,絕大多數人都是樂觀的。持悲觀態度的占比很少(只有2.1%),目前看不清楚的也只占到5%,絕大多數(超過90%)的人都對LLM寄予厚望。如果按照順序,大家對未來的期望是:1)人人都有一個Al助手;2)極大地提升研發效率;3)顯著地提升軟件交付的質量;4)降低開發的成本;5)能夠顯著地縮短軟件開發的周期;6)替換部分人員、縮減團隊規模。當我們
25、回顧人類歷史上最偉大的發明和創新時,往往會發現一個不變的趨勢:科技的進步推動了社會的發展?,F如今,我們正站在了又一個科技革命的風口上人工智能(AI)。作為一項革命性技術,AI 正逐漸滲透到我們的日常生活中,其中 AI 對于編程和研發效能方面的推動作用,無疑是一個備受矚目的話題它不僅關乎技術的前沿,更關乎科技對我們工作方式和生活方式的改變。因此,本次“軟件研發應用大模型”調查報告的發布,將對行業發展起到里程碑式的意義。05 未來展望LLM能發揮良好作用的應用場景清單需求、設計、代碼生成、測試、運維等全鏈路的提升業務與需求需求分析和用戶體驗、需求評審、業務報表輸出、材料整理、數據診斷、數據多樣性分
26、析、報表分析、數據治理、數據洞察、SQL數據庫命令生成(BI,目前有成熟應用 NL2SQL)、市場調研、業務歸因、統一產品研發業務的領域語言;設計架構解讀、架構分析、技術方案設計、功能描述細化、UML圖的解析、架構內功能的初步效果驗證;編程代碼補全、代碼生成、遺留代碼解釋、代碼注釋、代碼教學、代碼重寫、優化代碼、缺陷自動修復、公司級別代碼庫、算法矯正、集成到代碼提交門禁中;測試單元測試用例生成、系統測試用例分析及自動生成(包括由詳細的需求生成測試用例)、自動化測試數據生成、提高驗收測試效率、問題定位、安全檢查、系統安全性智能評估、業務全生命周期質量監測與智能評估、異常檢測分析;運維自動日志分析
27、和總結、定期通知運維、運維報告自動生成、客戶聲音、智能客服版本發布(發布與需求的自動關聯)、在線監控、對系統狀態進行監控并給出推薦設置、產品運營或軟件運營分析;文檔及其它答疑或知識問答、啟發(如通過多次詢問,生成不同思路的回答,來增加視角,從中獲取啟發)、經驗條目轉化為知識、形成專家系統或個人知識庫、產品介紹客服、文檔優化、文檔規范化、軟件翻譯、項目安排、流程調度、風險評估、多個prompts基于context的串聯和整合。15附 錄16AiDD大會由K+峰會組委會和人工智能(AI)精英社區聯合發起,在高層次的技術委員會指導下,聚焦AI驅動軟件研發,秉承“全心全意服務行業和國家高質量發展,賦能
28、企業和個人成長”的宗旨,搭建一流的工業界、學術界的技術與實踐交流平臺,幫助國內企業借助AI技術,使計算機能夠更深入地認知現實世界,推動軟件研發全面進入數字化時代,軟件研發效能得到十倍、百倍的提升。官方網站:https:/www.AiDD.vip/本公眾號致力于健康、安全、綠色的軟件生態,分享軟件質量管理、軟件測試的思想、方法、技術與優秀實踐,追蹤軟件質量領域的熱點,及時報道軟件質量管理的成功案例或質量事故,以及分享深度思考、有溫度的技術文章等,努力成為您工作中的朋友。AI+軟件研發數字峰會(AiDD)軟件質量報道公眾號特別鳴謝!測試窩是以軟件測試為主題的社區門戶,作為開源非盈利的技術平臺。一直
29、堅持自由、開放、分享的理念。目前已成為最具影響力的軟件測試工程師交流平臺之一。異步社區()是由人民郵電出版社創辦的IT專業圖書社區。異步社區于2015年8月上線運營,依托于人民郵電出版社20余年的IT專業優質出版資源和編輯策劃團隊,致力于優質學習內容的出版和分享,為讀者提供優質學習內容,為作譯者提供優質出版服務,實現作者與讀者在線交流互動,實現傳統出版與數字出版的融合發展。測試窩異步社區17SegmentFault 思否是中國新一代技術問答社區。我們為中文開發者提供一個純粹、高質量的技術交流平臺以及前沿的技術行業動態。致力于凝聚集體智慧,推動技術進步。稀土掘金是一個技術類內容分享社區,基于互聯網技術的優質內容的發現、分享平臺,包括iOS、Android、前端、后端、設計等分類下的每日精選內容。主要面對互聯網公司的技術開發者、產品經理、運營等人群進行新技術的內容分發。移動端還有收藏、讀過等對用戶行為的記錄,讓用戶能夠更加方便的找到曾經閱讀或收藏過的文章。思 否稀土掘金1819關注官方公眾號了解大會詳情了解大會詳情觀看往期大咖對話試聽精選課程