aiXcoder代碼大模型應(yīng)用實(shí)踐_第1頁(yè)
aiXcoder代碼大模型應(yīng)用實(shí)踐_第2頁(yè)
aiXcoder代碼大模型應(yīng)用實(shí)踐_第3頁(yè)
aiXcoder代碼大模型應(yīng)用實(shí)踐_第4頁(yè)
aiXcoder代碼大模型應(yīng)用實(shí)踐_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于aiXcoder代碼大模型的企業(yè)智能化軟件開發(fā)應(yīng)用實(shí)踐李力行北京硅心科技有限公司全球開發(fā)者積極擁抱AI開發(fā)工具Gartner將AI增強(qiáng)開發(fā)列入2024十大戰(zhàn)略技術(shù)趨勢(shì)44%的開發(fā)者已經(jīng)在開發(fā)過(guò)程中使用AI工具26%44%30%AI開發(fā)工具使用情況計(jì)劃嘗試使用 正在使用 其他77%23%將AI工具作為開發(fā)工作的一部分贊成 其他77%的人贊成使用AI工具作為其開發(fā)工作流程的一部分?jǐn)?shù)據(jù)來(lái)源:StackOverflow

2023年開發(fā)者調(diào)查報(bào)告。AI開發(fā)工具在軟件工程的應(yīng)用現(xiàn)狀47.40%%1.50%37.427.90%33.7027.40%40%學(xué)習(xí)速度效率生產(chǎn)力AI開發(fā)工具的優(yōu)勢(shì)專業(yè)開發(fā)人員學(xué)習(xí)編碼的開發(fā)人員數(shù)據(jù)來(lái)源:StackOverflow

2023年開發(fā)者調(diào)查報(bào)告。數(shù)據(jù)來(lái)源:中國(guó)信通院AI4SE工作組數(shù)據(jù)來(lái)源:JetBrains2023開發(fā)者生態(tài)系統(tǒng)現(xiàn)狀關(guān)于我們孵化自北京大學(xué)軟件工程研究所致力于將前沿人工智能技術(shù)應(yīng)用于軟件工程聚焦代碼大模型在企業(yè)的應(yīng)用落地全球智能化軟件研發(fā)領(lǐng)域最早的引領(lǐng)者Applicationsin

IndustryTaskOriented

ResearchesTaskIndependent

Researches[arXiv2015]theFirstDLWorkonProgram

Generation.[arXiv2014]theFirstDLWorkonProgram

Representation.[TOSEM,2020]ModularbaseCode

Representation.[ASE2020]theFirstPaperonPre-trainingbasedCodeComletion.[NIPS2019]PopularCitedPaperonCodeGenerationand

Summarization.[EMNLP

2015][KSEM

2015][EMNLP

2015][EMNLP

2015][arXiv

2015][EMNLP

2016][ACL

2016][ACL

2016][AAAI

2016][CIKM

2016][IJCAI

2018][ICPC

2018][KSEM

2017][KSEM

2017][NeurIPS

2019][EMSE,

2019][ICPC

2019][AAAI

2019][ICPC

2019][COMPSAC

2019][NeurIPS

2021][NeurIPS

2021][TOSEM,

2021][TOSEM,

2021][TSE,

2021][JSS,

2021][ASE

2021]......[NeurIPS

2022][ICSE

2022][ICSE

2022][FSE

2022][FSE

2022][EMNLP

2022][CIKM

2022][JSS

2022]...

...2014

2015201620182019[IJCAI2020][ASE

2020][ASE

2020][TOSEM,

2020][ICPC

2020][SANER

2020][AAAI

2020]2020 20212022[IJCAI2018]PopularCitedPaperonProgramSummarization.[ICPC2018]PopularCitedPaperonProgram

Summarization.[AAAI2016]theFirstPaperonASTbasedProgram

Representation.bp[NIPS2021]CodeTransformerRepresentation.[TOSEM,2021]theFirstPaperonDLRo

ustness.[arXiv

2014][arXiv

2014][TOSEM

2023][TOSEM

2023][ASEJ

2023][JSME

2023][JSEP

2023][ASE

2023][ICPC

2023][ACL

2023][ICSE

2023][SANER

2023]...

