封面是《底特律——变人》,我个人蛮喜欢的一部描述机器人ai的游戏。
这是我在知乎上看到的问题,短短几天就有了好几百回答。除了证明了现在ChatGPT顶流的地位之外,也反应了一些问题。普罗大众是有一些焦虑或者恐慌的因素在的。
其实不只是普罗大众,如果大家关注新闻的话,会发现美国那边已经有不小的声音呼吁关注ai带来的隐患,甚至叫停ChatGPT-5的训练。关于这件事情,其实在我意料之中。西方世界白左横行,一旦某些行业稍有起色之后,动辄就会扣上反垄断、人权调查、环保问题等帽子。我不是说这些不重要,只是发展才是硬道理,这些不应该排在发展的前面。
ai的影响力和热度这么大,没理由会是例外。当然这对中国来说是好事,叫停了最好,刚好给我们追赶的时间。扯远了,说回问题本身。
我个人是充值了ChatGPT-4 plus的,重度使用了好几天之后,已经没有最初那么惊艳了。尤其是最近恶补了一下大模型的相关原理知识之后,从原理上来看,大模型也是一个基于概率统计的模型。本质上模型学习的目标是根据输入的文本,生成概率最大效果最好的答案文本。这也是为什么ChatGPT3.5版本的时候经常一本正经地胡说八道的原因,我们看起来胡说八道的回答,在ai看来恰恰是概率最大的结果,比如经典的父母婚礼问题。

