最近ChatGPT很火,我也来凑个热闹!写一些简单易懂的,以及我对他可能带来影响的思考。
目录
一、什么是ChatGPT?
简单来说,就是一款聊天机器人,流浪地球中的MOSS,钢铁侠的Jarvis。Chat就是对话的意思,东北人叫唠嗑儿。不过这个聊天机器人有点儿不简单,因为它唠嗑儿像真人儿,而且博学强记,甚至能完成不少人类曾认为机器完成不了的任务,比如:写论文、写讲稿、写程序、预测发展趋势等等需要一定创造性等高级认知能力的任务。它似乎给我们打开了强人工智能的大门,尽管它还存在一些小问题,比如:有些事实会搞错,可能会出现政治倾向等方面的问题。但相当一部分人类是达不到"他"的水平的。
二、ChatGPT能做什么?
下图是官网给的ChatGPT的能力和限制以及示例。意思是相比于以前的聊天机器人,他能记住刚才都说了什么,还允许你继续提供信息修正他说的内容。
聊天机器人的核心能力其实是文字内容的生成。所以更简单直接的说法就是他能替代人类写一些东西了,比如:文章、文案、辞职信、简历、代码等等。
三、ChatGPT将如何改变程序员的工作
有人高喊"程序员要失业了"!我有一些不一样的想法,供大家批判。
既然机器能做,还要人干什么?要啊!得有人告诉他做什么啊!程序员要做任务描述者,所以程序员不会失业!因为如果我们描述不清楚我们要什么样的程序,他无法生成。我试了一下,如果我描述不清楚要什么样的程序他是写不出来的。所以写出我们需要什么,这可能成为入门级程序员的工作。
当任务很大时它无法完成当任务很清晰时,他就能帮助我们
ChatGPT可以帮我们写代码了,我们的生产效率就会提高,那需要的程序员就减少了,程序员不就得失业嘛。我认为ChatGPT的出现可能不仅不会导致程序员失业,反而会导致需要更多程序员。因为培养一个描述任务的人目前看来比培养一个程序员的成本更低,至少不需要学习编程语言的语法了。这就导致大家都能使用ChatGPT开发软件了,出现的软件可能会变多。软件多了就需要有更多的人维护,而目前他的维护能力似乎还不太过关。这样我们会需要更多维护程序的人。
另外机器写的程序可能有问题,或者是需要优化。目前他还只能写简单的程序,对于复杂程度较高且对于程序的维护和优化并不擅长,这就需要程序员来做了。所以入门程序员的工作可能就变成了审核机器提交的代码,改进程序,这样不仅完成了工作,还能快速将一个初级程序员培养成为一个工程师。最后,他是否真的成精了,要起义干掉人类,难道不需要检查吗(皮一下)?
ChatGPT写的程序其实来自于几十年来各位程序员的汗水。但是现实世界总会出现新问题、新场景、新需求,这就会催生新技术,新技术的程序谁来写呢?还得程序员来写。所以,未来程序员还要更多关注解决新问题而不是重复造轮子。
其实这里还有一个非常关键的点是,既然都能写程序了,何不直接操控机器做计算呢,跳过人类发明的编程语言呢,直接生成机器码呢。这个可以继续深入思考。
四、ChatGPT将如何改变程序员的培养
终于说到了程序员的培养,在高职这些年就干这事儿了。不得不感叹,世界发展越来越快。刚搞清楚程序员该如何培养,正在践行实验,整个程序员行业却要发生根本性变化了,程序员需要掌握的知识和技能也要发生变化了。
ChatGPT能写程序了,我们还要教学生程序设计吗?需要啊!而且更需要了!不然他写了炸掉学校大楼的程序你都看不懂!现在担心这个还比较早,但也需要啊。
我们都不懂如何设计程序我们如何指挥它写出程序呢?尽管他能写程序了,但是他做不到你就给他一个目标他就能把整个系统全写出来的水平。还是需要有人把目标拆解为小目标,然后让他去实现。这个过程就是程序设计,只是我们不需要自己动手写。不学习程序设计和软件开发的知识我们无法使用专业术语向他描述清楚他要做的事情,他也无法写出程序来。他写完的程序我们要能看明白,以确保能用,还得确保将来能维护,因为程序可不是写出来就完事了,将来的维护工作也会很多。所以依然还要教程序设计,但是教什么可能需要变一变了。
首先我们要补充沟通表达能力的培养,尤其是和机器人沟通好的能力,以便学生们能熟练使用机器人帮助他们完成体力劳动"写"。
其次要加强专业术语和专业知识与概念的教授,适当弱化变成技能的教授和训练,这样学生才能更加精准清晰准确描述出任务,编写程序则直接交给ChatGPT。
另外要加强任务拆解、算法设计、系统设计、问题解决等能力的培养。这样我们才能更高效利用ChatGPT做出我们想要的结果,才能去解决他解决不了的问题。
最后要加强代码阅读、审核能力的培养,以便利用机器人高效生产代码的同时确保代码的质量。
五、总结
总的来说,我认为这种转变对高职计算机学生是好事。高职计算机类专业很多学校的培养目标都是程序员,但是一直以来培养效率都很低,主要原因就是编程技能的门槛太高。
用汉字描述任务以及阅读代码这些技能的门槛相对于写代码来说更低,这会降低学生写程序的门槛。只要明白软件系统的构建方法,能用需要描述清楚自己想要什么,会验证机器人写的东西是否达到了自己的要求,就能开始干活了。同时,这对本科的软件人才培养提出了很高的要求。
以上,欢迎讨论!