ChatGPT强悍的编程能力,让我吓出一身冷汗!

最近有好几个人给我安利ChatGPT,说老刘快你去看看吧,这货实在太强了,搞不好我们程序员都失业了。

刚开始我都是微微一笑,怎么可能?我之前的观点一直都是在我的有生之年,AI绝对不可能干掉程序员。

但是安利的人实在是太多了,我忍不住要去注册个账号去看一下。

没想到这货竟然没对中国开放,网上有些攻略,我嫌麻烦,赶紧呼叫在国外的好兄弟,请他帮忙注册一个账号。 

尝试开始,我决定跳过那些简单的问答,例如:

如何反转一个字符串?

如何发起一个HTTP调用?

因为这种东西对于阅码无数的AI来说太小儿科了,根本测试不出来它的本事有多大。

程序员的一个核心能力就是拿到需求,能作出优雅的设计,咱们就拿这一点考考它。

先问一个简单的问题:

55134327d1532ce19ec0532cee8710be.png

(点击看大图)

不出所料,它“背诵”得非常好!

它说的最后一个原则是:尽量使用合成/聚合的方式,而不是继承来达到复用目的。 这确实是面向对象一个重要的设计原则。

ChatGPT能运用这样的原则吗?

先问问它会不会做设计:

7cf1188a4bc16066070f6a254407f688.png

说得真不错,咱们开始放大招,我手头正好有一个经典案例:薪水支付,这是从经典书《敏捷软件开发:原则,模式和实践》中提取出来的。 

这个案例的需求是这样的:

该系统由一个公司数据库以及和员工相关的数据组成,系统需要准时地按照规则给员工支付薪水

员工有三种类型

1.钟点工,每个小时有固定报酬,他们每天提交工作时间卡,其中记录了日期以及工作小时数,如果每天工作超过8小时,按1.5倍进行支付。每周五对他们进行支付。

2.月薪员工,工资固定,每个月的最后一个工作日对他们进行支付

3.销售人员,有固定工资,但会根据他们的销售情况,支付给他们一定数量的佣金,他们会提交销售凭条,其中记录了销售的日期和数量。每隔一周的周五对他们进行支付。

员工可以选择支付方式,可以把支票邮寄到他们指定的邮政地址,也可以保存在财务那里随时支取,或者要求直接存入他们指定的银行账户。

看了这个需求以后,一般的设计是这样的:

53c49cc9b49e1556b9148e9dc0bca638.png

Employee 作为基类,不同类型的雇员类来继承。

但是这个需求会有变更,客户要求员工类型可以变更,例如从钟点工变成月薪雇员,这样上面的设计就不行了。

这个时候应该做个抽象,,用一个类PaymentClassification来表达支付分类,然后让Employee类持有这个实例,简单说就是用组合代替继承。

5983df8c88103429c8b448973d93cc6c.png

这相当于是个陷阱了,我们程序员能识别,抽象,这个ChatGPT可以吗? 我还真有点好奇。

先问最初的需求,ChatGPT的回答是这样的:

ab9243c63b7e243d671f1087fcfe64ed.png

(点击看大图)

你别说,还真是不错,它“理解”了需求,从中抽取出了名词进行类的设计,并且设计好了类的继承关系。

已经达到了面向对象设计的初级水平。

接下来是重点,给他挖坑:

9c986c3f37179102f8b39bd17773ffe0.png

b97dab564a4e59bebb3af6b72fd36478.png

0de670b2e9c14105e3f6bc95b606a40f.png

非常惊艳,这货竟然学会了抽象!

虽然它抽象出的类型叫EmployeeType,不如PaymentClassification那么精确,但是大方向是一致的:用EmployeeType来管理支付规则,员工类型发生变化时,Employee类不需要变化。

说实话,我看到它给出这个结果,内心是很吃惊的,可以说,能超越相当多的程序员了。

接下来我又问它关于支付周期怎么处理:

58162b06bad93ade2f5eed3f9b153caf.png

这一次它的抽象更加厉害,直接给出了精确的名称:PaymentSchedule,还有相关的伪代码!

e9a35c68a277e48567ad3673a50c8e1c.png

它还特别提到了,当需要修改支付周期时,只需要更改PaymentSchedule即可,不用修改原有的员工类,组合优于继承,再次体现出来。

这和书中的例子几乎一样了:

6b6b06f919ddc5d5c9089619886c267d.png

继续问支付方法的处理方式:

41eb5697b54c3bb571d63118cae54540.png

不出所料,它的设计依然很棒:

40f50fb87fc57df3e1f8a152f0b63530.png

