2025代碼生成Copilot 大語言模型在真實開發(fā)場景下的實踐_第1頁
2025代碼生成Copilot 大語言模型在真實開發(fā)場景下的實踐_第2頁
2025代碼生成Copilot 大語言模型在真實開發(fā)場景下的實踐_第3頁
2025代碼生成Copilot 大語言模型在真實開發(fā)場景下的實踐_第4頁
2025代碼生成Copilot 大語言模型在真實開發(fā)場景下的實踐_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

代碼生成Copilot-大語言模型在真實開發(fā)場景下的實踐目錄代碼生成Copilot回顧&探索?業(yè)界代碼補全評估體系代碼補全未來:編輯推薦01代碼生成Copilot回顧&探索單擊此團處隊編輯標(biāo)題單擊產(chǎn)此品處形編態(tài)輯標(biāo)題

03單擊此低處延編時輯標(biāo)題

05單擊此模處型編輯標(biāo)題單擊提此示處工編程輯標(biāo)題04

單擊此交處互編輯標(biāo)題010206GitHub

Copilot成功因素GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

團隊GitHub

Copilot

孵化于GitHubNext

團隊,?個主要有程序分析和軟件?程研究員組成的研究型團隊,其?標(biāo)是探索未來的軟件研發(fā)?式,持續(xù)在關(guān)注通?代碼?成領(lǐng)域GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

模型2020

年6

?GPT-3

發(fā)布,GPT-3

在性能上的突?進(jìn)展讓GitHubNext

決定基于它構(gòu)建?款代碼智能產(chǎn)品,得益于微軟與OpenAI

的合作關(guān)系,

GitHub

和OpenAI

開始合作訓(xùn)練基于GPT-3

的代碼?語?模型Codex,并持續(xù)迭代其私有模型,提升代碼補全場景下的性能GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

產(chǎn)品形態(tài)GitHub

在體驗到GPT-3

后?先想到的是做?個ChatBot產(chǎn)品,但是經(jīng)過測試后發(fā)現(xiàn),雖然GPT-3

在某些題?上表現(xiàn)很驚艷,但是還是有很多時候給出毫?意義的答案,不符合這種產(chǎn)品形態(tài)對容錯率的要求,會讓開發(fā)者失去信任?;谀P偷哪?判斷,代碼補全是?種容錯率更?,更有?戶粘性的產(chǎn)品形態(tài)。GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

交互放棄從傳統(tǒng)IDE補全的下拉列表選擇交互,選擇了?

Ghost

Text

進(jìn)?展?,?Tab鍵進(jìn)?采納,繼續(xù)輸入則取消推薦。這種交互?式發(fā)揮了模型在多?補全上的優(yōu)勢,推薦代碼和已有代碼融為?體,?便開發(fā)者快速基于上下?判斷是否采納。GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

低延時&提示工程低延時:專業(yè)開發(fā)者的輸入速度通常較快, 過?的延遲會失去很多推薦的機會或者迫 使?戶停頓等待。GitHub

Copilot

在?

語?模型的推理速度和?程鏈路上進(jìn)?了優(yōu)化,做到500ms

左右的平均延遲提??程:如果基座模型決定了能?上限,那么提??程所做的就是去逼近這個上限。通過研究開發(fā)者?常開發(fā)中會關(guān)注的上下?,在prompt

中加入?件路徑、相似代碼、瀏覽記錄等信息,讓模型在代碼補全??的表現(xiàn)?幅提升GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

字節(jié)跳動代碼?成探索歷程預(yù)研2022

年初代碼智能團隊開始探索LLM

驅(qū)動的代碼補全產(chǎn)品基于開源LLM

模型構(gòu)建MVPGO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

內(nèi)場用戶增長構(gòu)建數(shù)據(jù)鏈路和線上A/B

測試體系逐漸切換到?系列?研代碼?語?模型產(chǎn)品體驗快速迭代組建算法、?程和產(chǎn)品?體的智能編程助?團隊?研代碼LLM

評測集和?動評測系統(tǒng)功能擴展引?基于對話的編程助?引?多點代碼編輯推薦功能難點?業(yè)界代碼補全評估體系評估代碼補全未來:編輯推薦創(chuàng)新GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

02?業(yè)界代碼補全評估體系HumanEval不是?個合適的評測指標(biāo)題?不匹配真實項?的代碼補全場景已有模型普遍存在HumanEval

數(shù)據(jù)泄漏的情況學(xué)術(shù)界/?業(yè)界刷分現(xiàn)象嚴(yán)重,分?jǐn)?shù)?不代表實際表現(xiàn)更好GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

構(gòu)建?研評測體系的重要性挑戰(zhàn)&難點01.場景單一評測集僅提供語句級、函數(shù)級或類級生成能力的模型評估。這些場景通常僅涉及生成單個代碼單元(如語句、函數(shù)或類)且獨立進(jìn)行GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

