程式碼高手的過節秘籍:CodeArt Snap幫寫程式碼,靈感彈指間實現

华为云开发者联盟發表於2024-06-07

本文分享自華為雲社群《【端午特輯】程式碼高手的過節秘籍:CodeArt Snap幫寫程式碼,靈感彈指間實現》,作者: 華為雲社群精選。

端午將至,粽葉飄香,你卻還在為一行行程式碼頭疼?與bug纏鬥不休?

現在,基於盤古大模型技術打造的華為雲智慧開發助手CodeArts Snap, 一鍵生成高效程式碼,精準解決技術難題,讓你於談笑間輕鬆完成應用開發,秒變技術大牛:

“30秒寫出帶有視覺化介面的小遊戲”

“輕點滑鼠一鍵修復報錯的程式碼”

“打個響指,建立好單元測試用例”

……

只要開發工具選得好,端午節前下班早,快來免費體驗CodeArts Snap,盡情享受美好假期。

程式碼秒生成,註釋秒加上……為你提供“超級碼力”

源於華為自身的研發實踐,華為雲基於大模型技術,學習了1300多萬篇經典的技術文件、760億行精選程式碼,打造了智慧開發助手CodeArts Snap。它基於智慧生成和智慧問答兩大核心場景提供了支援多種主流IDE的外掛,覆蓋程式碼生成、研發知識問答、單元測試用例生成、程式碼解釋、程式碼註釋、程式碼翻譯、程式碼除錯等研發場景。

1、程式碼生成,編碼效率up

一句話實現函式級的多行程式碼生成,開發者僅需在定義好的函式註釋末尾敲下“Enter鍵”,CodeArts Snap將生成符合業務邏輯的完整函式程式碼。

在已有函式上文的場景下,還可以透過理解上文的語義和邏輯,自動進行行級程式碼生成。

在程式設計過程中,開發者難免會遇到卡殼的時候,此時CodeArts Snap在游標處會出現行中程式碼生成推薦,從游標乍現處捕捉每一次程式設計靈感。

2、研發知識問答,智慧秒答

無論是被各種協議、命令繞暈的程式設計師菜鳥,還是久經戰場的IT大神。在編寫程式碼時,都會遇到不明白的語法或者不知道如何實現某個功能。有了AI開道的CodeArts Snap,就像是一個學富五車的學者,在研發知識問答上所向披靡。開發者只需在對話方塊內輸入問題,打個響指的功夫就有答案,再也無需擔心研發路上的疑難雜症。

3、單元測試用例生成,讓程式碼穩如泰山

為了確保程式碼能正常執行,開發者需要給寫好的程式碼做“體檢”——手動建立不同場景下的測試用例。但考慮到緊張的開發週期,他們往往沒有足夠的時間編寫單元測試用例,即便編寫了也是漏洞百出,出現測試覆蓋率低、可靠性不強等問題。像打地鼠一樣 這邊打下去一個bug那邊又冒上來一個。

CodeArts Snap的單元測試用例生成讓開發者告別繁雜的手動編寫,透過開發者提供的程式碼結構和功能,自動建立單元測試用例,提高測試覆蓋率,確保每個功能和場景都被測試到。

4、程式碼解釋,專治“閱讀困難症”

很多開發者在學習一門新的程式語言或技術時,總是會為遇到不熟悉的程式碼而愁斷腸,或者在團隊協作中因為難以理解其他同事寫的程式碼而淚兩行。CodeArts Snap的程式碼解釋專治“閱讀困難症”。只要選中看不懂的程式碼,就能實現快速分析程式碼並自動生成詳細的解釋文件。

5、程式碼註釋,可讀性up

在團隊協作或者維護其他同事程式碼的時候,常常會對於某段程式碼的作用和邏輯一頭霧水,CodeArts Snap可以為你看不懂的程式碼自動生成完整註釋,說明程式碼的功能、邏輯以及注意事項,增加程式碼可讀性。

6、程式碼除錯,bug無處遁形

辛辛苦苦寫了半天程式碼,一鍵執行出現一堆報錯,這可能是很多開發者的噩夢。Codearts Snap可以根據執行程式碼報錯的日誌一鍵修復程式碼,選中報錯的程式碼行,將報錯日誌填入,它即可根據日誌生成可供參考的正確程式碼,一鍵修復程式碼。

比其他AI輔助編碼工具更好用,CodeArts Snap技術大揭秘

根據CSDN釋出的《AI開發者生態報告》,開發者主要將程式碼生成工具用於簡化工作流程中,其中對程式碼生成質量的要求較高,其次是註釋的可解釋性,程式碼的生成速度等等。

而華為雲CodeArts Snap的“全場景程式碼智慧生成”能力,其核心技術沉澱於華為雲PaaS技術創新Lab與華為諾亞方舟實驗室聯合打造的PanGu-Coder程式碼大模型中。對比業界,CodeArts Snap所採用的模型在使用相對更少的訓練資料和計算資源的情況下,程式碼生成一次透過率大幅超越同等規模的模型,甚至可以做到遠超引數量規模更大的模型。

