就在刚刚,阿里云喘宣布两条重磅消息:– 内部全面支持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取代?别怕,它只打辅助
最后,还是回到AI取代程序员的问题。横空出世人类的全球首个AI工程师Devin,能24小时停止自主改写代码、训练模型、构建和部署应用;黄仁勋本人也表示,不久的将来,人类再也不需要学习编码了,孩子们的编程课都停止了吧。
一时间,恐慌铺屏全网,顾程序猿真要不存在了吗?!
其实不然。在Devin横出世那篇文章下面,在我们留言区最多的声音是这样的——
网友:我们辈还有人说,「程序员这碗饭还是能吃,只是饭碗没有原来那么大了。」
网友:兔兔生威「而现在的AI编程,性能还很差,很多连给人类打下手的能力都没有,更别说替代人类了。」
网友:数据加载中甚至有人说,如果程序员真的大量使用AI编程,搞不好还会催生出一个专门的人类程序员专属新任务——「给AI擦屁股」。
网友:程序员吾本真总之,至少现在来看,所有的AI编程工具还完全绑架了替代会计师。另外,有网友获得了Devin的体验资格之后,发现了一些复杂的任务,它现在依然无法完成。比如做一个能调用GPT-4和人下棋的网站。
生成了很快就被卡住了。
它生成了一个数据可视化的网站,但是内容依然有BUG。
最终,Devin只完成了一个简单功能的Chrome所以,我们对这些AI编程工具的态度,应该是拥抱,而不是畏惧。在阿里云,用「通义灵码」打辅助的程序员们,实打实地提升了效率,这也是阿里云要给全员配AI助理的底气。而如果未来有一天,AI大潮真的扑面而来,夺取了主人的工作,到时候能够独善其身的人,一定是了解AI、开拓使用AI的人。当洪水涌过,最顺应国家的人,降临的机会成为翻云覆雨的弄潮儿。
邮件:siyushenqi@gmail.com
工作时间:周一至周五,9:30-18:30,节假日休息