03.單測不充分HumanEval以單測通過率為評價指標(biāo),主要依賴測試用例評估模型生成代碼的正確性。然而,這些測試用例通常不足,即使在模型預(yù)測錯誤時,它們也可能通過。使得評測結(jié)果不置信02.缺乏倉庫級信息在RepoBench等倉庫級評測集中,雖然從代碼庫中構(gòu)建基準(zhǔn)測試案例,但未充分利用代碼庫中的豐富上下文信息進(jìn)行更好的模型預(yù)測。而這些信息已被流行的代碼補全工具所利用04.缺乏基準(zhǔn)測試與真實生產(chǎn)環(huán)境相關(guān)性研究目前尚無研究探討基準(zhǔn)測試結(jié)果中模型表現(xiàn)與實際生產(chǎn)環(huán)境的相關(guān)性,使得基準(zhǔn)測試的可用性和有效性尚不確定。題目構(gòu)建倉庫篩選GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

單測增強RepoMasterEvalWu,

Qinyun,

Chao

Peng,

Pengfei

Gao,

Ruida

Hu,

Haoyu

Gan,

Bo

Jiang,Jinhe

Tang

et

al.

"RepoMasterEval:

Evaluating

Code

Completion

via

Real-World

Repositories."

arXiv

preprint

arXiv:2408.03519

(2024).倉庫篩選真實性活躍且不斷更新的GitHub代碼倉庫作為基礎(chǔ)數(shù)據(jù)源,僅包含2023年3月之后創(chuàng)建的倉庫,盡量消除數(shù)據(jù)泄露風(fēng)險。GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

高質(zhì)量每個代碼倉庫必須至少獲得100顆星,確保其具備一定的社區(qū)認(rèn)可度和知名度。置信倉庫必須包含測試文件,并且經(jīng)過手動核實,確保其通過所有測試題目構(gòu)建運行環(huán)境配置覆蓋率解析補全位置提取知識點標(biāo)注Context提取目標(biāo)題目構(gòu)建GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

題目多樣性Language

Features2%Security

and

Privacy3%Data

Management

and

Analysis4%Natural

Language

Processing5%Data

Structures

andAlgorithms5%Multimedia

Processing2%Performance

Optimization1%Common

Tools26%Programming

Basics20%Server-side9%Front-end8%Databases7%Machine

Learning7%CppGO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

PythonGoTypeScript單測增強為了保證測試的充分性,我們對每個題目生成了變異測試(mutation

test),通過對題目中的代碼片段進(jìn)行不同的變形,檢驗是否需要補充單元測試。對于需要補充單測的題目,我們進(jìn)行人工補充,以確保測試的充分性,并提升評測集的置信度。使用mutation

testing的方法,為代碼片段生成有缺陷版本在這些缺陷版本上運行單測用例集對于單測用例集無法kill的缺陷版本,補充單測(GPT生成和人工標(biāo)注)重復(fù)2-3,直到全部缺陷版本都可以被kill為止GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

評測流程RepoMasterEvalDatasets沙箱環(huán)境配置模型預(yù)測結(jié)果單測執(zhí)行運行結(jié)果指標(biāo)計算知識點統(tǒng)計GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

03代碼補全未來:編輯推薦代碼補全/續(xù)寫的局限性代碼補全/續(xù)寫解決的是編寫全新代碼的問題。但作為軟件工程師,還有很大一部分時間我們所做的是編輯已存在的代碼,這里面包括新增、刪除、替換等操作,而當(dāng)前的代碼補全功能無法勝任這種任務(wù)。GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

代碼編輯推薦的概念開發(fā)者實現(xiàn)了一個

log

函數(shù),并在

do_something

do_something_else 兩個方法中調(diào)用GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

代碼編輯推薦的概念開發(fā)者為log函數(shù)增加了sourceMethod和level兩個參數(shù),用于打印日志觸發(fā)時所在的方法及日志級別。但是此時,開發(fā)者還需要要進(jìn)行一些列額外的修改!GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

代碼編輯推薦的概念開發(fā)者還需要在log函數(shù)中修改print語句打印新增的參數(shù),并在log函數(shù)的調(diào)用方中傳入額外的參數(shù)為何不讓AI幫你完成這?的操作?GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

數(shù)據(jù)構(gòu)建和模型訓(xùn)練方法數(shù)據(jù)構(gòu)建 Git倉庫中海量的commit歷史記錄是個巨大的數(shù)據(jù)寶庫,包含了豐富的用戶編輯行為信息Git

commit信息中的噪音也是很多的,需要構(gòu)造一系列的啟發(fā)式規(guī)則,用于提取出有關(guān)聯(lián)的修改記錄用戶在IDE使用過程產(chǎn)生的LintError信息和對應(yīng)修復(fù)模型訓(xùn)練基于代碼大語言基座模型通過CT和SFT模型能夠理解diff格式數(shù)據(jù)對于Lint

Error修復(fù)需要加入ErrorMessage需要通過SFT修正模型過度編輯的行為GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

落地場景GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

功能與交互演示批量修改GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

功能與交互演示下一步預(yù)測GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

功能與交互演示Lint

Error修復(fù)GO

P

S全球運維大會暨研運數(shù)智化技術(shù)峰會2024

·上海站

未來展望關(guān)于模型更?的上下??度?持,百K級別甚?M級別的?度維持?上下??持同時具備更快的推理速度模型不?定是標(biāo)準(zhǔn)的

Transformer架構(gòu)模型具備代碼編輯的能?關(guān)于產(chǎn)品形

溫馨提示

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

最新文檔

評論

0/150

提交評論