实际上,ChatGPT的设计,已经非常接近书中的最终方案了:

f96a5008b05f59865ffadb2e24273e8a.png

尝试到这里,心里有一丝失落和不甘,这个ChatGPT实在是太强悍了,展示出来很强的设计能力,并且对话过程非常流畅。

人工智能真的能理解需求,学会了抽象,能设计出漂亮的类结构了吗?程序员的核心能力被替代,程序员的危机真的来了?

我又问了它一个问题,让它把类图画一下:

bd6e5e1ec2f6b629d5146cea350fd6b4.png

037290394c33d2869c0d045ccc2725d0.png

bf16e089771ad5e7b20cc215ed3e630b.png

等等,这里的类名怎么和之前的不一样了,怎么出现了一个新的概念:工会成员? 我在这次对话中,可是从来没有告诉过它这个概念啊!它从哪里知道的?

最大的可能是,这货并没有理解我告诉它的需求,它之前应该学过这个案例,依然是在“背诵”它学习的东西,自作主张把工会成员也给我弄出来了,从而露出了马脚。 

我关掉了ChatGPT网站,再次登录,重新用同样的内容和它交互,这次的结果彻底地把它暴露了。

7af8318a3666534ae3ea95c0cea74dcc.png

566f262a97d9b5860f9dfc902826611f.png

看到没有,这次它根本没有抽象出PaymentClassification/EmployeeType,它竟然推荐了面向过程的思路,添加一个type的属性,用switch来解决问题。这比之前的方案要差太多了。

最后聊一下感受吧!ChatGPT确实很厉害,应该是学习了海量的数据,肚子里货很多,但是它依然没有真正的理解需求,它告诉我们的答案就是在现有知识中做提炼和整合。

如果抛给它一个完全全新的领域问题,估计它会懵的,大家可以拿实际业务问题来玩一下。

所以,ChatGPT是一个好帮手,但是你要想完全依赖它,可要掂量掂量了,它告诉你的可能是优雅的代码,也可能是垃圾代码。

(完)

点击下方图片,查看更多精彩

bad4687662f586cb2b2fefe5b1efe889.png

44dea097fc520dfa22e3714906a0a3a5.png

f3b1a9c67a3efcf1bd08ae3ccd3e8f35.png

9062f2f18bc07f4e6cb318a104e1930c.png

c8064a82200b6f02167866151791357e.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/1736.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT及相关产品体验与研究

ChatGPT及相关产品体验与研究 我的Github博客仓库链接:ChatGPT及相关产品体验与研究 - Github 一、ChatGPT介绍 1. ChatGPT概述 一句话描述ChatGPT:一个能够通过对话得到你想要的答案的聊天机器人。 ChatGPT 是由 OpenAI 开发的一种基于深度学习的自然…

ChatGPT初体验(一)

ChatGPT初体验(一) ChatGPT登陆方式 “OpenAI研发的聊天机器人程序,于2022年11月30日发布。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动&…

最近超火的ChatGPT到底怎么样?体验完后我有哪些感受和思考?

✔️本文主题:ChatGPT 人工智能 ✔️官方网站:chat.openai.com 文章目录 前言二、初识三、深入四、编程相关编写纠错 五、感想六、展望七、结语 前言 大家好,这次我们来聊一聊最近超级火的人工智能语音——ChatGPT! ChatGPT是什…

ChatGPT的了解与初体验

ChatGPT的了解与初体验 什么是ChatGPT初体验1、场景一 数据库sql编写2、场景二 时间处理 个人感觉下一个时代就是AI的时代,拥抱AI吧。 什么是ChatGPT 我们请它自己介绍一下自己吧! 总体来说,就是能够用自然语言进行对话的智能机器人。 初体…

ChatGPT 体验和思考

一、体验 1、辅助写代码 2、检查代码(遗憾的是,不一定是对的) 3、分析代码 4、帮你了解/入门一项陌生的技术 小结: AI 会慢慢成为程序员的得力帮手,但目前来看,似乎还是不够成熟。 当然,大多…

ChatGPTPlus的快速体验,ChatGPT还是差远了

什么是ChatGPT? ChatGPT是一种基于自然语言处理技术的聊天机器人,它采用了GPT(Generative Pre-trained Transformer)模型,可以对用户的输入进行自然语言理解和语言生成。ChatGPT的设计思想是通过深度学习算法和大规模数据训练&a…

chatGPT试用体验

结合实际问题,试用了一下当前非常火的chatGPT,测试chatGPT解决实际go语言处理mongodb数据去重查询的问题,还不错,能实际帮助解决问题。 截图: 文本整理: 请给出golang go.mongodb.org/mongo-driver 去重查…

