CodeArts Snap:辅助你编程的神器
本文分享自華為云社區《華為云發布智能編程助手 CodeArts Snap!》,作者:DevAI 。
基于大模型的程序自動生成取得重大突破
數字時代競爭激烈,應用研發效率提升在企業競爭力構建中扮演著重要角色。2022 年 Gartner 選出 12 大戰略性技術中最強的 AI 技術之一 “生成式 AI”,其巨大的商業潛力引起科技市場普遍關注,涌現出一批以智能化代碼生成為核心的提高開發者編程效率的 AI 產品。
例如,微軟以 OpenAI 大規模代碼預訓練生成模型 Codex 為底座的 AI 輔助編程工具 Github Copilot,一經推出受到業界熱評。Github 聲明內部團隊 30% 的新代碼是在 Copilot 的幫助下完成的;另外,在寫 web 服務端的對比實驗中發現,使用 AI 輔助編程工具的一方平均可減少 55% 的開發時間。可見,AI 輔助編程工具對減輕研發人員工作壓力、降低企業研發投入成本、提高編程效率都有著重要價值。
但與此同時,由于生成的內容難以限制,一些 “不安全” 或者 “不應該” 出現在生成結果中的代碼會出現在生成結果中,導致市場上各 AI 輔助編程工具質量不一,部分廠商的 AI 輔助編程工具所生成的代碼 40% 左右存在網絡安全缺陷,出現隱私泄漏、開源風險等問題。
國產最強 AI 代碼輔助編程工具 - 華為云 CodeArts Snap
華為云智能編程助手 CodeArts Snap 作為云廠商中首個國產化的 AI 代碼輔助編程工具,致力于打造現代化開發新范式。通過將自然語言轉化為規范可閱讀、無開源漏洞的安全編程語言,提升開發者編程效率,助力企業快速響應市場需求;下面用 3 分鐘向大家揭曉華為云 CodeArts Snap 強在哪里。
規避開源風險 | 杜絕業界普遍存在的編程安全隱患
華為云 CodeArts Snap 在各階段均采取了針對性措施,有效規避了業界產品普遍帶來的編程安全隱患。例如為避免開源代碼帶來的系統性風險,在數據預處理階段,預訓練數據對可能產生問題的 licence 涉及的代碼進行了精細的過濾,從根本上杜絕開源 licence 風險,并會盡可能的從多種渠道獲取可用的開源數據(如 Gitee 等)。
支持多種場景 | 帶你感知代碼智能生成的全場景化
我們驚喜地發現,華為云 CodeArts Snap 不僅熟悉常見算法,并且能熟練地使用各種 API 及其它工具;比如能夠操作數據庫,甚至可以求解高等數學題。華為云 CodeArts Snap 在形形色色任務中的出彩表現,使得其成為編程人員的得力助手。
場景一。函數級代碼自動生成
可以通過自然語言識別做到函數級的多行代碼生成,開發者僅需在定義好的函數簽名末尾處敲下 “回車鍵”,CodeArts Snap 將生成符合業務邏輯的完整函數代碼(如下圖)。
函數級代碼自動生成
場景二。承上文語義,展智能風采
CodeArts Snap 在已有函數上文的場景下,還可以通過理解上文的語義和邏輯,自動進行行級代碼生成(如下圖)。
行級代碼自動生成
場景三。從光標乍現處捕捉一次編程靈感
在編程過程中,開發者難免會遇到卡殼、停下來思考。此時 CodeArts Snap 在光標處會進行行中代碼生成推薦,為開發者提供編程靈感。
光標處代碼生成推薦
場景四。讓代碼生成不止于一個結果方案
每次觸發代碼生成,CodeArts Snap 會提供多個生成結果方案,開發者可以通過快捷鍵快速翻閱,也可以調取側邊欄對比查看所有候選代碼生成推薦結果,并對結果進行選擇。
快速翻閱比對候選代碼生成結果
同時查看
圈點皆厚重,呈現即亮眼 | 同規模同算力下一次通過率(Pass@1)業界第一
華為云 CodeArts Snap “全場景代碼智能生成” 能力向大家的亮眼呈現,其核心技術沉淀于華為云 PaaS 技術創新 lab 與華為諾亞方舟實驗室聯合打造的 PanGu-Coder 代碼大模型中;華為在業界 PanGu-Coder 技術基礎上,對模型方面進行了重點優化調整。
比如,針對函數級的代碼生成與補全任務,CodeArts Snap 分別發布了參數量為 3 億和 26 億兩個規模可用的生成功能。當給定函數名并用自然語言描述需要實現的功能后,模型即可生成完整的函數功能代碼。
對比業界,華為云 CodeArts Snap 所采用的模型在使用相對更少的訓練數據和計算資源的情況下,代碼生成一次通過率大幅超越同等規模的模型,甚至可以做到遠超參數量規模更大的模型。華為云 CodeArts Snap 所采用的模型在保障了較強的泛化性能的同時,也大幅降低了研發團隊開發成本和縮短產品研發周期,為快速部署應用帶來更多的可能性。
附:表 1 與表 2 分別給出了 CodeArts Snap 所采用的模型(PanGu-Coder)在 OpenAI Codex 發布的 Python 程序生成評測數據集 HumanEval 以及谷歌發布的 MBPP 兩個函數級代碼生成任務的數據集上的表現:
表 1 PanGu-Coder 在 HumanEval 上的一次通過率以及十次通過率
表 2 PanGu-Coder 在 MBPP 上的一次通過率以及十次通過率
邀測開放,即刻掃碼體驗!
華為內部研發對 CodeArts Snap 期待已久,一經上線就獲得多個產品線的關注及積極試用。華為云 CodeArts Snap 目前已對外上線 VSCode 和 JetBrains 插件市場,支持 Python 和 Java,支持 PyCharm、IntelliJ 和 VSCode。現處于限時邀測階段,感興趣的小伙伴們快來掃碼體驗一下吧!
文章來自:PaaS 技術創新 Lab;PaaS 技術創新 Lab?隸屬于華為云,致力于綜合利用軟件分析、數據挖掘、機器學習等技術,為軟件研發人員提供下一代智能研發工具服務的核心引擎和智慧大腦。我們將聚焦軟件工程領域硬核能力,不斷構筑研發利器,持續交付高價值商業特性!加入我們,一起開創研發新 “境界”!
PaaS技術創新Lab主頁鏈接:PaaS技術創新Lab-華為云
相關鏈接:
【1】CodeArts Snap以IDE插件的形式提供服務,歡迎感興趣的小伙伴點擊https://devcloud.cn-north-4.huaweicloud.com/codeartssnap/apply注冊使用!
【2】CodeArts Snap支持VSCode插件市場,詳情請查看:https://marketplace.visualstudio.com/items?itemName=HuaweiCloud.vscode-codebot
點擊關注,第一時間了解華為云新鮮技術~
總結
以上是生活随笔為你收集整理的CodeArts Snap:辅助你编程的神器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 室内设计属计算机专业吗,室内设计技术专业
- 下一篇: Spring Bean的生命周期(二)