北京时间 8 月 15 日,科大讯飞于合肥滨湖会展中心举行星火认知大模型 V2.0 升级发布会,重磅官宣代码能力升级了 5 项关键能力,除了常见的代码生成与补齐、纠错之外,还有代码解释和单元测试生成。而这所有的能力,都可以在讯飞发布的全新的智能编程助手 iFlyCode 中使用。
为什么要将代码能力升级摆在第一位?科大讯飞董事长刘庆峰向 CSDN(ID:CSDNnews)表示:“代码能力对于各行业的赋能是直接且刚性的。代码既是链接数字世界的关键支撑,同时也是降低创业者的门槛的重要工具,不用人人都是编程高手,只要发挥自己的想象力、基于对应用场景的认知,就可以提升开发效率、实现相关创业。中国无论是软件产业还是数字经济发展,如果在大模型时代不把代码能力提升到国际领先水平,那么国民生产效率一定无法和国际巨头比肩,所以我觉得这件事情很关键。其次,代码能力的演示也相对更简单直观,综合考虑将代码放在了多模态的前面。”
那么,星火的代码能力实现到了什么程度,刘庆峰表示,在测试中,代码生成和补齐维度上已经超过了 ChatGPT,而讯飞星火代码各维度的能力将在今年 10 月 24 日实现全面超越 ChatGPT,明年上半年将对标 GPT-4。
而对于编程助手 iFlyCode 是不是对标 GitHub Copilot?科大讯飞研究院院长刘聪向 CSDN 坦言:“当前代码助手产品都是基于 Copilot 的机制,可以理解为对标 Copilot 的逻辑”。
接下来,就让我们一起来看,星火大模型对代码能力的升级实际如何,开发者们究竟可以如何使用起来从而达到「10 倍工程师」的效果。
代码生成和补齐上已超越 ChatGPT,明年对标 GPT-4!
在此前星火大模型刚刚发布时,它生成的代码,复数类的代码基本实现正确,但测试用例没有一次性生成完整。而到今天,三个月过去,星火的代码能力距离真实的生产环境使用更近一步。
此次讯飞星火 2.0 对代码能力进行了 5 个维度的升级,代码生成和补齐自不必说,在代码纠错上,能够定位拼写、语法和逻辑错误,还支持一键修改;而对程序员们而言,比写代码更头疼的读代码在这里有了更好的体现,星火的「代码解释」功能,只要选中一段代码,就可以直接给出详细的解读。在单元测试生成方面,只要选中代码,即可一键生成单测用例,智能生成单元测试数据。
现场体验区 iFlyCode 的展示
对程序员来讲,一向「Show me the code」至上。在刘聪的现场演示中,无论是写函数、用 Python 画爱心、做个贪吃蛇游戏,都能够迅速搞定。
笔者在实际测试中发现,星火生成代码速度很快,而且是可以直接运行的。但它在生成的过程中,要真正实现你想要的功能,要调整或尝试不同的 Prompt。七夕将近,还是用画爱心举例,Python 非常丝滑地 Run 出了爱心。
但切换到 Java 就失败了,并且尝试了好几种不同的 Prompt 还没有成功。下面给出一个星火明确说是一个可以绘制爱心形状的 Java 代码示例 Run 起来的样式:
当然,用 Java 来画爱心,使用 ChatGPT 也失败了(尽管在 Prompt 和 GPT 的回答里都明确说明了是绘制桃心型的代码示例):
在编程语言支持上,星火对于 Python 的支持能力非常显著。刘庆峰介绍,根据 OpenAI 构建的代码能力公开测试集 HumanEval,星火 V1.5 Python 的效果只有 41 分,V2.0 已经到了 61 分,接近 ChatGPT。根据认知智能国家重点实验室构建的代码的真实的场景使用的测试集,代码生成和补齐维度上已经超过了 ChatGPT。依然如之前的计划,讯飞星火代码各维度的能力将在今年 10 月 24 日实现全面超越 ChatGPT,明年上半年将对标 GPT-4。对此,刘庆峰表示,“当前对于代码能力的逻辑、算法、方法、体系、数据准备已经全部就绪,我们所需要的就是时间和算力,这些东西及算力正在补齐,在今年的 1024 上会看到更新的进展。”
那么,程序员们如何更好地来使用上星火的编程能力,iFlyCode 应运而生。
对标 Copilot,智能编程助手 iFlyCode 都带来了什么?
在 AI 编程上,当前能够看到较为普遍的两类,一类是以 GitHub Copilot 为代表的 IDE 集成,非常普遍,让程序员们在 IDE 内直接实现了编程的闭环,比如 GitHub Copilot Chat 可以让开发者们直接在编辑器里收获类似于 ChatGPT 的体验,与 VS Code、Visual Studio 深度整合,可以给开发者提供深入的分析,并能得到对于错误的修正建议,Google 的 Android Studio 也采用了集成的方式,以对话式编程助手「Studio Bot」来帮助 Android 程序员提升编程效率。还有一类是从 Chat 打通在线编程平台,比如 Google 的 Bard 直连 Colab。
我们看到讯飞所选择的是 IDE 集成,iFlyCode 以程序员们所熟悉的插件形式无缝融入,支持 5 种主流的 IDE。
在发布会现场,刘聪在集成了 iFlyCode 插件的 VS Code 里,通过几步 Prompt,没有写一行代码,就实现了用两个手指捏合就能写字的“凌空手写”功能。
根据讯飞内部研发效能平台对 2000 余名员工在一个月内测试使用 iFlyCode 1.0 的成效数据统计,在一些典型场景中,代码采纳率达 30%,编码效率提升 30%,综合效率提升 15%。
代码智能的迭代是迅猛的,正在极大地改变传统的编程方式,也许 Andrej Karpathy(OpenAI 科学家、曾任 Tesla AI 负责人)之前提出的「最好的编程语言是自然语言」离我们真的不远了。
同时和朋友们预告下,后续针对 iFlyCode 等智能编程助手,CSDN 还将为大家带来写代码实测以及代码任务评测,欢迎小伙伴们持续关注起来。
AI 编程对于开发者来说意味着什么?
在当前阶段,我们能够明确看到的是,AI 更进一步地成为了我们的编程助手。它在至少在这三方面对程序员的影响是巨大的。
能够解决一些可能需要搜索、查看很多资料才能找到答案的问题。多年以来,我们编程的场景一直会使用到大量的搜索,遇事不决问搜索,但很可能花费了大量的时间和精力,却只能查找到相关的解决方案,要解决问题还需要大量的调试和修改。而让程序员特别头疼的还有,搜索到的内容能够解决问题的往往会是那 5%-10%。而 AI 编程助手则能够很快速,而且相对精确地给我们答案,甚至是一段可以直接解决问题的代码。
还有一些编程上的体力活,比如需要写一些逻辑不复杂但代码量相对较大的活,可以直接抛给 AI 编程助手,从而实现编程效率的极大提升。此外,在写代码时,有时还会遇到一些不太好下手的代码,可以直接给 AI,让它去实现一些逻辑,可能会帮助开发者找到新思路。
那么,当「人人都是开发者」,编程的门槛进一步降低,对于开发者们来说,智能编程会让开发者的角色发生变化吗?未来,开发者的核心竞争力会体现在哪些方面?
刘聪这样和 CSDN 说道:“编程助手能够简化程序员的工作,提升生产效率,将开发者的精力释放出来,从而能够做更多的具有创造性的工作。”这也将是程序员们的不被取代的核心能力所在。
刘庆峰在现场讲了这样一句话——“未来不是属于 AI,而是属于掌握了 AI 的新人类”,我将其引申为:“未来不是属于 AI,而是属于掌握了 AI 的新程序员。”