InfoQ 推荐 ( ) • 2024-06-11 18:36

本文分享自华为云社区《【端午特辑】代码高手的过节秘籍:CodeArt Snap帮写代码,灵感弹指间实现》",作者: 华为云社区精选。

端午将至,粽叶飘香,你却还在为一行行代码头疼?与bug缠斗不休?

现在,基于盘古大模型技术打造的华为云智能开发助手CodeArts Snap, 一键生成高效代码,精准解决技术难题,让你于谈笑间轻松完成应用开发,秒变技术大牛:

“30秒写出带有可视化界面的小游戏”

“轻点鼠标一键修复报错的代码”

“打个响指,创建好单元测试用例”

……

只要开发工具选得好,端午节前下班早,快来免费体验CodeArts Snap,尽情享受美好假期。

代码秒生成,注释秒加上……为你提供“超级码力”

源于华为自身的研发实践,华为云基于大模型技术,学习了1300多万篇经典的技术文档、760亿行精选代码,打造了智能开发助手CodeArts Snap。它基于智能生成和智能问答两大核心场景提供了支持多种主流IDE的插件,覆盖代码生成、研发知识问答、单元测试用例生成、代码解释、代码注释、代码翻译、代码调试等研发场景。

1、代码生成,编码效率up

一句话实现函数级的多行代码生成,开发者仅需在定义好的函数注释末尾敲下“回车键”,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,分享你使用它实现代码生成、代码调试、代码注释等功能的体验,将有机会赢取开发者精美大礼包。快来解放生产力,让你的开发灵感“弹指间”实现。👉点击链接" 参与。

点击关注,第一时间了解华为云新鲜技术~"