本文分享自华为云社区《华为云发布智能编程助手CodeArtsSnap!云社区华为云》,作者:DevAI。基于大模型的程序自动生成取得重大突破 数字时代竞争激烈,应用研发效率提升在企业竞争力构建中扮演着重要角色。2022年Gartner选出12大战略性技术中最强的AI技术之一生成式AI,其巨大的商业潜力引起科技市场普遍关注,涌现出一批以智能化代码生成为核心的提高开发者编程效率的AI产品。 例如,微软以OpenAI大规模代码预训练生成模型Codex为底座的AI辅助编程工具GithubCopilot,一经推出受到业界热评。Github声明内部团队30的新代码是在Copilot的帮助下完成的;另外,在写web服务端的对比实验中发现,使用AI辅助编程工具的一方平均可减少55的开发时间。可见,AI辅助编程工具对减轻研发人员工作压力、降低企业研发投入成本、提高编程效率都有着重要价值。 但与此同时,由于生成的内容难以限制,一些不安全或者不应该出现在生成结果中的代码会出现在生成结果中,导致市场上各AI辅助编程工具质量不一,部分厂商的AI辅助编程工具所生成的代码40左右存在网络安全缺陷,出现隐私泄漏、开源风险等问题。国产最强AI代码辅助编程工具华为云CodeArtsSnap 华为云智能编程助手CodeArtsSnap作为云厂商中首个国产化的AI代码辅助编程工具,致力于打造现代化开发新范式。通过将自然语言转化为规范可阅读、无开源漏洞的安全编程语言,提升开发者编程效率,助力企业快速响应市场需求;下面用3分钟向大家揭晓华为云CodeArtsSnap强在哪里。规避开源风险杜绝业界普遍存在的编程安全隐患 华为云CodeArtsSnap在各阶段均采取了针对性措施,有效规避了业界产品普遍带来的编程安全隐患。例如为避免开源代码带来的系统性风险,在数据预处理阶段,预训练数据对可能产生问题的licence涉及的代码进行了精细的过滤,从根本上杜绝开源licence风险,并会尽可能的从多种渠道获取可用的开源数据(如Gitee等)。支持多种场景带你感知代码智能生成的全场景化 我们惊喜地发现,华为云CodeArtsSnap不仅熟悉常见算法,并且能熟练地使用各种API及其它工具;比如能够操作数据库,甚至可以求解高等数学题。华为云CodeArtsSnap在形形色色任务中的出彩表现,使得其成为编程人员的得力助手。场景一。函数级代码自动生成 可以通过自然语言识别做到函数级的多行代码生成,开发者仅需在定义好的函数签名末尾处敲下回车键,CodeArtsSnap将生成符合业务逻辑的完整函数代码(如下图)。 函数级代码自动生成场景二。承上文语义,展智能风采 CodeArtsSnap在已有函数上文的场景下,还可以通过理解上文的语义和逻辑,自动进行行级代码生成(如下图)。 行级代码自动生成场景三。从光标乍现处捕捉一次编程灵感 在编程过程中,开发者难免会遇到卡壳、停下来思考。此时CodeArtsSnap在光标处会进行行中代码生成推荐,为开发者提供编程灵感。 光标处代码生成推荐场景四。让代码生成不止于一个结果方案 每次触发代码生成,CodeArtsSnap会提供多个生成结果方案,开发者可以通过快捷键快速翻阅,也可以调取侧边栏对比查看所有候选代码生成推荐结果,并对结果进行选择。 快速翻阅比对候选代码生成结果 同时查看圈点皆厚重,呈现即亮眼同规模同算力下一次通过率(Pass1)业界第一 华为云CodeArtsSnap全场景代码智能生成能力向大家的亮眼呈现,其核心技术沉淀于华为云PaaS技术创新lab与华为诺亚方舟实验室联合打造的PanGuCoder代码大模型中;华为在业界PanGuCoder技术基础上,对模型方面进行了重点优化调整。 比如,针对函数级的代码生成与补全任务,CodeArtsSnap分别发布了参数量为3亿和26亿两个规模可用的生成功能。当给定函数名并用自然语言描述需要实现的功能后,模型即可生成完整的函数功能代码。 对比业界,华为云CodeArtsSnap所采用的模型在使用相对更少的训练数据和计算资源的情况下,代码生成一次通过率大幅超越同等规模的模型,甚至可以做到远超参数量规模更大的模型。华为云CodeArtsSnap所采用的模型在保障了较强的泛化性能的同时,也大幅降低了研发团队开发成本和缩短产品研发周期,为快速部署应用带来更多的可能性。 附:表1与表2分别给出了CodeArtsSnap所采用的模型(PanGuCoder)在OpenAICodex发布的Python程序生成评测数据集HumanEval以及谷歌发布的MBPP两个函数级代码生成任务的数据集上的表现: 表1PanGuCoder在HumanEval上的一次通过率以及十次通过率 表2PanGuCoder在MBPP上的一次通过率以及十次通过率邀测开放,即刻扫码体验! 华为内部研发对CodeArtsSnap期待已久,一经上线就获得多个产品线的关注及积极试用。华为云CodeArtsSnap目前已对外上线VSCode和JetBrains插件市场,支持Python和Java,支持PyCharm、IntelliJ和VSCode。现处于限时邀测阶段,感兴趣的小伙伴们快来扫码体验一下吧! 文章来自PaaS技术创新Lab;PaaS技术创新Lab隶属于华为云,致力于综合利用软件分析、数据挖掘、机器学习等技术,为软件研发人员提供下一代智能研发工具服务的核心引擎和智慧大脑。我们将聚焦软件工程领域硬核能力,不断构筑研发利器,持续交付高价值商业特性!加入我们,一起开创研发新境界!(详情欢迎联系mayuchi1huawei。com;guodongshuohuawei。com) PaaS技术创新Lab主页链接:https:www。huaweicloud。comlabpaashome。html 相关链接: 【1】CodeArtsSnap以IDE插件的形式提供服务,欢迎感兴趣的小伙伴点击https:devcloud。cnnorth4。huaweicloud。comcodeartssnapapply注册使用! 【2】CodeArtsSnap支持VSCode插件市场,详情请查看:https:marketplace。visualstudio。comitems?itemNameHuaweiCloud。vscodecodebot 点击下方,第一时间了解华为云新鲜技术 华为云博客大数据博客AI博客云计算博客开发者中心华为云 华为云开发者联盟