【无标题】Chatgpt使用体验

近日,OpenAI 公司发布了新一代的chatgpt聊天软件,引起了广泛的关注。那么新一代的gpt3究竟有哪些智能的地方呢?让我们来看一看吧 1.写诗 新一代的gpt可以写出多样化的现代诗歌,让我们来看一看他的水平吧。 可以看出来虽然诗歌的语…

清华系ChatGPT发布!唐杰团队打造,专对中文优化,还能把握最新新闻动态

终于,清华大学唐杰团队也出手了。 就在GPT4发布的同一天,唐教授在微博宣布: 基于千亿参数大模型的对话机器人ChatGLM,现在开启邀请制内测。 据介绍,ChatGLM专门针对中文进行了优化,可以说是国人友好&…

五分钟进步系列之chatGpt最近发布的API

学习方式: 先读英文的原版,如果你能看懂就可以到此为止的了。如果你看不懂,可以再看一下我给的较高难度的英文单词的翻译。如果还是看不懂可以去最下面看我翻译的汉语。 下面是我在官网中找到的一段话。 一、英文原版 Introduction to the Ch…

ChatGPT发布iOS版App!国产已在路上!

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇 作者丨徐杰承、云昭 来源丨51CTO技术栈 https://mp.weixin.qq.com/s/WEJen_1qsqCFFOn4Df6RBA 一切能在移动端实现的,都将会在移动端实现。就连ChatGPT也…

重磅官宣:阿里版 ChatGPT 突然发布!

整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 平地一声雷!今天中午阿里版类 ChatGPT 「通义千问」突然官宣: 没错,就这 3 行简短介绍 1 个官网地址,再无其他“剧透”。 好在,CSDN 有幸拿…

ChatGPT 发布重磅更新,插件系统即将上线!

这是「进击的Coder」的第 831 篇技术分享 作者:小 G 来源:GitHubDaily “ 阅读本文大概需要 4 分钟。 ” 前天凌晨,ChatGPT 为诸多 Plus 会员陆续开放了插件系统内测权限,申请比较早的用户,现在应该都能体验上最新的插…

清华大学版 ChatGPT 发布,ChatGLM启动内测!

点击“开发者技术前线”,选择“星标” 让一部分开发者看到未 转载自:机器之心 我们问了 ChatGLM 几个关键问题,它给的回答似乎很不错。 ChatGPT 的发布,搅动了整个 AI 领域,各大科技公司、创业公司以及高校团队都在跟进…

ChatGPT-4震撼发布

3月15日消息,美国当地时间周二,人工智能研究公司OpenAI发布了其下一代大型语言模型GPT-4,这是其支持ChatGPT和新必应等应用程序的最新AI大型语言模型。该公司表示,该模型在许多专业测试中的表现超出了“人类水平”。GPT-4, 相较于…

ChatGPT API使用介绍

1.概述 随着人工智能技术的不断发展,越来越多的AI产品被应用到各个领域,其中最具代表性的莫过于人工智能语言模型。语言模型是一种可以通过学习大量语言数据来预测文本或语音的技术,其应用范围十分广泛,如智能客服、机器翻译、语…

ChatGPT详细介绍原理

ChatGPT的介绍 ChatGPT全称为“chat Generative Pre-trained Transformer”,翻译成中文就是生成型预训练变换模型。它是美国公司OpenAl在2022年11月30日发布研发的聊天机器人程序,能用于问答、文本摘要生成、机器翻译、分类、代码生成和对话Al。「l是一…

ChatGPT发展机遇和思考

去年12月ChatGPT横空出世,在业界引起惊涛骇浪,最近又发布了GPT-4的进化版本,ChatGPT将对我们的工作生活有什么样的影响,又将如何应对?本文不讨论ChatGPT背后的具体模型算法和实现逻辑,只简单讨论ChatGPT对产…

ChatGPT这么火,强大的背后是什么,未来又会发展成什么样?

近日,现有的ChatGPT这么火🔥,不知道大家期不期待后续版本,这个ChatGPT3和ChatGPT4已经很久了,但是总听别人说怎么怎么好,怎么怎么牛,真的不如自己去试一把。如果还没有切身体会,是真…

未来已来,快速了解即将颠覆世界的ChatGPT

写这么一篇长文,可能有悖于“简单科普”的初衷,但是当发现这种简单科普的能力可以轻而易举的被AI所掌握的时候,输出一些主观的个人观点,无论对错,或许来的更加有意义,以激起更多的水花。 一晃眼整个冬天就过…