提升模型程式碼生成能力最有潛力的方向之一是強化學習,針對現有基於強化學習的方法(如CodeRL,PPOCoder,RLTF等)所存在的問題(如反饋訊號稀疏、演算法實現複雜、訓練過程不穩定等),2023年,華為雲、中國科學院和北京大學的研究者聯合帶來了更強大的程式碼大模型PanGu-Coder2,提出了一種高效且通用的方法RRTF(Rank Responses to align Test&Teacher Feedback)來激發大規模預訓練模型的程式碼生成能力, 透過對模型不同的響應進行排序來使模型輸出機率同時與測試結果和人類偏好對齊,避免了複雜的強化學習實現和訓練過程,對訓練資料和訓練資源的要求顯著降低。該模型在多個評測資料集上均取得了當前百億級程式碼大模型中最好的效果。

在此基礎之上,Codearts Snap擁有著更高的程式碼生成準確率,大幅度提升了開發者的編碼效率。同時它背後還擁有著研發資料越練越高質、模型越用越聰明、模型越聽越明白這三大特性:

1套研發工具+2個自動化工具+3項軍規基本法,研發資料“越練越高質”

汲取30年ICT研發經驗,CodeArts研發工具鏈沉澱了華為研發後設資料,加成自動化資料清洗平臺和自動化資料清洗平臺,經過《華為研發大模型語料質量基本法V1.0》、《華為研發大模型資料清洗基本法V1.0》、《華為研發大模型評測基本法V1.0》的軍規歷練,內含1000+程式碼檢查規則,100+准入門禁等規則, 從1.5萬億token海量研發資料中,抽取出500億高質量研發訓練資料。

強化訓練+評價反饋,模型“越用越聰明”

透過構造特殊的微調資料來增強模型的元能力(自糾正、反思、有害判斷等),從而提升研發大模型在程式碼生成特性上的準確率。在業界公認的程式碼評測集上,研發大模型生成程式碼的正確性在數百億引數規模上達到業界第一。

自動補充背景資訊,模型“越聽越明白”

當使用者輸入的資訊通常較為簡略,它會利用API知識圖譜、知識庫檢索、以及程式碼上下文前處理,最終傳遞給大模型的內容資訊更加豐富。上下文資訊越完整,大模型更容易理解使用者輸入的資訊,實現模型“越聽越明白”。

與此同時,由於生成的內容難以限制,一些“不安全”或者“不應該”出現在生成結果中的程式碼會出現在生成結果中,導致市場上各AI輔助編碼工具質量不一。CodeArts Snap在各階段均採取了針對性措施,有效規避了業界產品普遍帶來的程式設計安全隱患。例如為避免開原始碼帶來的系統性風險,在資料預處理階段,預訓練資料對可能產生問題的licence涉及的程式碼進行了精細的過濾,從根本上杜絕開源licence風險。

從申請到安裝,CodeArts Snap最全使用攻略

華為雲CodeArts Snap在華為公司內部上線以來,多個產品線軟體研發員工參與內測。目前已對外上線VSCode和JetBrains外掛市場,支援PyCharm、IntelliJ和VSCode等平臺。在 IDE 中安裝外掛並登入之後,只需透過簡單的點選或快捷鍵操作即可呼叫 CodeArts Snap 來完成任務。

CodeArts Snap 現在進入免費公測階段,後續將開啟商用,感興趣的小夥伴趕緊搶先體驗吧~

👉 公測申請入口

https://www.huaweicloud.com/product/codeartside/snap.html

👉 外掛安裝指導

✅ IntelliJ IDEA等平臺:https://support.huaweicloud.com/usermanual-devkit/devkit_005_002_001.html

✅ PyCharm:https://bbs.huaweicloud.com/blogs/400805

✅ VS Code IDE:https://support.huaweicloud.com/usermanual-devkit/devkit_005_002_002.html

👉 案例實踐

https://bbs.huaweicloud.com/forum/thread-02112122538157412015-1-1.html

👉 開發者體驗心得

🔥 以夢為馬,CodeArts Snap 縮短我與演算法的距離

🔥 使用CodeArts Snap幫助手搓Java程式碼:斐波那契數列

🔥 看看CodeArts snap如何解釋畢昇JDK如何進行快速反序列化

免費體驗CodeArts Snap,贏開發者大禮包

現在去各大外掛市場下載CodeArts Snap,分享你使用它實現程式碼生成、程式碼除錯、程式碼註釋等功能的體驗,將有機會贏取開發者精美大禮包。快來解放生產力,讓你的開發靈感“彈指間”實現。👉點選連結 參與。

cke_66080.png

HDC 2024,6月21日-23日,東莞松山湖,期待與您相見!

更多詳情請關注官網:

中文:https://developer.huawei.com/home/hdc

英文:https://developer.huawei.com/home/en/hdc

點選關注,第一時間瞭解華為雲新鮮技術~

相關文章