...2023[ICPC2023]ACMSIGSOFTDistinguishedPaperAward.[NeurIPS2022]BigModelTraining.大模型的代碼能力當(dāng)前公開測(cè)評(píng)集的局限性:題目類型多為算法題或競(jìng)賽題獨(dú)立函數(shù)或方法的生成,不關(guān)注上下文容易在訓(xùn)練過(guò)程中被污染真實(shí)開發(fā)場(chǎng)景KechiZhang,JiaLi,GeLi,XianjieShi,ZhiJin,CodeAgent:EnhancingCodeGenerationwithTool-IntegratedAgentSystemsforReal-WorldRepo-levelCodingChallenges,ACL

2024軟件開發(fā)全流程:

多階段+團(tuán)隊(duì)協(xié)同企業(yè)開發(fā)場(chǎng)景:私有化環(huán)境+領(lǐng)域知識(shí)代碼天然具有私有化屬性企業(yè)軟件開發(fā)高強(qiáng)度依賴領(lǐng)域知識(shí)軟件開發(fā)私有化的限制將一直存在,代碼的領(lǐng)域化將變得尤為重要代碼是企業(yè)核心資產(chǎn)知識(shí)產(chǎn)權(quán)專有技術(shù)數(shù)據(jù)安全商業(yè)機(jī)密行業(yè)知識(shí)代碼注釋API

接口命名習(xí)慣需求文檔相關(guān)文檔編碼規(guī)范設(shè)計(jì)文檔用戶手冊(cè)歷史代碼特定行業(yè)標(biāo)準(zhǔn)的實(shí)現(xiàn)標(biāo)準(zhǔn)功能的實(shí)現(xiàn)·········企業(yè)軟件開發(fā)需遵循相關(guān)要求···aiXcoder產(chǎn)品技術(shù)概覽企業(yè)智能化軟件開發(fā)提供商軍工能源通信金融aiXcoder系列大模型定制化開發(fā)私有化部署個(gè)性化訓(xùn)練咨詢服務(wù)智能化軟件開發(fā)系統(tǒng)智能知識(shí)庫(kù)系統(tǒng)企業(yè)開發(fā)管理系統(tǒng)智能化軟件開發(fā)一體機(jī)交通科研智能制造科技應(yīng)用場(chǎng)景企業(yè)服務(wù)產(chǎn)品核心技術(shù)大模型訓(xùn)練及微調(diào)軟件工程AgentRAG代碼大模型的重要性數(shù)據(jù)來(lái)源:On

the

Effectiveness

of

Large

Language

Models

in

Domain-Specific

Code

Generation通用大模型在專有領(lǐng)域的生成效果大幅下降從通用領(lǐng)域到專有領(lǐng)域,測(cè)評(píng)結(jié)果約有70%以上的下降aiXcoder代碼大模型的持續(xù)演化aiXcoder-7B:專為企業(yè)私有部署結(jié)合代碼結(jié)構(gòu)特性,構(gòu)建高質(zhì)量數(shù)據(jù)集爬取與過(guò)濾:去除copyleft

licenses

項(xiàng)目項(xiàng)目篩選:根據(jù)

Git

的各種信息刪除低質(zhì)量項(xiàng)目文件篩選:近似去重算法篩選文件數(shù)據(jù)收集敏感信息去除刪除無(wú)效代碼自動(dòng)生成代碼去除代碼級(jí)篩選語(yǔ)法解析:刪除語(yǔ)法不正確的代碼靜態(tài)分析:刪除常見缺陷的代碼依賴分析:重排代碼文件的順序高質(zhì)量訓(xùn)練數(shù)據(jù)1.5TUnique

Token高質(zhì)量代碼數(shù)據(jù)集

