32%代碼由AI生成!工行智能研發輔助系統大揭秘
發布時間:2024-09-13 17:12:14來源:
13041198719
隨著人工智能技術的飛速發展,大模型已經成為推動軟件行業生產力解放、提升研發質效的重要力量。在大模型技術的加持下,頭部廠商如微軟 GitHub Copilot 等,已在代碼生成、代碼解釋、單元測試生成等方向陸續涌現出一系列成熟應用。中國工商銀行軟件開發中心(簡稱工行軟開中心)積極擁抱這一變革,致力于建設以大模型為核心的智能研發體系,覆蓋軟件研發全流程,提高研發質效,加快產品迭代。
![32%代碼由AI生成!工行智能研發輔助系統大揭秘](http://www.1jiwang.com/uploads/image/2024/0913/1G30164310.png)
工行軟開發中心通過探索性研究的方式構建各階段的輔助能力,將大模型應用于需求設計、代碼編寫、代碼復核、測試輔助、交付發布的研發全流程,智能研發體系建設規劃如下:
![32%代碼由AI生成!工行智能研發輔助系統大揭秘](http://www.1jiwang.com/uploads/image/2024/0913/1G30121441.png)
1、 需求設計,應用大型語言模型的自然語言理解能力,打造研發設計助手,輔助生成需求用例和程序設計文檔。需求編寫階段,基于用例中的業務流程業務規則關鍵詞,通過檢索相似歷史需求,結合當前需求背景,自動拼裝提示詞,實現需求業務規則的續寫;程序設計階段,通過向大模型傳遞需求背景和設計模塊示例,聯動檢索相似歷史設計,自動拼裝提示詞,實現詳細設計內容的續寫功能。
2、代碼補全,基于大型語言模型代碼推理生成能力,打造智能編碼助手,支持包括Java、Python、JavaScript等多種編程語言。該助手能夠深入理解代碼的語義和結構,并根據不同語言和項目需求提供精確的自動補全建議。通過IDE插件,智能上下文分析能力能夠根據當前代碼環境提供更精確的補全選項,從而顯著提高編碼效率和準確性,幫助開發者減少編碼錯誤并提升代碼質量。
3、代碼檢查,基于大型語言模型代碼推理能力,打造智能代碼檢查助手。通過大模型和Sonar規則對代碼進行檢查,識別問題類別和嚴重程度,并通過大模型針對代碼問題給出代碼修復方案。編碼階段,利用IDE插件實現代碼問題檢測、漏洞檢測、安全規范檢測等能力,并直接給出修復說明;代碼復核階段,通過將大模型代碼檢查能力集成到代碼復核平臺,智能提示代碼問題及對應問題修復方案,幫忙復核人員發現難以發現的代碼問題,提升代碼復核效率;流水線掃描階段,利用規則對代碼進行全量掃描,再用大模型對結果進行檢查解讀,形成完整的代碼檢查結果和明確的修復方式。
4、單測生成,基于大型語言模型的代碼推理生成能力,打造單元測試助手。通過IDE插件獲取目標代碼的工程上下文信息,涵蓋如模擬(Mock)框架、被測代碼類所依賴的類。在此基礎上,利用提示詞優化大模型交互,發揮大模型代碼理解能力。在分析被測方法的代碼結構時,涉及代碼邏輯、邊界條件、異常處理等方面,從而生成單元測試用例數據。依據項目工程的框架依賴信息,生成依賴類的模擬行為用例,最終構建完整的單元測試方法用例。
5、測試輔助,基于大型語言模型的自然語言理解和代碼生成能力,打造智能測試助手。在測試案例領域,通過向大型語言模型傳遞設計文檔中涉及的處理邏輯和技術要點等信息,結合歷史測試信息庫中的實際用例,使得大型語言模型能夠生成測試用例數據。此外,依托測試用例數據及測試框架,大型語言模型能夠自動生成可執行的測試腳本。在測試資產管理方面,利用大型語言模型的理解、提煉與優化能力,對測試資產內容進行自動評估、治理與優化,從而提高整體測試資產的質量水平。
6、智能問答,應用大模型強大的知識檢索和整合能力,打造研發智能問答助手,能夠迅速領會開發人員提出的問題,并依據其豐富的知識庫和代碼庫,提供問題解答、代碼示例以及最佳實踐。在私有化知識的基礎上,例如編碼規范、技術部件、技術文檔等,應用RAG技術與模型微調訓練,更好地適應工商銀行軟件開發中心的研發場景。方案有效解決了銀行研發環境與互聯網環境之間的隔閡,使得開發人員能夠方便地找到標準實現和問題解決方法,從而大大減少了開發者的問題搜索時間,據統計單次問題問答可平均為開發者節省5分鐘。
![32%代碼由AI生成!工行智能研發輔助系統大揭秘](http://www.1jiwang.com/uploads/image/2024/0913/1G30152O2.png)
業界基座大模型大多基于Github、GitLab等平臺的開源項目代碼進行微調訓練,在通用編碼領域能夠取得較好的效果,但是面向私有化研發場景特別是面向金融行業的編碼場景并不能很好地適配,在計算金額場景未能有效處理精度,在面向業務邏輯編碼場景未能理解業務知識上下文,比如生成單元測試行覆蓋率不足。為支撐智能研發體系在工行軟件開發中心落地運營,增強大模型在私有場景下的適配能力,分別組建了智能研發運營團隊負責運營數據分析及模型測評,高級研發專家團隊負責模型微調訓練語料標注,大模型微調訓練團隊負責模型微調訓練,圍繞標注、微調、測評的這個模型迭代機制,三個團隊協作不斷推進模型優化增強。
積累私有化研發數字資產用于模型微調訓練和RAG知識庫增強,包括業務領域優質代碼、技術領域代碼、單元測試代碼、編碼規范、技術文檔等。數字資產由高級研發專家嚴格審查把關,保證模型語料質量,保障模型微調訓練質量。以大模型代碼補全能力為例,面向各研發部門收集優質業務領域代碼、技術構件示例代碼,由高級研發專家進行嚴格的人工審核標注,包括剔除或者改寫低質量及錯誤的代碼,保留代碼中的有用注釋,并剔除無關或噪音注釋。為了解決人工標注工作量大、耗時長的痛點,打造基于語法樹的靜態分析和專用大模型,針對代碼語料進行打分標注,自動提取代碼片段的上下文信息,包括前后文、函數調用關系,降低人工標注工作量。
對標代碼編寫、代碼檢查、單側生成等智能研發能力,利用高質量私有化研發數字資產,提升編碼輔助能力。組建大模型微調訓練團隊,基于大模型運行效果、開發一線反饋的問題需求,結合研發數字資產迭代情況,制定大模型微調訓練目標和訓練計劃。根據具體模型優化能力選擇合適的微調策略和微調算法,設定合適的微調參數,選擇合適的訓練語料,并定義具體的評估指標。模型微調訓練后,大模型微調訓練工程師評估驗證模型性能,并進一步優化模型,通過模型蒸餾,保持模型性能的同時具有更低的計算復雜度和存儲空間需求,通過模型剪枝,有效地減少模型的大小和計算復雜度,從而提高模型推理速度。
為保障研發模型微調訓練效果,建設大模型基礎能力測評、研發能力測評、用戶效果測評三層測評體系,實現逐級測評準入。
-
基礎能力測評針對智能研發場景,聚焦代碼編寫、語義理解、數學運算、邏輯思維四大基礎能力,以業界標準測評集及框架實現測評,比對基座模型及業界模型指標。
-
研發力能測評針對工行軟開發中心研發場景,聚焦智能研發能力,建立私有化測評集,覆蓋業務及技術領域案例,通過自動+人工的方式完成測評量化評估。
-
用戶試點測評針對真實研發場景,灰度發布模型版本進行用戶試點評估,通過埋點數據形成試點運營指標,通過用戶試點測評后正式進行模型版本發布。
![32%代碼由AI生成!工行智能研發輔助系統大揭秘](http://www.1jiwang.com/uploads/image/2024/0913/1G30139553.png)
特別聲明:以上內容(如有圖片或視頻亦包括在內)為“奧運星用戶上傳并發布",本平臺僅提供信息存儲服務。