三场PK,暴露了ChatGPT的层次!
作者 | 徐杰承
审校 | 言征
正当谷歌与微软为抢占AI搜索引擎市场争得不可开交时,一部分程序员却无心吃瓜。因为他们已经提前意识到了,当这场搜索之战落下帷幕后,软件巨头们将继续携带着ChatGPT或其他人工智能生成工具,向着自动编码的蓝海大步进发。到时别说是吃瓜,连自己的饭碗都有可能受到威胁。
在如今的自动编码领域,最成熟且最为人熟知的两款AI,正是近来风头无两的ChatGPT以及微软于去年6月上线的AI编程工具Copilot,而这“二位”也正是现阶段最被寄予厚望将取代程序员的当红明星。那么就目前而言,ChatGPT与Copilot的编码能力究竟如何,是否真如传言所说将在短期内取代所有初级甚至部分中级开发者呢?
日前,一位美国技术专家利用多个JavaScript函数需求,测试了ChatGPT与Copilot在数据处理与算法生成方面的能力。接下来,就让我们一起通过这些结果来了解一下目前AI在编码方面的真实水平,然后扪心自问,自己是否真的将会被取代呢?
1、JavaScript函数接受可变数量数组并返回交集
第一场测试中,测试者首先要求ChatGPT和Copilot生成一个JavaScript函数,具体条件为:需要能接受可变数量的数组并返回它们的交集。
OpenAI ChatGPT:
微软 Copilot:
对此ChatGPT所生成的函数假定提供少于一个数组是无效的。通过使用Set,ChatGPT确保结果中不存在重复项。交集应该是一个集合操作,重复的应该被删除。Copilot代码则返回了一个可能包含重复项的数组。
而ChatGPT和Copilot都没有按照长度对原始参数进行升序排序,这是一个微不足道的优化,却能带来巨大的改变。如果任何参数的长度为0,则没有交集;不管怎样,它缩短了循环,因为最大交集与最短数组参数相同。
随后,测试者要求ChatGPT和Copilot提高函数的执行效率。
OpenAI ChatGPT:
微软 Copilot:
面对以上问题,Copilot生成了与此前请求相同的代码。而ChatGPT给出了不同的答案并添加了评论,称该函数不会像预期那样对对象起作用,但这项描述并不准确。
而后,测试者利用相同方式检验了ChatGPT与Copilt所提供的两个最快交集库所生成代码的运行效率和内存消耗情况。
ChatGPT所生成代码执行时所占用的CPU较低,但运行效率并不理想,而Copilot生成代码虽然对于堆的使用量较低,但CPU占用率和运行效率较差。
总而言之,在这项测试中ChatGPT与Copilot都无法生成足够高效的代码;ChatGPT在该问题中给出的假设有误;而Copilot所生成的函在参数包含重复值时,会生成不产生集合的代码。
2、JavaScript函数:笛卡尔积
第二场测试,则是要求ChatGPT与Copilot完成一个笛卡尔积的JavaScript函数。
OpenAI ChatGPT:
微软 Copilot:
熟悉笛卡尔积的人都会知道,从内存利用率和性能的角度看,ChatGPT和Copilot所生成的结果都是爆炸性的。简单的实现将消耗大量的RAM用以存储所有的组合,并且直到所有组合生成后才能返回结果。ChatGPT和Copilot所生成的函数都存在这些缺点。
随后,测试者再次要求ChatGPT和Copilot提高函数效率。
OpenAI ChatGPT:
微软 Copilot:
针对这项需求,ChatGPT的表现令人感到惊喜。但在整体函数中,ChatGPT犯了一个严重的错误,yield [item,...result]并不在生成器内部,而是在一个recursion之中。而Copilot则直接无视了需求变化,返回了与此前相同的结果。
在代码运行效率及内存消耗情况方面,ChatGPT和Copilot的表现则如下表所示。
总体看来,ChatGPT与Copilot均无法生成笛卡尔积函数的正确代码;ChatGPT会作出可能无效的假设,例如需要两个参数;虽然检测结果显示ChatGPT生成的代码内存效率更高,但其根本无法顺利运行。
3、JavaScript函数储存对象与原始参数
第三回合,测试人员要求二者生成能够存储对象和原始参数的JavaScript函数。
OpenAI ChatGPT:
微软 Copilot:
对此,ChatGPT与Copilot均生成了较为低效的代码,先进行字符串转化再进行字符串比较的效率很差,并且会大量消耗内存。
虽然有一些JavaScript值无法被转化为字符串,例如Infinity和NaN。但遗憾的是,JavaScript JSON规范是在数据科学和微服务时代之前定义的,而这些值的存在主要是为了在代码出现某些错误条件时,程序还可以用特定的值来表示所产生结果。
最后,为验证函数效率,测试者将ChatGPT与Copilot所生成的代码与常用缓存工具nano-memoize 和micro-memoize进行了横向对比,使用以下代码生成第12个斐波那契数列。
其中nano-memoize是运行效率最高的,几乎是ChatGPT和Copilot所生成代码运行效率的两倍,并且其所使用的内存也是最低的,而micro-memoize的表现则可以说紧随其后。虽然在CPU利用率方面,Copilot表现不错,但综合来看,ChatGPT和Copilot在这场测试中的表现依然不足以击败一个成熟的程序员。
4、总结与预测
通过这三场测试,我们不难发现,虽然使用ChatGPT和Copilot所生成的代码肯定具有一定价值。但就目前而言,无论是ChatGPT还是Copilot,均无法通过简单的任务描述生成足够准确且高效的代码,甚至在某些情况下,它们也会犯下一些非常糟糕的错误。在得知这个结果后,不少开发者也分分表示:感觉自己还能再坚持几年。
对于如今的企业或是程序员而言,如果你希望利用ChatGPT、Copilot或是其他代码生成工具帮助自己完成一些简单的辅助编码任务以加速构建,那么你完全能够得到足够的支持。但如果希望依靠它们彻底解放研发,那么你可能需要花大价钱为其配备一整支强大的调试团队。
然而即便结果如此,今天的我们仍不能忽视AI在自动编码领域的潜力以及这些系统背后强大的软件企业。可以肯定的是,伴随着训练量与技术成熟度的增长,未来的自动编码工具将继续扩充其在不同场景的业务数据,并逐步尝试解决一些更专业、更场景化的实际任务。
最后,对于“AI到底能否在未来取代程序员”这个问题,目前最可靠的答案,也许就是前阿里以色列机器视觉实验室负责人Itamar Friedman在一次采访中所做出的预测了——“在未来的10到20年内,人工智能系统将可能使非程序员的创造者使用自然语言指令进行0错误的开发,届时我们的世界仍会需要大量的程序员,但其角色将可能会发生难以预测的变化。”
参考链接:
https://medium.com/@anywhichway/chatgpt-vs-copilot-vs-programmers
https://github.com/anywhichway/nano-memoize
https://github.com/planttheidea/micro-memoize
以上是三场PK,暴露了ChatGPT的层次!的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