根據(jù)代碼結(jié)構(gòu)及特性結(jié)合軟件工程能力處理結(jié)合代碼結(jié)構(gòu)化特征的模型構(gòu)造方法結(jié)構(gòu)化span支持基于項(xiàng)目上下文環(huán)境的代碼生成當(dāng)前文檔上下文當(dāng)前項(xiàng)目相關(guān)文檔大模型代碼能力的測(cè)評(píng)LEVELINPUTOUTPUTDATASET獨(dú)立的代碼生成NL(自然語(yǔ)言需求+函數(shù)簽名+輸入輸出對(duì))function/method(完整的函數(shù)/方法)Human-EvalMultiPL-EMBPPDS-1000基于上下文的代碼補(bǔ)全in-file(當(dāng)前文件內(nèi)上下文)single-line(單行代碼)SantaCoder-FIMfunction/method/single-line(完整函數(shù)/完整方法/單行代碼)aiXcoder_FIM_4kaiXcoder_FIM_8kcross-file(跨文件上下文)single-line(單行代碼)CrossCodeEvalsingle-line(單行代碼)RepoBenchmethod(完整方法)EvoCodeBench項(xiàng)目級(jí)開發(fā)cross_file+description(跨文件上下文+需求描述)method(完整方法)-基于多文件交互SWE-Benchmethod(完整方法)-基于調(diào)用多種工具CodeAgent-Bench容易困難aiXcoder-7B:代碼生成能力優(yōu)異aiXcoder-7B在各大百億級(jí)參數(shù)規(guī)模代碼大模型上表現(xiàn)最佳甚至超過(guò)參數(shù)規(guī)模是其5倍的CodeLlama。HumanEval

是由OpenAI在2021年推出代碼生成模型效果評(píng)估測(cè)評(píng)集,包含164個(gè)Python編程問(wèn)題。MBPP

是由谷歌在2021年推出的代碼生成模型效果評(píng)估測(cè)評(píng)集,包含974個(gè)Python編程問(wèn)題。MultiPL-E

是由HuggingFace推出的多語(yǔ)言代碼生成效果評(píng)估測(cè)試集,包含18種編程語(yǔ)言。測(cè)評(píng)結(jié)果

-

上下文單行代碼補(bǔ)全測(cè)評(píng)集:Santacoder(Ben

Allal

et

al.,

2023)代碼補(bǔ)全:aiXcoder

benchmark更大、更多樣性的測(cè)評(píng)集、更長(zhǎng)的上下文信息測(cè)評(píng)結(jié)果:多行代碼補(bǔ)全跨文件代碼補(bǔ)全測(cè)評(píng)產(chǎn)品功能:支持多語(yǔ)言、多IDE支持100+主流編程語(yǔ)言/框架支持多種主流IDE功能:代碼生成與補(bǔ)全復(fù)雜算法題的解法生成前端Web頁(yè)面的生成代碼補(bǔ)全:長(zhǎng)上下文與多文件長(zhǎng)上下文代碼補(bǔ)全跨文件代碼生成用戶體驗(yàn)優(yōu)化預(yù)測(cè)出發(fā)時(shí)機(jī)預(yù)測(cè)長(zhǎng)度動(dòng)態(tài)調(diào)整功能:?jiǎn)卧獪y(cè)試自動(dòng)生成單元測(cè)試用例自動(dòng)生成在開發(fā)者編寫代碼后,通過(guò)“單元測(cè)試代碼自動(dòng)生成”功能自動(dòng)生成對(duì)應(yīng)的單元測(cè)試,保障代碼質(zhì)量針對(duì)任意方法、函數(shù)自動(dòng)生成單元測(cè)試用例及對(duì)應(yīng)解釋。功能:代碼缺陷檢測(cè)與修復(fù)代碼缺陷檢測(cè)與修復(fù)自動(dòng)識(shí)別并修復(fù)代碼中的錯(cuò)誤,通過(guò)分析被測(cè)代碼,識(shí)別代碼中的潛在錯(cuò)誤,并自動(dòng)給出修復(fù)后的代碼。這個(gè)功能在提高代碼穩(wěn)定性和可靠性方面有很大的價(jià)值,同時(shí)也可以減少手動(dòng)調(diào)試和修復(fù)Bug的時(shí)間功能:代碼解釋代碼解釋自動(dòng)解析代碼的功能和結(jié)構(gòu),從而生成對(duì)應(yīng)的文本解釋。該功能可以有效減輕開發(fā)者編寫功能文檔的負(fù)擔(dān),同時(shí)幫助開發(fā)者快速理解代碼邏輯和功能設(shè)計(jì)。功能:代碼問(wèn)答報(bào)錯(cuò)信息解釋結(jié)合報(bào)錯(cuò)信息對(duì)原始代碼做修復(fù)non-agenticvs

agenticNon-agenticworkflow

(zero-shot)Please

type

out

an

essay

on

topic

X

fromstart

to

finish

in

one

go,

without

