就在刚刚,阿里云一口气宣布两个重磅消息: - 内部全面推行AI编程; - 「通义灵码」正式入职成为程序员的AI助理。 虽然最近AI程序员可以说是科技圈的顶流,AI编程工具作为程序员的外挂,并不是什么新鲜事。 但阿里云这次官方宣布全员使用AI,堪称一次突破性的尝试。 有趣的是,阿里云在仪式感上也拉满了,通义灵码不仅有自己的头像,甚至还有自己的工号——AI001。 诶,难道说人类程序员真的要被AI取代么? 放心,「通义灵码」不是来取代你们的,而是来加入你们的。
首个AI编程程序员入职阿里
帮助人类程序员完成真实世界的工作,通义灵码真的靠谱吗? 其实,通义灵码早在去年云栖大会正式亮相,发布后仅一周通义灵码就稳居主流开发工具VSCode插件市场热榜,时隔数月,它在技术和功能上全面升级,经历了20多个版本的迭代。 如今全新升级的模型,在HumanEval等榜单处于业界第一梯队,已熟练掌握200+种编程语言,它的下载量更是突破了200万,是当之无愧的国民AI编程工具。 下面就是一份通义灵码的简历,请查收! 例如,在最基础的代码生成任务中,它能根据上下文自适应生成精准代码,运用实时分析与检索增强技术消除幻觉,真正做到秒懂程序员的需求。 在最新的版本中,通义灵码还新增了代码优化功能,能够深入分析代码及上下文,快速定位语法错误、性能瓶颈等问题,并给出具体优化代码建议。 想要上传一个excel文件?灵码能根据上下文自动续写,帮你写代码 它还能帮你写单元测试,支持多种框架 懒得写代码注释?就交给它吧,方法和行间注释一键生成 bug找不出?让它给你一键排查,识别报错原因后,直接生成建议代码 一句话,程序员写代码过程中的种种难题,它都能解决! 值得一提的是,「通义灵码」每天都会有数百万行的代码被程序员采纳,推理次数更是超过了两千万次,可以说是国内最受欢迎的AI编程工具之一了。 话不多,我们就来看看「通义灵码」到底能做些什么?
解释遗留代码
毫无疑问,最能「薅秃」开发者头发的问题之一,就是处理前人留下来的「屎山」了…… 就比如下面这个。 就算代码不再维护、更新了,也还是需要从中逆向工程,推出业务模型、交互和规则,再重新构建代码和数据模型。 没关系,「通义灵码」来帮你解决。 召唤「通义灵码」,选择解释代码功能。 一眨眼的功夫,这段代码的解释,就出现了!大幅提升了开发者们读代码的效率。
开发
代码优化
在前端开发中,开发者们经常会遇见繁琐复杂的编程任务,绞尽脑汁去优化代码结构。 而这个问题对「通义灵码」来说,可谓so easy! 新增的「代码优化」功能,可以深入分析代码上下文,快速锁定语法错误、性能瓶颈……总之,你头疼的绝大多数问题,它都能解决。 举个栗子,选中下图右栏中Java编写的一段代码,然后选择编码任务——代码优化。 「通义灵码」看完这串代码后,分析得出:这创建的是一个CloseableHttpClient的实例代码。然后使用这一实例发送30个HTTP GET请求,每个请求间隔5秒。同时代码中打印了每次请求所需要的耗时,并计算了这些耗时90分位数(P90)。随后,它就列出了代码中需要优化的点,包括重复代码、资源管理、异常处理等等。 提出建议的同时,「通义灵码」还一步到位给出了具体优化后的Java代码。 在下图中,中间标红区域都是源代码被修改的内容,右边绿色即为优化后的代码,看完就是四个字——赏心悦目。 最后,「通义灵码」就整体优化版本的调整,做了一个整体总结。 就这样,开发者不仅提升了代码质量,还节约出大量时间,可以摸鱼充电了。
代码补全
对于程序员来说,代码续写是再熟悉不过的功能了,毕竟主流开发工具早已自带了代码补全功能。 只不过,这个准确率属实有点下饭…… 现在,AI编程工具终于重新定义代码补全功能了,「通义灵码」可以通过感知上下文,来续写代码,将代码准确率提升带了一个新的台阶。 当然,它续写的代码中,也不排除会存在某些问题,这时候就需要我们人类程序员手动修改了,这就是咱们人类程序员不可替代的价值。数据库
在数据库问题上,我们也可以直接向它提问。 比如,想用数据库来存储照片,该怎么做? 它会回答说:可以使用关系型数据库(RDBMS)或非关系型数据库(NoSQL)来存储照片。 并且,它还给出了具体示例。测试
生成测试框架
前端的开发者们编写代码离不开AI编程工具,对于后端测试团队们同样如此。 众所周知,用例的设计对于测试工作来说至关重要,其中,测试数据的数量和质量更是会直接影响测试的覆盖率。 但问题在于,收集各种各样的测试用例不仅耗时,而且成本极高。 现在,有了大模型加持的「通义灵码」,我们便可以直接让它给出「RobotFramework的Hello world示例」。 然后,就可以坐等答案了。为老代码生成单元测试
很多公司上了代码质量管控的指标,会考评各个项目的单元测试覆盖率。 很多老项目老代码,或者着急交付的项目,单元测试严重缺失。 而用通义灵码来对老代码进行单元测试,效率非常高。 这种流程化的内容交给AI来完成就非常的舒服。 它可以自动生成多种框架单元测试,为程序员节省不少时间。运行调试错误
虽然AI工具不会主动写BUG,但是人类程序员难免犯错。所以代码调试,是程序员们开发过程中不可或缺的一环。 程序中有什么bug,如何修复,很多时候都得需要调试来发现。 然而,调试过程遇到的错误,怎么办? 放心,交给「通义灵码」来解决! 如下图所示,它可以帮我们运行调试错误。运维
编写运维脚本
除此之外,做运维的童鞋也可以让「通义灵码」帮忙编写一个脚本。 比如向它提问:「一个Web程序运行的环境,需要安装哪些依赖服务?」 它会立刻告诉你——1. 服务器:Web程序需要在服务器上运行,可以选择Apache、Nginx、IIS等Web服务器。 2. Web框架:根据Web程序的开发语言选择相应的Web框架,如Django(Python)、Ruby on Rails(Ruby)、Express(JavaScript)等等。 3. 数据库:根据Web程序的需求选择相应的数据库,如MySQL、PostgreSQL、MongoDB等。 4. 前端框架和库:根据Web程序的需要选择相应的前端框架和库,如React、Angular、Vue.js等。 5. 编译器或解释器:根据Web程序的开发语言选择相应的编译器或解释器,如Python解释器、Java虚拟机等。然后,它在右边会自动为你生成以上依赖服务的安装命令。
查找运维问题解决方案
运维过程中出现问题,不要愁。 直接问它:无法用SSH连接Ubuntu下面的ECS实例,该怎么办? 它立马告诉你,请按照以下这些步骤进行排查。 不知道相应的检测命令? 直接问它,答案就在眼前——程序猿是否会被AI取代?别怕,它只打辅助