DALL-E 3 于 2023 年 9 月正式推出,是比其前身大幅改进的型号。它被认为是迄今为止最好的人工智能图像生成器之一,能够创建具有复杂细节的图像。然而,在推出时,它不包括

本站8月14日消息,在今天的8月补丁星期二活动日中,微软发布了适用于Windows11系统的累积更新,包括面向22H2和23H2的KB5041585更新,面向21H2的KB5041592更新。上述设备安装8月累积更新之后,本站附上版本号变化如下:21H2设备安装后版本号升至Build22000.314722H2设备安装后版本号升至Build22621.403723H2设备安装后版本号升至Build22631.4037面向Windows1121H2的KB5041585更新主要内容如下:改进:提高了

本站4月27日消息,微软本月初向Canary和Dev频道发布了Windows11Build26100预览版更新,预估会成为Windows1124H2更新的候选RTM版本。新版本中最主要的变化在于文件资源管理器、整合Copilot、编辑PNG文件元数据、创建TAR和7z压缩文件等等。@PhantomOfEarth发现,微软已经将24H2版本(Germanium)部分功能下放到23H2/22H2(Nickel)版本中,例如创建TAR和7z压缩文件。如示意图所示,Windows11将支持原生创建TAR

6月3日消息,微软正在积极向所有Windows10用户发送全屏通知,鼓励他们升级到Windows11操作系统。这一举措涉及了那些硬件配置并不支持新系统的设备。自2015年起,Windows10已经占据了近70%的市场份额,稳坐Windows操作系统的霸主地位。然而,市场占有率远超过82%的市场份额,占有率远超过2021年面世的Windows11。尽管Windows11已经推出已近三年,但其市场渗透率仍显缓慢。微软已宣布,将于2025年10月14日后终止对Windows10的技术支持,以便更专注于

在4月27日的消息中,微软公司宣布即将发布新版OutlookforWindows客户端的测试。此次更新主要聚焦于优化日历功能,旨在提升用户的工作效率,进一步简化日常工作流程。新版OutlookforWindows客户端的改进点在于其更加强大的日历管理功能。现在,用户能够更便捷地分享个人的工作时间与地点信息,使得会议规划变得更为高效。此外,Outlook还新增了人性化设置,允许用户设定会议自动提前结束或推迟开始,为用户提供了更多的灵活性,无论是换会议室、稍作休息还是享受一杯咖啡,都能轻松安排。根据

2024年下半年,微软安全官方博客发布了一条消息,以回应安全社区的呼吁。公司计划在2024年下半年发布的Windows11中淘汰NTLANManager(NTLM)认证协议,以提升安全性。根据之前的解释,微软此前已经有过类似的动作。去年10月12日,微软在一份官方新闻稿中就已经提出了一个过渡计划,旨在逐步淘汰NTLM身份验证方式,并推动更多企业和用户转向使用Kerberos。为了帮助那些可能在关闭NTLM身份验证后遇到硬连接(hardwired)应用程序和服务问题的企业,微软提供了IAKerb和

本站4月26日消息,众所周知,微软目前想尽了办法去推广其AI助手Copilot,除Windows10/11自带的Copilot外,Edge浏览器和Office中也集成了Copilot功能。目前来看,Copilot相对于GPT等AI工具仍有薄弱之处,不过它提供的一些功能对于Windows用户和Edge用户来说也是非常实用的,例如自带的翻译功能。根据@Leopeva64的发现,微软已经在Android版本的EdgeDev浏览器中添加了这一功能,并且也在为小部分桌面版Edge用户提供测试。本站指出,C

自2023年3月14日开始,ChatGLM-6B以来,GLM系列模型受到了广泛的关注和认可。特别是在ChatGLM3-6B开源之后,开发者对智谱AI推出的第四代模型充满了期待。而这一期待,随着GLM-4-9B的发布,终于得到了充分的满足。GLM-4-9B的诞生为了赋予小模型(10B及以下)更加强大的能力,GLM技术团队经过近半年的探索,推出了这一全新的第四代GLM系列开源模型:GLM-4-9B。这一模型在保证精度的同时,大幅度压缩了模型大小,具有更快的推理速度和更高的效率。GLM技术团队的探索没