usingbackspace.StartThinking/researchReviseFinishAgentic

workflowWrite

an

essay

outline

on

topic

XDoyouneedanyweb

research?Writeafirst

draft.Consider

what

parts

need

revision

or

more

research.Reviseyour

draft.智能化軟件開發(fā)agent時(shí)代環(huán)境反饋外掛知識(shí)庫(kù)角色扮演開發(fā)流程(多輪)工具調(diào)用Agent設(shè)計(jì)模式Reflection審視和修正自己生成的輸出Tool

use搜索、調(diào)用

API

等進(jìn)行實(shí)際操作Planning分解復(fù)雜任務(wù)并按計(jì)劃執(zhí)行Multi-agent多個(gè)

Agent

扮演不同角色合作完成任務(wù)AndrewNg:What'snextforAIagentic

workflowsSelf-planning

code

generation

with

large

language

model,

Xue

Jiang,

Yihong

Dong,

Lecheng

Wang,

Zheng

Fang,

Qiwei

Shang,

Ge

Li,

Zhi

Jin,

Wenpin

Jiao,

arXiv

preprintarXiv:2303.06689,

2023.DecomposecomplexproblemsandschedulethesolutionstepspriortoimplementationImprovesPass@1byupto25.4%overDirectgenerationand11.9%overChain-of-Thought“The

artofprogrammingistheartoforganizingcomplexity.”-Edsger

W.DijkstraIntroduceplanningintocodegenerationtohelptheLLMunderstandcomplexintentandreducethedifficultyofproblem-solvingSelf-planningCodeAgent:面向項(xiàng)目級(jí)代碼生成agent基于agent方法的項(xiàng)目級(jí)代碼生成最早工作基本思想:LLM+工具調(diào)用解決復(fù)雜的代碼生成問(wèn)題方法:工具設(shè)計(jì)網(wǎng)絡(luò)搜索工具文檔查詢工具代碼定位工具代碼格式化工具代碼執(zhí)行工具多種Agent策略ReActOpenAIFuncTool-PlanningRule-basedTool

UsageKechiZhang,JiaLi,GeLi,XianjieShi,ZhiJin,CodeAgent:EnhancingCodeGenerationwithTool-IntegratedAgentSystemsforReal-WorldRepo-levelCodingChallenges,ACL

2024提出自合作代碼生成框架,允許LLM

agent通過(guò)角色指令扮演不同的角色,形成虛擬團(tuán)隊(duì),合作解決代碼生成任務(wù)。首次引入軟件開發(fā)方法中的瀑布模型來(lái)組織和管理LLM

agent在虛擬軟件開發(fā)團(tuán)隊(duì)中的合作。[TOSEM,2024]YihongDong,XueJiang,ZhiJin,GeLi,Self-collaborationCodeGenerationviaChatGPT,ACMTransactionsonSoftwareEngineeringandMethodology(TOSEM),2024.

(Accepted).Self-collaborationFrameworkCodingTestingTeamInstantiatingRole

InstructionsAnalyst

Coder TesterAnalysis......Division

of

Labor

TaskStagesLLMRole

InstructionsLLM...LLM...LLM

