演講嘉賓 | 彭 鑫
回顧整理 | 廖 濤
排版校對 | 李萍萍
嘉賓簡介
彭鑫,復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院副院長、軟件學(xué)院副院長、教授、博士生導(dǎo)師,中國計算機學(xué)會軟件工程專委會副主任,主要研究方向包括軟件智能化開發(fā)與運維、泛在計算軟件系統(tǒng)、智能網(wǎng)聯(lián)汽車等。獲得2016年NASAC青年軟件創(chuàng)新獎,多次獲得IEEE Transactions on Software Engineering年度最佳論文獎、ACM SIGSOFT杰出論文獎、IEEE TCSE杰出論文獎等論文獎項。
內(nèi)容來源
第一屆開放原子開源基金會OpenHarmony技術(shù)峰會——開發(fā)者工具分論壇
視頻回顧
打開 嗶哩嗶哩APP 搜索 OpenHarmony-TSC 視頻更清晰
正 文 內(nèi) 容
軟件開發(fā)是一個知識密集型活動,涉及API、算法、業(yè)務(wù)知識、樣例代碼以及可復(fù)用庫等開發(fā)資源。然而,這些軟件開發(fā)知識和資源缺乏統(tǒng)一的規(guī)范化描述,難以被方便地獲取和復(fù)用。ChatGPT問世之前,學(xué)術(shù)界與工業(yè)界在智能輔助開發(fā)領(lǐng)域有哪些研究成果?ChatGPT爆火以后,我們又有哪些認識和思考呢?復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院副院長、軟件學(xué)院副院長,中國計算機學(xué)會軟件工程專委會副主任彭鑫在第一屆OpenHarmony技術(shù)峰會上分享了精彩觀點。
智能輔助開發(fā)的一個典型場景是基于深度學(xué)習(xí)的代碼智能化推薦。以代碼大數(shù)據(jù)作為輸入,通過深度大模型訓(xùn)練,再基于訓(xùn)練結(jié)果進行微調(diào)或提示,最終在端側(cè)實現(xiàn)代碼搜索、代碼推薦、代碼生成、注釋生成、缺陷預(yù)測和修復(fù)等能力。在ChatGPT火出圈之前,主要的代碼智能化推薦產(chǎn)品有Copilot和AlphaCode。其中,Copilot已經(jīng)實現(xiàn)了整函數(shù)和整方法的代碼推薦,AlphaCode在編程競賽中能夠達到人類能力的普遍水平。盡管ChatGPT的強大推薦和人機交互能力讓我們對AI和大數(shù)據(jù)深度學(xué)習(xí)產(chǎn)生了很多聯(lián)想,但目前大數(shù)據(jù)深度學(xué)習(xí)的思路仍存在一定的局限性。
Copilot
目前,大數(shù)據(jù)深度學(xué)習(xí)的主要思路是追求更多的數(shù)據(jù)、更大的模型、更強的算力、更好的代碼表示方法、更多元的學(xué)習(xí)范式,以此獲得更好的學(xué)習(xí)效果。而針對軟件開發(fā)的本質(zhì)性困難(如:需求與設(shè)計的開放性和創(chuàng)造性問題、領(lǐng)域的多樣性和差異性問題等本質(zhì)困難),以及開發(fā)人員的理解和決策問題(如:開發(fā)人員如何針對推薦內(nèi)容進行選擇、判斷、理解和消化,如何開展長期維護)等方面,大數(shù)據(jù)深度學(xué)習(xí)可能并不是萬能的。大數(shù)據(jù)深度學(xué)習(xí)思路探討的根本問題,源于不同路線的選擇:(1)AI領(lǐng)域的端到端思路:根據(jù)輸入(功能描述)直接產(chǎn)生推薦結(jié)果(代碼片段或線性的代碼補全);(2)軟件工程領(lǐng)域的人機協(xié)作思路:適應(yīng)程序員的思考過程,從需求澄清到解決方案逐步精化,以交互的方式融入人的需求理解和經(jīng)驗判斷。
軟件開發(fā)最大的浪費是知識的浪費、重復(fù)思考的浪費。在實際的軟件開發(fā)過程中,我們經(jīng)常遇到如下場景:重復(fù)編寫的代碼、反復(fù)揣摩的設(shè)計意圖、重復(fù)犯過的錯誤;它們(代碼)曾經(jīng)在腦海中浮現(xiàn)過、在交談討論和聊天記錄中出現(xiàn)過,甚至曾經(jīng)被記錄過,但是無法在需要的時候出現(xiàn);文檔基本不可靠,要么過時要么從來沒有存在過等。從長期來看,如何深層次、系統(tǒng)性地解決智能化軟件開發(fā)問題呢?建立共建、共享,與代碼持續(xù)協(xié)同演化的軟件開發(fā)知識平臺,能夠大幅提升軟件開發(fā)效率,保障代碼質(zhì)量,促進軟件開發(fā)項目成員間的相互協(xié)作。例如,工業(yè)界“活文檔”的實踐上,實現(xiàn)了文檔知識和項目始終保持同步、文檔內(nèi)容簡短可理解以及文檔知識集體所有等功能;在學(xué)術(shù)界,也提出了按需生成文檔的思考,即基于各種結(jié)構(gòu)化和非結(jié)構(gòu)化軟件制品,通過知識抽取按需生成高質(zhì)量文檔。
軟件開發(fā)知識共享平臺實踐與思考
在ChatGPT問世之前,彭鑫教授所在團隊基于知識思路的智能軟件開發(fā)已經(jīng)有相關(guān)嘗試和產(chǎn)品:
(1)API/軟件知識圖譜構(gòu)建:通過API文檔中的API功能、特性、使用指南與約束等,并輸入軟件代碼庫的API樣例、軟件開發(fā)問答網(wǎng)站的API討論等資源,結(jié)合通用知識圖譜的概念關(guān)系進行語義標(biāo)注,形成API知識圖譜或軟件開發(fā)知識圖譜,開發(fā)端側(cè)軟件開發(fā)問答機器人等,以此輔助軟件開發(fā),提高開發(fā)效率;
API知識以及API知識圖譜
(2)基于知識圖譜的代碼概念鏈接:通過將代碼段中的關(guān)鍵內(nèi)容建立概念鏈接,使開發(fā)者在軟件開發(fā)過程中,能夠便捷地了解到相關(guān)代碼的背景知識;此外,基于概念鏈接,對搜索出的代碼列表提供多方面解釋,如概念解釋、概念關(guān)聯(lián)路徑以及補充建議等,還能夠幫助開發(fā)者理解和篩選所需的代碼片段;
代碼概念鏈接
(3)基于事理圖譜的代碼異常修復(fù):通常代碼異??赡苡啥喾N原因造成,基于開發(fā)者在開源社區(qū)上求助的代碼異常案例,抽取其求助目的、環(huán)境、代碼片段、異常癥狀以及報錯棧等內(nèi)容,基于預(yù)訓(xùn)練語言模型進行提示學(xué)習(xí),構(gòu)建事理圖譜,進而實現(xiàn)通過交互式問答獲取異常報錯相關(guān)信息,給出推薦的異常解決方案。
事理知識圖譜
在智能軟件開發(fā)領(lǐng)域,ChatGPT具備代碼解釋、代碼生成以及代碼修復(fù)等能力,以人機對話的形式實現(xiàn)了多種智能化開發(fā)輔助功能,效果已經(jīng)超過了現(xiàn)有手段。ChatGPT的強大能力背后,是否存在一些問題和可能的改進方向呢?彭鑫教授認為有以下幾點:
通過提供相關(guān)真實項目代碼、技術(shù)文檔、人類問答等論據(jù),增強推薦內(nèi)容的可信性
結(jié)合一些專用模型或“小數(shù)據(jù)”方法改進,提高長尾及冷啟動問題回答的準(zhǔn)確性
將大模型與搜索引擎、知識圖譜等傳統(tǒng)信息和知識獲取方法相結(jié)合,緩解知識更新問題
在大模型的基礎(chǔ)上有機融入特定領(lǐng)域的軟件知識和代碼,從而支持特定領(lǐng)域軟件開發(fā)問題
在大模型的基礎(chǔ)上實現(xiàn)智能化的開發(fā)工具集成和反饋融合,讓工具具有面向軟件開發(fā)任務(wù)現(xiàn)場的“具身智能”
其中,特點領(lǐng)域/項目軟件開發(fā)知識平臺的開發(fā)是目前學(xué)術(shù)界和工業(yè)界的研究熱點。如何協(xié)同機器智能、代碼知識和專家知識呢?需要基于專家知識和代碼規(guī)范管理,建立與代碼雙向追蹤并同步演進的代碼知識平臺,探索以代碼為核心、適應(yīng)軟件開發(fā)特點的知識眾包模式。通過覆蓋實現(xiàn)、設(shè)計、需求等不同層面的代碼知識平臺實現(xiàn)系統(tǒng)性開發(fā)知識復(fù)用。此外,在軟件研發(fā)階段,通過建立基于DevOps流水線的軟件研發(fā)知識圖譜,能夠?qū)崿F(xiàn)特性、缺陷、測試用例等開發(fā)制品與代碼及其變更過程的全程追溯和基于知識的描述。
特定領(lǐng)域 / 項目軟件開發(fā)知識平臺
得益于軟件代碼及開發(fā)數(shù)據(jù)的大量積累和人工智能技術(shù)的發(fā)展,以及近期大模型和預(yù)訓(xùn)練模型方面取得的進展,使智能化軟件工程研究與實踐成為熱點。但同時,智能化軟件工程實踐落地需要充分考慮軟件工程實踐以及特定領(lǐng)域的特點。未來,大模型將成為智能化軟件開發(fā)的重要基礎(chǔ)設(shè)施,改變現(xiàn)有的知識獲取、抽取和利用方式;智能化輔助開發(fā)的主要問題變?yōu)槿绾卧陂_發(fā)任務(wù)現(xiàn)場與大模型之間建立高效的雙向交互管道;下一代IDE將成為融合軟件開發(fā)項目和任務(wù)上下文及開發(fā)工具的智能化軟件開發(fā)統(tǒng)一門戶。期待與大家一起關(guān)注人工智能和軟件工程領(lǐng)域相關(guān)進展,共同貢獻國產(chǎn)化力量。
E N D
點擊下方閱讀原文獲取演講PPT。
關(guān)注我們,獲取更多精彩。
審核編輯 黃宇
-
OpenHarmony
+關(guān)注
關(guān)注
25文章
3635瀏覽量
16061
發(fā)布評論請先 登錄
相關(guān)推薦
評論