写代码也是一样,ChatGPT的代码也是基于同样的逻辑生成的。它具有一定程度的理解和编辑代码的能力,但由于它没有真正经过实际的编程工作,所以很多时候的回答有一点臆测的成分,特别是一些比较小众没有现成答案的问题。我之前在基于ChatGPT api开发工具的时候,就经常遇到给出来的代码似是而非,像是那么回事又有一些问题。
那如果ChatGPT继续迭代,效果更进一步,那么它能代替工程师吗?我们做一个乐观的假设,假设GPT-4在各个写代码的领域都有2-3年经验工程师的平均水平。那么,它能替代程序员吗?
如果我们只是看一下ai相关的演示,那么会有担心和焦虑是正常的。我自己有的时候也会想,要是ChatGPT代码写得更溜一点,能不能替代我?但转眼一看,第二天有个复盘会,瞬间又安心了。ChatGPT能写代码,它还能去和老板汇报吗?
所以答案是肯定的,不行。
相信只要是有过一些实际开发经验的小伙伴应该都比较清楚,程序开发工作并不是就写代码而已。别说写代码了,就算是写一篇媒体文章,哪家媒体公司也不敢让GPT来写文章然后不经审核就发出去吧?哪个编辑敢这么干,估计职业生涯就到头了。
写代码也是一样的,并不是代码写出来放在那里就完事了。开发之前要开需求评审会,了解复盘需求的具体内容以及各种细节,确保理解到位。开发过程当中还要和上下游其他协作方开进度会,商量制定api接口、数据等各种规范,以及协调各方进度。开发完成之后,还要联调测试,保证上下游整个链路通常顺利。测试完成之后,还要再拉上产品经理以及需求提出方review,保证产出结果符合要求,最后才是发布上线。
尤其是一些大公司,不说代码,整个开发流程就条条框框各种规范搞得非常复杂。尤其是上线这种影响巨大的事情,还需要层层审批,很多时候遇到各种问题被block住,肯定还是需要人去沟通协调的。
一个工程师完成一个需求,真正用来写代码的时间可能就20%。剩下大部分的时间都在开会和测试、debug等。换句话说和电脑、代码打交道的时间并不多,大部分时间还是和人打交道。毕竟代码写出来都是给人用的,没有人用的代码写得再漂亮也没有价值。
其次,虽然GPT-4的上下文理解能力以及代码能力都很不错,甚至某些情况下达到了优秀工程师的水平,也是没办法代替人类的,哪怕是一些所谓最基础的增删改查工程师。
道理也很简单,因为在实际的项目和开发当中,存在大量的背景信息。说人话就是修修补补的各种补丁和坑都太多了,也就是我们常说的口口相传的情况。其实口口相传的都是一些开发过程当中的关键信息,这些信息非常复杂,文档里也没有,有些也很难用文档描述(比如某个需求是老板提的,某个糟糕的设计是老板亲自做的)。全靠工程师人传人和日积月累地踩坑积累经验,新入职的人类高级工程师尚且需要一两个月的时间逐渐熟悉,更别提GPT了。
难道每次有需求都让老板写一篇鸿篇巨制把项目中的坑点以及历史遗留问题等等都写成文档丢给GPT吗?且不说对于一些复杂的项目来说,这些文档的篇幅有多大。哪怕真的写出来了,GPT没理解对写的代码有问题怎么办?再反复和GPT沟通让它去改,不又得花时间吗?老板一天别的事情不干就和GPT聊天了是吧……
老板肯定说有这功夫和GPT扯皮让它修改,我自己写早写完了。
最后简单分享一下我个人的理解,GPT-4能够写代码和回答一些问题,其实是一个非常强大有效的工具。工具诞生的意义是提高生产力,解放人类劳动,让人类有精力投入到其他更高层次的工作当中去而不是单纯地替代人类。简单来说,使用GPT可以提升程序员编码的效率,同样的人可以做更多的工作。
表面上看,因为效率的提升,似乎会有一批人因此失业。但这有一个前提就是需求是恒定的,但实际当中并不是如此,科技的发展并不只是淘汰老旧生产力而已,它可以降低使用成本,一些从前做不了或者很贵的事情现在变得廉价了,那么很有可能因此挖掘出新的需求,带来新的产业和机会。
只有马车的时代,只有极少数人能出远门。汽车的普及虽然看似淘汰了马车司机,但也让更多人愿意出远门,直接引爆了出行的需求。由此围绕着汽车出行带动了石油、酒店、公路等一系列产业链,从而诞生了更多的就业岗位。这也是为什么工业革命以来农民的占比在迅速走低的原因,因为生产力提升了,20%的农民就足够满足所有人吃饭的需求了,其他人就可以去做一些更高价值的工作了。
从这个角度来说,GPT更像是新时代的汽车,它卸下了马车上的重担,也因此让人类能走得更远。
前言作为一名程序员,自己的本质工作就是做程序开发,那么程序开发的时候最直接的体现就是代码,检验一个程序员技术水平的一个核心环节就是开发时候的代码能力。众所周知,程序开发的水平提升是一个循序渐进的过程,每一位程序员都是从“菜鸟”变成“大神”的,所以程序员在程序开发过程中的代码能力也是根据平时开发中的业务实践来积累和提升的。提高代码能力核心要素程序员要想提高自身代码能力,尤其是新晋程序员的代码能力有很大的提升空间的时候,需要针对性的去提高自己的代码能力。提高代码能力其实有几个比较关键的点,只要把握住这些方面,就能很好的、快速的提高自己的一部分代码能力。1、多去阅读开源项目,如有机会可以亲自参与开源
英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古
我正在运行rspec测试以确保两个模型通过has_many和belongs_to相互关联。下面是我的测试。describe"testingforhasmanylinks"dobeforedo@post=Post.new(day:"Day1",content:"Test")@link=Link.new(post_id:@post.id,title:"google",url:"google.com")endit"inthepostmodel"do@post.links.first.url.should=="google.com"endend测试告诉我url是一个未定义的方法。我的测试有什么
2022年底,OpenAI的预训练模型ChatGPT给人工智能领域的爱好者和研究人员留下了深刻的印象和启发,他展现的惊人能力将人工智能的研究和应用热度推向高潮,网上也充斥着和ChatGPT的各种聊天,他可以作诗、写小说、写代码、讨论疫情问题等。下面就是一些他的神回复:人命关天的坑: 写歌,留给词作者的机会不多了。。。 回答人类怎么样面对人工智能: 什么是ChatGPT?借用网上的一段介绍,ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动
目录ChatGPT简介技术原理应用未来发展ChatGPT的10 种用法ChatGPT简介ChatGPT是一种基于深度学习的大型语言模型,由OpenAI公司开发。技术原理GPT是GenerativePre-trainedTransformer的缩写,意为生成式预训练变压器。它的技术原理是使用了一个基于注意力机制的变压器(Trans
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它
ruby调试器不会在我在与执行开始时不同的文件中设置的断点处停止。例如,考虑这两个文件,foo.rb:#foo.rbclassFoodefbarputs"baz"endend和main.rb:#main.rbrequire'./foo'Foo.new.bar我使用ruby-rdebug.\main.rb开始调试。现在,当我尝试使用b./foo.rb:4在另一个文件的特定行上设置断点时,我收到消息Setbreakpoint1atfoo.rb:4,但是当我cont时,程序执行到最后,调试器永远不会停止。但是,如果我在main.rb中的一行上打断,例如b./main.rb:3,或者一个方法,
今天我在我的Rails控制台中尝试了一些东西,这发生了,2.0.0p247:009>Date.today-29.days=>Fri,07Feb20142.0.0p247:010>Date.today-29.days=>Thu,09Jan2014我很困惑。我可以看到我缺少一些基本的东西。但这让我印象深刻!谁能解释为什么会这样? 最佳答案 实际发生的是这样的:Date.today(-29.days)#=>Fri,07Feb2014today有一个名为start的可选参数,默认为Date::ITALY。Anoptionalargument
视频教程:https://www.bilibili.com/video/BV1WJ411778C/?spm_id_from=333.999.0.0&vd_source=4a4c35da6aef7094d5990c213c39aa09使用素材(推荐使用GitZipforgithub下载):https://github.com/zheyuanzhou/Youtube-Unity-Tutorial/tree/master/EP45_Health%20Bar/Sprites效果如下图所示:首先在场景中创建一个新的Canvas,并命名为HeathBar,并创建三个Image作为前者的子物体,分别命名为
♥️作者:白日参商🤵♂️个人主页:白日参商主页♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!!🎈🎈加油!加油!加油!加油🎈欢迎评论💬点赞👍🏻收藏📂加关注+!「想体验ChatGPT中文聊天?」那快进来,你用不上算我输项目场景:项目条件一、那就开始吧1、安装ChatGPT-Desktop2、OpenAPI设置二、使用实例恭喜你!!!配置成功了!!!API和URL都是博主免费提供给大家的!!!恭喜你!!!配置成功了!!!API和URL都是博主免费提供给大家的!!!🎈🎈加油!加油!加油!加油🎈欢迎评论💬点赞👍🏻收藏📂加关注+!项目场景:近几个月可以说ChatGPT是火得一