0

0

三场PK,暴露了ChatGPT的层次!

王林

王林

发布时间:2023-04-12 10:37:05

|

1876人浏览过

|

来源于51CTO.COM

转载

​作者 | 徐杰承

审校 | 言征

Google Antigravity
Google Antigravity

谷歌推出的AI原生IDE,AI智能体协作开发

下载

正当谷歌与微软为抢占AI搜索引擎市场争得不可开交时,一部分程序员却无心吃瓜。因为他们已经提前意识到了,当这场搜索之战落下帷幕后,软件巨头们将继续携带着ChatGPT或其他人工智能生成工具,向着自动编码的蓝海大步进发。到时别说是吃瓜,连自己的饭碗都有可能受到威胁。

在如今的自动编码领域,最成熟且最为人熟知的两款AI,正是近来风头无两的ChatGPT以及微软于去年6月上线的AI编程工具Copilot,而这“二位”也正是现阶段最被寄予厚望将取代程序员的当红明星。那么就目前而言,ChatGPT与Copilot的编码能力究竟如何,是否真如传言所说将在短期内取代所有初级甚至部分中级开发者呢?

日前,一位美国技术专家利用多个JavaScript函数需求,测试了ChatGPT与Copilot在数据处理与算法生成方面的能力。接下来,就让我们一起通过这些结果来了解一下目前AI在编码方面的真实水平,然后扪心自问,自己是否真的将会被取代呢?

1、JavaScript函数接受可变数量数组并返回交集

第一场测试中,测试者首先要求ChatGPT和Copilot生成一个JavaScript函数,具体条件为:需要能接受可变数量的数组并返回它们的交集。

OpenAI ChatGPT:

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

图片

微软 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

相关专题

更多
excel制作动态图表教程
excel制作动态图表教程

本专题整合了excel制作动态图表相关教程,阅读专题下面的文章了解更多详细教程。

20

2025.12.29

freeok看剧入口合集
freeok看剧入口合集

本专题整合了freeok看剧入口网址,阅读下面的文章了解更多网址。

65

2025.12.29

俄罗斯搜索引擎Yandex最新官方入口网址
俄罗斯搜索引擎Yandex最新官方入口网址

Yandex官方入口网址是https://yandex.com;用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

197

2025.12.29

python中def的用法大全
python中def的用法大全

def关键字用于在Python中定义函数。其基本语法包括函数名、参数列表、文档字符串和返回值。使用def可以定义无参数、单参数、多参数、默认参数和可变参数的函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

python改成中文版教程大全
python改成中文版教程大全

Python界面可通过以下方法改为中文版:修改系统语言环境:更改系统语言为“中文(简体)”。使用 IDE 修改:在 PyCharm 等 IDE 中更改语言设置为“中文”。使用 IDLE 修改:在 IDLE 中修改语言为“Chinese”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

C++的Top K问题怎么解决
C++的Top K问题怎么解决

TopK问题可通过优先队列、partial_sort和nth_element解决:优先队列维护大小为K的堆,适合流式数据;partial_sort对前K个元素排序,适用于需有序结果且K较小的场景;nth_element基于快速选择,平均时间复杂度O(n),效率最高但不保证前K内部有序。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

12

2025.12.29

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

134

2025.12.29

抖音网页版入口在哪(最新版)
抖音网页版入口在哪(最新版)

抖音网页版可通过官网https://www.douyin.com进入,打开浏览器输入网址后,可选择扫码或账号登录,登录后同步移动端数据,未登录仅可浏览部分推荐内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

63

2025.12.29

快手直播回放在哪看教程
快手直播回放在哪看教程

快手直播回放需主播开启功能才可观看,主要通过三种路径查看:一是从“我”主页进入“关注”标签再进主播主页的“直播”分类;二是通过“历史记录”中的“直播”标签页找回;三是进入“个人信息查阅与下载”里的“直播回放”选项。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

18

2025.12.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.3万人学习

Excel 教程
Excel 教程

共162课时 | 10万人学习

PHP课程
PHP课程

共137课时 | 8.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号