RolesLLMLLMLLMBlackboardRequirementsCodesCollaboration...InitializedPassed!Task*Wesample4HumanEvaltaskstoconstructexamplesforfew-shotprompting,whichareexcludedinevaluationsof`TheRoleof

Role-playing'Self-collaborationCode

Generation功能示例:項(xiàng)目知識(shí)問(wèn)答功能示例:issue自動(dòng)處理企業(yè)研發(fā)智能化轉(zhuǎn)型的需求及挑戰(zhàn)編碼效率 代碼質(zhì)量 存量代碼優(yōu)化 研發(fā)模式轉(zhuǎn)型 企業(yè)降本增效企業(yè)代碼數(shù)據(jù)和代碼安全企業(yè)領(lǐng)域知識(shí)計(jì)算資源有限研發(fā)效能度量需求挑戰(zhàn)私有化部署GPU多樣性適配企業(yè)個(gè)性化訓(xùn)練企業(yè)管理平臺(tái)解決方案aiXcoder智能化軟件研發(fā)一體機(jī)支持英偉達(dá)A800(2/4/8卡)、V100(4/8卡)、華為昇騰910B(8卡)、天數(shù)智芯天垓150(4卡)等多種

GPU

配置軟硬件一體符合最佳性能支持信創(chuàng)安全解決方案企業(yè)私有化部署開箱即用一體化安全防護(hù)方案流程圖實(shí)施SOP:標(biāo)準(zhǔn)化流程+自動(dòng)化工具=高人效團(tuán)隊(duì)需求梳理模型選型私有化部署個(gè)性化訓(xùn)練模型上線推廣試用持續(xù)反饋和優(yōu)化模型監(jiān)測(cè)持續(xù)優(yōu)化計(jì)算資源參數(shù)規(guī)模模型性能企業(yè)評(píng)測(cè)集構(gòu)建RAG知識(shí)庫(kù)構(gòu)建模型個(gè)性化訓(xùn)練模型自動(dòng)化評(píng)測(cè)開發(fā)語(yǔ)言使用人數(shù)應(yīng)用場(chǎng)景安全掃描服務(wù)部署聯(lián)調(diào)測(cè)試產(chǎn)品培訓(xùn)推廣應(yīng)用約一周約兩周企業(yè)私有化部署企業(yè)專屬測(cè)評(píng)集

-

構(gòu)建方法基于企業(yè)真實(shí)代碼構(gòu)建采用挖空方式構(gòu)建:被挖的代碼就是正確答案,模型根據(jù)上下文預(yù)測(cè)這部分內(nèi)容不同挖空方法:盡可能覆蓋用戶的多樣性使用場(chǎng)景企業(yè)領(lǐng)域知識(shí)與個(gè)性化訓(xùn)練企業(yè)領(lǐng)域知識(shí)行業(yè)業(yè)務(wù)術(shù)語(yǔ)與流程規(guī)范行業(yè)技術(shù)標(biāo)準(zhǔn)與規(guī)范企業(yè)產(chǎn)品和服務(wù)詳細(xì)信息企業(yè)技術(shù)棧編程框架...

...個(gè)性化訓(xùn)練的價(jià)值更準(zhǔn)確的代碼生成更好理解企業(yè)特有業(yè)務(wù)邏輯和技術(shù)細(xì)節(jié)遵循企業(yè)編碼規(guī)范,風(fēng)格統(tǒng)一的代碼幫助新員工快速掌握技術(shù)規(guī)范...

...個(gè)性化訓(xùn)練企業(yè)軟件開發(fā)數(shù)據(jù)企業(yè)代碼設(shè)計(jì)文檔等企業(yè)文檔信息企業(yè)代碼<-->設(shè)計(jì)文檔企業(yè)代碼大模型PEFTSFTRLHFDPORAG企業(yè)領(lǐng)域知識(shí)代碼補(bǔ)全代碼補(bǔ)全代碼補(bǔ)全代碼生成代碼補(bǔ)全代碼生成單元測(cè)試生成代碼ReviewaiXcoder代碼大模型代碼大模型需求文檔設(shè)計(jì)文檔技術(shù)方案?jìng)€(gè)性化訓(xùn)練方案研發(fā)全流程能力提升代碼生成/補(bǔ)全能力提升測(cè)試用例生成能力提升代碼檢視能力提升更高質(zhì)量的代碼生成生成和補(bǔ)全代碼:更符合企業(yè)業(yè)務(wù)邏輯更符合企業(yè)編碼規(guī)范更高的可用率研發(fā)全流程對(duì)領(lǐng)域知識(shí)的理解能力逐級(jí)增強(qiáng)研發(fā)文檔測(cè)試文檔............個(gè)性化訓(xùn)練+RAG

效果示例個(gè)性化訓(xùn)練前個(gè)性化訓(xùn)練后實(shí)際使用效果指標(biāo)核心關(guān)注采納率=

(采納次數(shù)

/

結(jié)果展示次數(shù))*

100%代碼生成占比=

(aiXcoder生成字符數(shù)

/

編碼字符數(shù))

*

100%活躍用戶數(shù)=

一定周期內(nèi)有過(guò)插件使用記錄的用戶數(shù)量效能提升編碼提效率=

(aiXcoder

節(jié)省編碼時(shí)長(zhǎng)

/

理論手動(dòng)編碼時(shí)長(zhǎng))*100%代碼生成全鏈路CPO(CharacterperOpportunity)=

嘗試率

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論