![](/web-v2/img/index/iconfen.png)
文章来源:新智元
【导读】阿里云最近入职的这位新员工,程序员们看了拍手叫好!每天,它都有数百万行代码被采用,单日推理次数超两千万。007敲代码,兢兢业业改bug,从不抱怨。它不抢程序员饭碗,主打辅助!
![](https://img.528btc.com.cn/2024/04/03/91757174527815f4018d192f6f011fa7.jpg)
就在刚刚,阿里云一口气宣布两个重磅消息:
- 内部全面推行AI编程;
- 「通义灵码」正式入职成为程序员的AI助理。
虽然最近AI程序员可以说是科技圈的顶流,AI编程工具作为程序员的外挂,并不是什么新鲜事。
但阿里云这次官方宣布全员使用AI,堪称一次突破性的尝试。
有趣的是,阿里云在仪式感上也拉满了,通义灵码不仅有自己的头像,甚至还有自己的工号——AI001。
![](https://img.528btc.com.cn/2024/04/03/62ba3578758cf9e2809acacbab8f18a2.jpg)
诶,难道说人类程序员真的要被AI取代么?
放心,「通义灵码」不是来取代你们的,而是来加入你们的。
首个AI编程程序员入职阿里
帮助人类程序员完成真实世界的工作,通义灵码真的靠谱吗?
其实,通义灵码早在去年云栖大会正式亮相,发布后仅一周通义灵码就稳居主流开发工具VSCode插件市场热榜,时隔数月,它在技术和功能上全面升级,经历了20多个版本的迭代。
如今全新升级的模型,在HumanEval等榜单处于业界第一梯队,已熟练掌握200+种编程语言,它的下载量更是突破了200万,是当之无愧的国民AI编程工具。
下面就是一份通义灵码的简历,请查收!
![](https://img.528btc.com.cn/2024/04/03/e43730efafde26fac152cc3dad86d1ce.jpg)
例如,在最基础的代码生成任务中,它能根据上下文自适应生成精准代码,运用实时分析与检索增强技术消除幻觉,真正做到秒懂程序员的需求。
在最新的版本中,通义灵码还新增了代码优化功能,能够深入分析代码及上下文,快速定位语法错误、性能瓶颈等问题,并给出具体优化代码建议。
![](https://img.528btc.com.cn/2024/04/03/eabf9bb61d94567ae22402861a5ae671.jpg)
想要上传一个excel文件?灵码能根据上下文自动续写,帮你写代码
![](https://img.528btc.com.cn/2024/04/03/f2dbd84694e5d7560a1c2dc7a4952356.jpg)
它还能帮你写单元测试,支持多种框架
![](https://img.528btc.com.cn/2024/04/03/b05a692e402c64ad36a82c89ecd01b7c.jpg)
懒得写代码注释?就交给它吧,方法和行间注释一键生成
![](https://img.528btc.com.cn/2024/04/03/f7c52ebc5e8c5ee60c75f35bec53db6b.jpg)
bug找不出?让它给你一键排查,识别报错原因后,直接生成建议代码
一句话,程序员写代码过程中的种种难题,它都能解决!
值得一提的是,「通义灵码」每天都会有数百万行的代码被程序员采纳,推理次数更是超过了两千万次,可以说是国内最受欢迎的AI编程工具之一了。
话不多,我们就来看看「通义灵码」到底能做些什么?
解释遗留代码
毫无疑问,最能「薅秃」开发者头发的问题之一,就是处理前人留下来的「屎山」了……
![](https://img.528btc.com.cn/2024/04/03/d0cf4befc9683254cd7d27bf85d661c1.jpg)
就比如下面这个。
![](https://img.528btc.com.cn/2024/04/03/371ebd3db25d83f6c35ef9630c0ee5fe.jpg)
就算代码不再维护、更新了,也还是需要从中逆向工程,推出业务模型、交互和规则,再重新构建代码和数据模型。
![](https://img.528btc.com.cn/2024/04/03/d19afe510d0e39a797fd6804d40c32e9.jpg)
没关系,「通义灵码」来帮你解决。
召唤「通义灵码」,选择解释代码功能。
![](https://img.528btc.com.cn/2024/04/03/a0314e8936b6936c254831156e46adde.jpg)
一眨眼的功夫,这段代码的解释,就出现了!大幅提升了开发者们读代码的效率。
![](https://img.528btc.com.cn/2024/04/03/20f893f567b9079bb164d2716ed5682a.jpg)
![](https://img.528btc.com.cn/2024/04/03/fcec6acd4b01a6f7c07cbc07caf56f61.jpg)
开发
代码优化
在前端开发中,开发者们经常会遇见繁琐复杂的编程任务,绞尽脑汁去优化代码结构。
![](https://img.528btc.com.cn/2024/04/03/f4577d80e0daadcfd8454c1ed19cb9cd.jpg)
而这个问题对「通义灵码」来说,可谓so easy!
新增的「代码优化」功能,可以深入分析代码上下文,快速锁定语法错误、性能瓶颈……总之,你头疼的绝大多数问题,它都能解决。
举个栗子,选中下图右栏中Java编写的一段代码,然后选择编码任务——代码优化。
「通义灵码」看完这串代码后,分析得出:
这创建的是一个CloseableHttpClient的实例代码。然后使用这一实例发送30个HTTP GET请求,每个请求间隔5秒。同时代码中打印了每次请求所需要的耗时,并计算了这些耗时90分位数(P90)。
随后,它就列出了代码中需要优化的点,包括重复代码、资源管理、异常处理等等。
![](https://img.528btc.com.cn/2024/04/03/d11e7150efadebfaf1b4d0a685243322.jpg)
提出建议的同时,「通义灵码」还一步到位给出了具体优化后的Java代码。
![](https://img.528btc.com.cn/2024/04/03/16e08c7d5da06d6f08b96f85505e0a29.jpg)
在下图中,中间标红区域都是源代码被修改的内容,右边绿色即为优化后的代码,看完就是四个字——赏心悦目。
![](https://img.528btc.com.cn/2024/04/03/c166dd70e5d98b7db29127316430bca4.jpg)
最后,「通义灵码」就整体优化版本的调整,做了一个整体总结。
就这样,开发者不仅提升了代码质量,还节约出大量时间,可以摸鱼充电了。
![](https://img.528btc.com.cn/2024/04/03/f877d9856605da906f1516ee78e06be2.jpg)
![](https://img.528btc.com.cn/2024/04/03/99a33493642382d95bdb1d72de1474a4.jpg)
代码补全
对于程序员来说,代码续写是再熟悉不过的功能了,毕竟主流开发工具早已自带了代码补全功能。
只不过,这个准确率属实有点下饭……
现在,AI编程工具终于重新定义代码补全功能了,「通义灵码」可以通过感知上下文,来续写代码,将代码准确率提升带了一个新的台阶。
![](https://img.528btc.com.cn/2024/04/03/f668ade8e8ca8c382c4a60078eb02250.jpg)
当然,它续写的代码中,也不排除会存在某些问题,这时候就需要我们人类程序员手动修改了,这就是咱们人类程序员不可替代的价值。
![](https://img.528btc.com.cn/2024/04/03/b541d6f81a2a95f6c3c52d664f3a1e4e.jpg)
数据库
在数据库问题上,我们也可以直接向它提问。
比如,想用数据库来存储照片,该怎么做?
它会回答说:可以使用关系型数据库(RDBMS)或非关系型数据库(NoSQL)来存储照片。
![](https://img.528btc.com.cn/2024/04/03/03edd13fae1d05c34bd6bf057038d862.jpg)
并且,它还给出了具体示例。
![](https://img.528btc.com.cn/2024/04/03/499f4032684c5f483d1122a8bd123ba2.jpg)
测试
生成测试框架
前端的开发者们编写代码离不开AI编程工具,对于后端测试团队们同样如此。
众所周知,用例的设计对于测试工作来说至关重要,其中,测试数据的数量和质量更是会直接影响测试的覆盖率。
但问题在于,收集各种各样的测试用例不仅耗时,而且成本极高。
现在,有了大模型加持的「通义灵码」,我们便可以直接让它给出「RobotFramework的Hello world示例」。
![](https://img.528btc.com.cn/2024/04/03/a0e01bdb2fffca55ddf7046c6ba07efb.jpg)
然后,就可以坐等答案了。
![](https://img.528btc.com.cn/2024/04/03/ea7b11972a9c7f88c20f610879fde52e.jpg)
为老代码生成单元测试
很多公司上了代码质量管控的指标,会考评各个项目的单元测试覆盖率。
很多老项目老代码,或者着急交付的项目,单元测试严重缺失。
![](https://img.528btc.com.cn/2024/04/03/4a946c800d506555a30577e3d81b24b6.jpg)
而用通义灵码来对老代码进行单元测试,效率非常高。
这种流程化的内容交给AI来完成就非常的舒服。
它可以自动生成多种框架单元测试,为程序员节省不少时间。
![](https://img.528btc.com.cn/2024/04/03/710ed7978235a2459071eaad8726c535.jpg)
运行调试错误
虽然AI工具不会主动写BUG,但是人类程序员难免犯错。所以代码调试,是程序员们开发过程中不可或缺的一环。
程序中有什么bug,如何修复,很多时候都得需要调试来发现。
![](https://img.528btc.com.cn/2024/04/03/708f4696d1ceb1028660da1482b3708f.jpg)
然而,调试过程遇到的错误,怎么办?
放心,交给「通义灵码」来解决!
如下图所示,它可以帮我们运行调试错误。
![](https://img.528btc.com.cn/2024/04/03/7c8126294ea5255fc2d695ae39ea5d13.jpg)
![](https://img.528btc.com.cn/2024/04/03/97edd93bffac497718501df77948202e.jpg)
运维
编写运维脚本
除此之外,做运维的童鞋也可以让「通义灵码」帮忙编写一个脚本。
比如向它提问:「一个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虚拟机等。
![](https://img.528btc.com.cn/2024/04/03/2a18458bc137256696e24fe14e06224e.jpg)
然后,它在右边会自动为你生成以上依赖服务的安装命令。
![](https://img.528btc.com.cn/2024/04/03/258c6e3c9f52af294289678bde882dc6.jpg)
查找运维问题解决方案
运维过程中出现问题,不要愁。
直接问它:无法用SSH连接Ubuntu下面的ECS实例,该怎么办?
它立马告诉你,请按照以下这些步骤进行排查。
![](https://img.528btc.com.cn/2024/04/03/8b56aaf52869c2b0900d53570aa8f508.jpg)
不知道相应的检测命令?
直接问它,答案就在眼前——
![](https://img.528btc.com.cn/2024/04/03/8703014a94a81a9595a3d19eae3bfcdd.jpg)
程序猿是否会被AI取代?别怕,它只打辅助
最后,还是回到AI取代人类程序员的问题。
横空出世的全球首个AI工程师Devin,能24h不间断自主改写代码、训练模型、构建和部署应用;黄仁勋本人也表示,不久的将来,人类再也不需要学习编码了,孩子们的编程课都停了吧。
![](https://img.528btc.com.cn/2024/04/03/f1871f31053ce8edfa302c0537f50790.jpg)
一时间,恐慌铺屏全网,难道程序猿真要不存在了吗?!
![](https://img.528btc.com.cn/2024/04/03/f5bbef4cc5bd0b99bcc351f979ef843c.jpg)
其实不然。在Devin横空出世那篇文章下,在我们的留言区最多的声音是这样的——
![](https://img.528btc.com.cn/2024/04/03/73bc321502ed932d18296f7095e14ac4.jpg)
网友:吾辈
还有人说,「程序员这碗饭还是能吃,只是饭碗没有原来那么大了而已。」
![](https://img.528btc.com.cn/2024/04/03/27ec13ac201744dc86a53288b3309004.jpg)
网友:兔兔生威
「而现在的AI编程,性能还很差,很多连给人类打下手的能力都没有,更别说替代人类了。」
![](https://img.528btc.com.cn/2024/04/03/21de3b5413a752b8b0d11e460af53f62.jpg)
网友:数据加载中
甚至有人说,如果程序员真的大量使用AI编程,搞不好还会催生出一种专门的人类程序员专属新任务——「给AI擦屁股」。
![](https://img.528btc.com.cn/2024/04/03/76401429168eb85e0f7bfca5cd009acf.jpg)
网友:程序员吾本真
总之,至少现在来看,所有的AI编程工具还完全不足以替代程序员。
此外,有网友获取了Devin的体验资格之后,发现稍微复杂一些的任务,它现在依然无法完成。
比如让它做一个能调用GPT-4和人下棋的网站。
![](https://img.528btc.com.cn/2024/04/03/b41a70f3fd792b8848a909ad7123c220.jpg)
它生成了几步就被卡住。
![](https://img.528btc.com.cn/2024/04/03/fc168a05380377051b3195b8e4d11d82.jpg)
它生成了一个数据可视化的网站,但是内容依然有BUG。
![](https://img.528btc.com.cn/2024/04/03/f43ddcfa6e43a6cf88e14b38835cc451.jpg)
最终,Devin只完成了一个简单功能的Chrome的插件。
所以,我们对这些AI编程工具的态度,应该是拥抱,而不是畏惧。
在阿里云,用「通义灵码」打辅助的程序员们,实打实地提升了效率,这也是阿里云要给全员配AI助理的底气。
而如果未来某一天,AI大潮真的扑面而来,接管了所有人的工作,到时候能够独善其身的人,一定是了解AI、擅用AI的人。
当洪水涌过,最顺应局势的人,才有机会成为翻云覆雨的弄潮儿。
![](/web-v2/img/index/right-outlined.png)
![](/web-v2/img/index/right-outlined.png)
![](/web-v2/img/index/right-outlined.png)