System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及人工智能,尤其是涉及一種代碼評審方法、裝置及電子設備。
技術介紹
1、傳統代碼評審和代碼優化對人力資源和時間都有很大的開銷,而且存在人為主觀性和偏見的影響。若要提高評審的效果,則需要投入更多的人和時間進行評審。此外,代碼評審和優化對評審人和優化人的能力要求很高,不僅要有過硬的技術能力,又要對相關業務足夠了解。
2、如何提高代碼評審和優化效率成為急需解決的技術問題。
技術實現思路
1、本申請實施例提供了一種代碼評審方法、裝置及電子設備,用于提高代碼評審和優化的效率。
2、第一方面,本申請實施例提供了一種代碼評審方法,包括:
3、獲取待評審代碼、所述待評審代碼對應的提交描述以及所述待評審代碼所屬的目標知識體系大類;
4、根據所述目標知識體系大類,從本地知識庫中獲取到與所述待評審代碼匹配度大于預設閾值的相關背景知識;
5、將所述相關背景知識和所述提交描述組成的第一提示詞,輸入至基于大模型預先定義的業務理解專家職責的智能體,所述業務理解專家職責的智能體基于所述第一提示詞對所述提交描述進行精準化處理,獲得經精準化處理后的提交描述,所述經精準化處理后的提交描述與所述相關背景知識之間的匹配度大于經精準化處理前的所述提交描述與所述相關背景知識之間的匹配度;
6、將所述相關背景知識、所述經精準化處理后的提交描述以及所述待評審代碼組成的第二提示詞,輸入至基于大模型預先定義的代碼評審專家職責的智能體,所述代碼評審專家職責的
7、將所述相關背景知識、所述經精準化處理后的提交描述、所述待評審代碼以及所述評審建議組成的第三提示詞,輸入至基于大模型預先定義的代碼開發專家職責的智能體,所述代碼開發專家職責的智能體基于所述第三提示詞對所述待評審代碼進行修改,獲得修改后的代碼。
8、在其中一種可能的實現方式中,在所述對所述待評審代碼進行修改,獲得修改后的代碼之后,所述方法還包括:
9、將所述相關背景知識、所述經精準化處理后的提交描述以及所述修改后的代碼組成的第四提示詞,輸入至基于大模型預先定義的代碼測試專家職責的智能體,獲得對所述修改后的代碼進行測試的測試方案;
10、搭建與所述測試方案相應的測試環境,并使用預先設置的工具集對所述修改后的代碼進行測試,獲得測試結果。
11、在其中一種可能的實現方式中,在所述獲得測試結果之后,所述方法還包括:
12、判斷所述測試結果是否滿足預期需求;
13、若否,則反饋至所述代碼開發專家職責的智能體,由所述代碼開發專家職責的智能體對所述修改后的代碼進行修改,直到相應的測試結果滿足所述預期需求。
14、在其中一種可能的實現方式中,在所述判斷所述測試結果是否滿足預期需求之后,所述方法還包括:
15、若是,則將所述修改后的代碼作為初步合格代碼;
16、將所述初步合格代碼和所述相關背景知識下發至至少一個基于大模型預先定義的用戶需求調整優化的智能體,對所述初步合格代碼分別進行優化,獲得經優化后的代碼。
17、在其中一種可能的實現方式中,若所述至少一個基于大模型預先定義的用戶需求調整優化的智能體,包括代碼性能優化專家的智能體、代碼資源優化專家的智能體和代碼安全性能優化專家的智能體,則對所述初步合格代碼分別進行優化,獲得經優化后的代碼,包括:
18、通過所述代碼性能優化專家的智能體對所述初步合格代碼進行優化,獲得第一優化結果;所述代碼性能優化專家的智能體是基于用于代碼性能優化的對所述大模型進行訓練微調所得到的;
19、通過所述代碼資源優化專家的智能體對所述初步合格代碼進行優化,獲得第二優化結果;
20、通過所述代碼安全性能優化專家的智能體對所述初步合格代碼進行優化,獲得第三優化結果;
21、將所述相關背景知識、所述第一優化結果、所述第二優化結果、所述第三優化結果和預先設置的決策權重組成的第五提示詞,輸入至基于大模型預先定義的最高決策者職責的智能體,獲得經決策后的代碼。
22、在其中一種可能的實現方式中,在所述獲得經決策后的代碼之后,所述方法還包括:
23、對所述經決策后的代碼進行掃描檢測,獲得檢測結果;
24、判斷所述檢測結果是否滿足預期需求;
25、若否,則反饋至所述代碼開發專家職責的智能體,由所述代碼開發專家職責的智能體對所述修改后的代碼進行修改,直到相應的檢測結果滿足所述預期需求;
26、若是,則將經決策后的代碼作為所述待評審代碼的最優代碼。
27、第二方面,本申請實施例提供了一種代碼評審裝置,包括:
28、第一獲取單元,用于獲取待評審代碼、所述待評審代碼對應的提交描述以及所述待評審代碼所屬的目標知識體系大類;
29、第二獲取單元,用于根據所述目標知識體系大類,從本地知識庫中獲取到與所述待評審代碼匹配度大于預設閾值的相關背景知識;
30、精準化處理單元,用于將所述相關背景知識和所述提交描述組成的第一提示詞,輸入至基于大模型預先定義的業務理解專家職責的智能體,對所述提交描述進行精準化處理,獲得經精準化處理后的提交描述;
31、基礎評審單元,用于將所述相關背景知識、所述經精準化處理后的提交描述以及所述待評審代碼組成的第二提示詞,輸入至基于大模型預先定義的代碼評審專家職責的智能體,對所述待評審代碼進行基礎評審,獲得評審建議;
32、修改單元,用于將所述相關背景知識、所述經精準化處理后的提交描述、所述待評審代碼以及所述評審建議組成的第三提示詞,輸入至基于大模型預先定義的代碼開發專家職責的智能體,對所述待評審代碼進行修改,獲得修改后的代碼。
33、在其中一種可能的實現方式中,在所述修改單元對所述待評審代碼進行修改,獲得修改后的代碼之后,所述裝置還包括測試單元,所述測試單元用于:
34、將所述相關背景知識、所述經精準化處理后的提交描述以及所述修改后的代碼組成的第四提示詞,輸入至基于大模型預先定義的代碼測試專家職責的智能體,獲得對所述修改后的代碼進行測試的測試方案;
35、搭建與所述測試方案相應的測試環境,并使用預先設置的工具集對所述修改后的代碼進行測試,獲得測試結果。
36、在其中一種可能的實現方式中,在所述測試單元獲得測試結果之后,所述裝置還包括判斷單元,所述判斷單元用于:
37、判斷所述測試結果是否滿足預期需求;
38、若否,則反饋至所述代碼開發專家職責的智能體,由所述代碼開發專家職責的智能體對所述修改后的代碼進行修改,直到相應的測試結果滿足所述預期需求。
39、在其中一種可能的實現方式中,在所述判斷單元判斷所述測試結果是否滿足預期需求之后,所述裝置還包括優化單元,所述優化單元用于:
<本文檔來自技高網...【技術保護點】
1.一種代碼評審方法,其特征在于,包括:
2.如權利要求1所述的方法,其特征在于,在所述對所述待評審代碼進行修改,獲得修改后的代碼之后,所述方法還包括:
3.如權利要求2所述的方法,其特征在于,在所述獲得測試結果之后,所述方法還包括:
4.如權利要求3所述的方法,其特征在于,在所述判斷所述測試結果是否滿足預期需求之后,所述方法還包括:
5.如權利要求4所述的方法,其特征在于,若所述至少一個基于大模型預先定義的用戶需求調整優化的智能體,包括代碼性能優化專家的智能體、代碼資源優化專家的智能體和代碼安全性能優化專家的智能體,則對所述初步合格代碼分別進行優化,獲得經優化后的代碼,包括:
6.如權利要求5所述的方法,其特征在于,在所述獲得經決策后的代碼之后,所述方法還包括:
7.一種代碼評審裝置,其特征在于,包括:
8.一種電子設備,其特征在于,包括:
9.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質內存儲有計算機程序,所述計算機程序用于使計算機執行如權利要求1-6中任一項所述的方
10.一種計算機程序產品,其特征在于,所述計算機程序產品包括:計算機程序代碼,當所述計算機程序代碼在計算機上運行時,使得計算機執行上述如權利要求1-6中任一項所述的方法。
...【技術特征摘要】
1.一種代碼評審方法,其特征在于,包括:
2.如權利要求1所述的方法,其特征在于,在所述對所述待評審代碼進行修改,獲得修改后的代碼之后,所述方法還包括:
3.如權利要求2所述的方法,其特征在于,在所述獲得測試結果之后,所述方法還包括:
4.如權利要求3所述的方法,其特征在于,在所述判斷所述測試結果是否滿足預期需求之后,所述方法還包括:
5.如權利要求4所述的方法,其特征在于,若所述至少一個基于大模型預先定義的用戶需求調整優化的智能體,包括代碼性能優化專家的智能體、代碼資源優化專家的智能體和代碼安全性能優化專家的智能體,則對所述初步合格代碼分...
【專利技術屬性】
技術研發人員:岑鑫,郭蘇萱,虞響,李琦,錢康,郭佳,劉俊男,
申請(專利權)人:浙江大華技術股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。