国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種生成代碼的方法及裝置與流程

      文檔序號(hào):40393850發(fā)布日期:2024-12-20 12:17閱讀:4來(lái)源:國(guó)知局
      一種生成代碼的方法及裝置與流程

      本發(fā)明涉及計(jì)算機(jī),尤其涉及一種生成代碼的方法及裝置。


      背景技術(shù):

      1、隨著軟件技術(shù)的發(fā)展,自動(dòng)代碼生成成為一種減少開(kāi)發(fā)人員的重復(fù)性工作的方式。經(jīng)過(guò)多年的發(fā)展,針對(duì)不同的編程語(yǔ)言和場(chǎng)景,各開(kāi)發(fā)人員已經(jīng)開(kāi)發(fā)出適配各種應(yīng)用場(chǎng)景的自動(dòng)代碼生成工具,以滿足需求。

      2、目前,一般是通過(guò)大語(yǔ)言模型(large?language?model,簡(jiǎn)稱(chēng)llm)模型工具對(duì)需求進(jìn)行解析,生成對(duì)應(yīng)的前端代碼。但是生成代碼的準(zhǔn)確性高度依賴(lài)于llm模型的訓(xùn)練效果,對(duì)于訓(xùn)練數(shù)據(jù)不足或偏差較大的情況,llm模型可能無(wú)法準(zhǔn)確理解和實(shí)現(xiàn)用戶(hù)的需求,導(dǎo)致生成的代碼質(zhì)量不佳,需要耗費(fèi)大量的人力物力去手動(dòng)修正調(diào)整的問(wèn)題。

      3、綜上,如何實(shí)現(xiàn)準(zhǔn)確的自動(dòng)化生成代碼,是當(dāng)前亟需解決的技術(shù)問(wèn)題。


      技術(shù)實(shí)現(xiàn)思路

      1、本發(fā)明實(shí)施例提供一種生成代碼的方法及裝置,用以解決現(xiàn)有技術(shù)存在的通過(guò)llm模型生成的代碼存在質(zhì)量不佳,需要耗費(fèi)大量的人力物力去手動(dòng)修正調(diào)整的問(wèn)題。

      2、第一方面,本發(fā)明實(shí)施例提供一種生成代碼的方法,應(yīng)用于包括多個(gè)不同功能的智能體agent的代碼生成系統(tǒng),包括:通過(guò)需求分析agent對(duì)用戶(hù)端的第一需求進(jìn)行解析,得到目標(biāo)需求;通過(guò)工程解析agent組對(duì)目標(biāo)需求關(guān)聯(lián)的源代碼文件庫(kù)中的每個(gè)文件進(jìn)行解析,確定源代碼文件庫(kù)對(duì)應(yīng)的依賴(lài)關(guān)系;通過(guò)依賴(lài)關(guān)系,確定目標(biāo)需求對(duì)應(yīng)的待修改信息;通過(guò)代碼修改agent,根據(jù)待修改信息確定目標(biāo)代碼。

      3、可選的,通過(guò)工程解析agent組對(duì)目標(biāo)需求關(guān)聯(lián)的源代碼文件庫(kù)中的每個(gè)文件進(jìn)行解析,確定源代碼文件庫(kù)對(duì)應(yīng)的依賴(lài)關(guān)系,包括:通過(guò)工程解析agent組中的文件解析agent,對(duì)目標(biāo)需求關(guān)聯(lián)的源代碼文件庫(kù)中的每個(gè)文件進(jìn)行解析,得到文件解析信息;通過(guò)工程解析agent組中的依賴(lài)關(guān)系agent,根據(jù)文件解析信息確定源代碼文件庫(kù)對(duì)應(yīng)的依賴(lài)關(guān)系;通過(guò)依賴(lài)關(guān)系,確定目標(biāo)需求對(duì)應(yīng)的待修改信息,包括:通過(guò)工程解析agent組中的需求映射agent,根據(jù)目標(biāo)需求和依賴(lài)關(guān)系,確定目標(biāo)需求對(duì)應(yīng)的待修改信息。

      4、可選的,文件解析信息包括文件的作用信息、文件中所有類(lèi)或函數(shù)的定義信息、文件中的全局變量或常量信息、文件的導(dǎo)入關(guān)系;依賴(lài)關(guān)系包括組件間的調(diào)用關(guān)系、組件間的數(shù)據(jù)流向、核心組件信息、核心路徑信息、組件的潛在問(wèn)題信息、組件的架構(gòu)信息;任一文件包括至少一個(gè)組件;通過(guò)工程解析agent組中的依賴(lài)關(guān)系agent,根據(jù)文件解析信息確定源代碼文件庫(kù)對(duì)應(yīng)的依賴(lài)關(guān)系,包括:依賴(lài)關(guān)系agent根據(jù)文件中所有類(lèi)或函數(shù)的定義信息、文件中的全局變量或常量信息和文件的導(dǎo)入關(guān)系,確定組件間的調(diào)用關(guān)系和組件間的數(shù)據(jù)流向;依賴(lài)關(guān)系agent根據(jù)文件中文件的作用信息、所有類(lèi)或函數(shù)的定義信息、文件中的全局變量或常量信息,確定核心組件信息和核心路徑信息;依賴(lài)關(guān)系agent根據(jù)組件間的調(diào)用關(guān)系、組件間的數(shù)據(jù)流向、文件中所有類(lèi)或函數(shù)的定義信息,確定組件的潛在問(wèn)題信息;依賴(lài)關(guān)系agent根據(jù)組件間的調(diào)用關(guān)系、組件間的數(shù)據(jù)流向、核心組件信息、核心路徑信息、組件的潛在問(wèn)題信息,確定組件的架構(gòu)信息。

      5、可選的,待修改信息包括需求點(diǎn)與源代碼的關(guān)聯(lián)關(guān)系、待修改代碼的范圍、重點(diǎn)組件;重點(diǎn)組件包括新增組件或修改程度大于設(shè)定閾值的組件;通過(guò)工程解析agent組中的需求映射agent,根據(jù)目標(biāo)需求和依賴(lài)關(guān)系,確定待修改信息,包括:需求映射agent根據(jù)目標(biāo)需求和依賴(lài)關(guān)系,確定需求點(diǎn)與源代碼的關(guān)聯(lián)關(guān)系;需求映射agent根據(jù)需求點(diǎn)與源代碼的關(guān)聯(lián)關(guān)系,確定待修改代碼的范圍;需求映射agent根據(jù)需求點(diǎn)與源代碼的關(guān)聯(lián)關(guān)系、待修改代碼的范圍和依賴(lài)關(guān)系,確定重點(diǎn)組件。

      6、可選的,代碼生成系統(tǒng)還包括測(cè)試agent和審核agent;通過(guò)代碼修改agent,根據(jù)待修改信息確定目標(biāo)代碼,包括:代碼修改agent根據(jù)待修改信息對(duì)源代碼進(jìn)行修改,確定待審核代碼并發(fā)送至測(cè)試agent;測(cè)試agent對(duì)待審核代碼中的重點(diǎn)組件進(jìn)行功能性測(cè)試,若測(cè)試通過(guò),則將待審核代碼發(fā)送至審核agent;審核agent根據(jù)審核條件,對(duì)待審核代碼進(jìn)行審核,若審核通過(guò),則將待審核代碼確定為目標(biāo)代碼。

      7、可選的,通過(guò)代碼修改agent,根據(jù)待修改信息確定目標(biāo)代碼,包括:代碼修改agent基于檢索增強(qiáng)生成rag檢索到代碼生成規(guī)則,根據(jù)待修改信息確定目標(biāo)代碼,代碼生成規(guī)則包括編碼規(guī)范條件、安全編碼條件、性能條件和質(zhì)量條件中的至少一項(xiàng)。

      8、可選的,審核條件包括合規(guī)性審核、安全性審核、性能審核和質(zhì)量審核;審核agent根據(jù)審核條件,對(duì)待審核代碼進(jìn)行審核,包括:審核agent依次對(duì)待審核代碼進(jìn)行合規(guī)性審核、安全性審核、性能審核和質(zhì)量審核,若審核不通過(guò),則生成審核結(jié)果并發(fā)送至代碼修改agent;代碼修改agent根據(jù)審核結(jié)果,對(duì)待審核代碼進(jìn)行修改,得到再處理代碼并發(fā)送至測(cè)試agent;測(cè)試agent對(duì)再處理代碼中的重點(diǎn)組件進(jìn)行功能性測(cè)試,直至測(cè)試通過(guò),則將再處理代碼發(fā)送至審核agent;審核agent根據(jù)審核條件,對(duì)再處理代碼進(jìn)行審核,直至審核通過(guò),則將再處理代碼確定為目標(biāo)代碼。

      9、第二方面,本發(fā)明實(shí)施例提供的一種代碼生成系統(tǒng),包括需求分析agent、工程解析agent組和代碼修改agent;需求分析agent用于對(duì)用戶(hù)端的第一需求進(jìn)行解析,得到目標(biāo)需求并將目標(biāo)需求發(fā)送至工程解析agent組;工程解析agent組用于對(duì)目標(biāo)需求關(guān)聯(lián)的源代碼文件庫(kù)中的每個(gè)文件進(jìn)行解析,確定源代碼文件庫(kù)對(duì)應(yīng)的依賴(lài)關(guān)系;通過(guò)依賴(lài)關(guān)系,確定目標(biāo)需求對(duì)應(yīng)的待修改信息,并將目標(biāo)需求對(duì)應(yīng)的待修改信息發(fā)送至代碼修改agent;代碼修改agent用于根據(jù)待修改信息確定目標(biāo)代碼。

      10、第三方面,本發(fā)明實(shí)施例提供的一種生成代碼的裝置,應(yīng)用于包括多個(gè)不同功能的智能體agent的代碼生成系統(tǒng),包括:獲取單元用于通過(guò)需求分析agent對(duì)用戶(hù)端的第一需求進(jìn)行解析,得到目標(biāo)需求;處理單元用于通過(guò)工程解析agent組對(duì)目標(biāo)需求關(guān)聯(lián)的源代碼文件庫(kù)中的每個(gè)文件進(jìn)行解析,確定源代碼文件庫(kù)對(duì)應(yīng)的依賴(lài)關(guān)系;通過(guò)依賴(lài)關(guān)系,確定目標(biāo)需求對(duì)應(yīng)的待修改信息;通過(guò)代碼修改agent,根據(jù)待修改信息確定目標(biāo)代碼。

      11、可選的,處理單元具體用于:通過(guò)工程解析agent組中的文件解析agent,對(duì)目標(biāo)需求關(guān)聯(lián)的源代碼文件庫(kù)中的每個(gè)文件進(jìn)行解析,得到文件解析信息;通過(guò)工程解析agent組中的依賴(lài)關(guān)系agent,根據(jù)文件解析信息確定源代碼文件庫(kù)對(duì)應(yīng)的依賴(lài)關(guān)系;通過(guò)依賴(lài)關(guān)系,確定目標(biāo)需求對(duì)應(yīng)的待修改信息,包括:通過(guò)工程解析agent組中的需求映射agent,根據(jù)目標(biāo)需求和依賴(lài)關(guān)系,確定目標(biāo)需求對(duì)應(yīng)的待修改信息。

      12、可選的,文件解析信息包括文件的作用信息、文件中所有類(lèi)或函數(shù)的定義信息、文件中的全局變量或常量信息、文件的導(dǎo)入關(guān)系;依賴(lài)關(guān)系包括組件間的調(diào)用關(guān)系、組件間的數(shù)據(jù)流向、核心組件信息、核心路徑信息、組件的潛在問(wèn)題信息、組件的架構(gòu)信息;任一文件包括至少一個(gè)組件;處理單元具體用于:依賴(lài)關(guān)系agent根據(jù)文件中所有類(lèi)或函數(shù)的定義信息、文件中的全局變量或常量信息和文件的導(dǎo)入關(guān)系,確定組件間的調(diào)用關(guān)系和組件間的數(shù)據(jù)流向;依賴(lài)關(guān)系agent根據(jù)文件中文件的作用信息、所有類(lèi)或函數(shù)的定義信息、文件中的全局變量或常量信息,確定核心組件信息和核心路徑信息;依賴(lài)關(guān)系agent根據(jù)組件間的調(diào)用關(guān)系、組件間的數(shù)據(jù)流向、文件中所有類(lèi)或函數(shù)的定義信息,確定組件的潛在問(wèn)題信息;依賴(lài)關(guān)系agent根據(jù)組件間的調(diào)用關(guān)系、組件間的數(shù)據(jù)流向、核心組件信息、核心路徑信息、組件的潛在問(wèn)題信息,確定組件的架構(gòu)信息。

      13、可選的,待修改信息包括需求點(diǎn)與源代碼的關(guān)聯(lián)關(guān)系、待修改代碼的范圍、重點(diǎn)組件;重點(diǎn)組件包括新增組件或修改程度大于設(shè)定閾值的組件;處理單元具體用于:需求映射agent根據(jù)目標(biāo)需求和依賴(lài)關(guān)系,確定需求點(diǎn)與源代碼的關(guān)聯(lián)關(guān)系;需求映射agent根據(jù)需求點(diǎn)與源代碼的關(guān)聯(lián)關(guān)系,確定待修改代碼的范圍;需求映射agent根據(jù)需求點(diǎn)與源代碼的關(guān)聯(lián)關(guān)系、待修改代碼的范圍和依賴(lài)關(guān)系,確定重點(diǎn)組件。

      14、可選的,代碼生成系統(tǒng)還包括測(cè)試agent和審核agent;處理單元具體用于:代碼修改agent根據(jù)待修改信息對(duì)源代碼進(jìn)行修改,確定待審核代碼并發(fā)送至測(cè)試agent;測(cè)試agent對(duì)待審核代碼中的重點(diǎn)組件進(jìn)行功能性測(cè)試,若測(cè)試通過(guò),則將待審核代碼發(fā)送至審核agent;審核agent根據(jù)審核條件,對(duì)待審核代碼進(jìn)行審核,若審核通過(guò),則將待審核代碼確定為目標(biāo)代碼。

      15、可選的,處理單元具體用于:代碼修改agent基于檢索增強(qiáng)生成rag檢索到代碼生成規(guī)則,根據(jù)待修改信息確定目標(biāo)代碼,代碼生成規(guī)則包括編碼規(guī)范條件、安全編碼條件、性能條件和質(zhì)量條件中的至少一項(xiàng)。

      16、可選的,審核條件包括合規(guī)性審核、安全性審核、性能審核和質(zhì)量審核;處理單元具體用于:審核agent依次對(duì)待審核代碼進(jìn)行合規(guī)性審核、安全性審核、性能審核和質(zhì)量審核,若審核不通過(guò),則生成審核結(jié)果并發(fā)送至代碼修改agent;代碼修改agent根據(jù)審核結(jié)果,對(duì)待審核代碼進(jìn)行修改,得到再處理代碼并發(fā)送至測(cè)試agent;測(cè)試agent對(duì)再處理代碼中的重點(diǎn)組件進(jìn)行功能性測(cè)試,直至測(cè)試通過(guò),則將再處理代碼發(fā)送至審核agent;審核agent根據(jù)審核條件,對(duì)再處理代碼進(jìn)行審核,直至審核通過(guò),則將再處理代碼確定為目標(biāo)代碼。

      17、第四方面,本技術(shù)實(shí)施例還提供一種計(jì)算設(shè)備,包括:存儲(chǔ)器,用于存儲(chǔ)程序;處理器,用于調(diào)用所述存儲(chǔ)器中存儲(chǔ)的程序,按照獲得的程序執(zhí)行如第一方面的一種生成代碼的方法。

      18、第五方面,本技術(shù)實(shí)施例還提供一種計(jì)算機(jī)可讀非易失性存儲(chǔ)介質(zhì),包括計(jì)算機(jī)可讀程序,當(dāng)計(jì)算機(jī)讀取并執(zhí)行所述計(jì)算機(jī)可讀程序時(shí),使得計(jì)算機(jī)執(zhí)行如第一方面的一種生成代碼的方法。

      19、第六方面,本技術(shù)實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,計(jì)算機(jī)程序產(chǎn)品包括存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序,計(jì)算機(jī)程序包括程序指令,當(dāng)程序指令被計(jì)算機(jī)設(shè)備執(zhí)行時(shí),使計(jì)算機(jī)設(shè)備執(zhí)行上述第一方面一種生成代碼的方法的步驟。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1