ChatGpt的呈现,前端真的已退伍?
C/C++ 从0到1系统精讲 项目开发综合基础课
download:https://www.51xuebc.com/thread-543-1-1.html
在过去的几个月里,我与许多职业初期的开发者交谈,他们对人工智能越来越感到焦虑。他们看到了像GPT-4这样的工具越来越令人印象深入的演示,并担忧当他们纯熟控制HTML/CSS/JS时,就没有工作时机了。
这种心情如今充满在Twitter上:
我完整不同意这种观念。我以为web开发者的工作不会消逝。而且,我对网上传播的恐慌、不安和疑心感到十分腻烦。
所以,在这篇博客文章中,我将分享我的假定,事情会发作变化,但并不像人们所说的那么可怕。
CSS 言语初次发布于 1996 年,在 Internet Explorer 3 中问世。在两年内,第一个“无代码”网站构建器 Homestead 上线了。
Homestead 让人们能够在不编写一行代码的状况下构建自定义网页:
自从一开端,就有人担忧 Web 开发人员会被某种新技术取代。在 2000 年代,这种担忧指向了 WordPress。在 2010 年代,是 Webflow。在 2020 年代初,是“无代码”工具。
从某种水平上说,Web 开发人员曾经被取代了!往常,假如一家当地的面包店、牙医或艺术家需求一个网站,他们可能不会雇佣开发人员,破费数万美圆从头开端树立一个网站。他们会选择运用 SquareSpace,找到喜欢的模板,并每月破费 20 美圆。
但是,Web 开发人员仍然存在。
上周,OpenAI 展现了 GPT-4。这个展现中有一个相当令人印象深入的演示:GPT-4 能够将手绘的网站草图转换为功用完善的网站,以至包括一点 JS 来衔接 “Reveal Punchline”的按钮。
这是十分了不起的,我以为这关于原型设计具有很大的潜力……但我们要明白的是:几十年来,我们并不需求 Web 开发人员来构建这类页面。这个 HTML 文档与现今前端开发人员编写的代码之间存在着宏大的差别。
到目前为止,我所看到的大局部演示都相当有限:一个简单的 HTML 页面或一个单一的 JavaScript 函数。这些是单个开发人员在一个下午就能完成的事情。
但这些只是初期阶段!假如事物以相同的速度继续加速,那么它将可以在几年内构建整个应用程序,对吧?
我在 LLM(GPT-4)方面远非专家,但我的确在高层次上理解它们是如何运作的。
从基本上讲,LLM 是超强大的文本预测器。给定一个提示,它们会运用机器学习尝试找出跟在提示后最可能的一组字符。
像 OpenAI 这样的公司破费大量时间和精神调整模型以改善输出。一大批人类标注者对模型的输出停止“评分”,模型随之学习和演进。
LLM无法考证其假定或检验其假说。它们无法确认本人说的话是对还是错。它们在玩概率游戏,并估量这个字符序列似乎与提示中的字符序列相容。
有时,答复中的局部内容是荒唐的。OpenAI团队将这些称为“幻觉”。
随着技术的改良,我们能够等待一些粗糙的边缘得到打磨,但从基本上讲,总会存在一定水平的不精确性。这些工具基本没有任何客观考证其答复的机制。
因而,精确性会进步,但永远不会圆满。假如我们议论让Web开发者失业,这是个问题。假如你不是程序员,你将无法判别哪些局部是精确的,无法发现幻觉。
但等等,在GPT-4演示中,我们看到AI是如何纠正本人的错误的!复制/粘贴错误信息,它将找到并修复问题。
但是,不是一切的幻觉都会招致异常。例如,我最近运用GPT-4生成一个React的组件,固然输出的质量令人诧异地好,但它在可访问性方面依然犯了一些错误。创立应用的人可能不会留意到这些问题,但最终用户肯定会留意到!
那么代码中的平安破绽呢?当事情呈现严重错误时,谁应该担任?
再多说一点:生成一个50行的HTML文档和生成一个消费就绪的Web应用之间有着宏大的差距。像这个博客这样的小型JS应用有大约65,000行代码,散布在900多个文件中。这还不包括书面内容,仅包括JavaScript和TypeScript。
即便精确率到达95%,这也将难以调试。这就像开发人员花几个月时间构建一个庞大的项目,但从未实践尝试运转任何代码,直到它100%完成。这几乎是噩梦。
AI并不神奇。它仅仅和其锻炼数据一样好。代码片段遍及互联网,通常是通用的。相比之下,每个代码库都是无独有偶的。很少有大型开源代码库。AI如何学会构建大型实践项目?
我们十分快地接近一个非开发者能够坐下来与聊天机器人一同快速完成一个小型独立项目的时期,这是如今人们运用像Webflow这样的工具来构建的。这太棒了!
但是我以为我们离主要科技公司辞退开发人员并用提示工程师替代他们还有很长的路要走。在我看来,有几个潜在的难以处理的问题障碍了这一愿景成为理想。
从这篇文章中,你可能不晓得我实践上对AI十分悲观。😅
我以为最有可能的状况是,像GPT-4这样的工具会整合到开发者工具中,用来加强有技艺的开发者所能做的事情。
木匠没有被电开工具取代,会计师没有被电子表格取代,摄影师没有被数码相机/智能手机*取代,我以为开发者也不会被LLM取代。
我曾经想过,或许开发者工作的总量会减少;毕竟,假如每个开发者的效率都大大进步,我们不是需求更少的开发者吗?
并非必然。目前,软件开发者的需求远远大于供给。在我曾经工作的每家公司,我们都有很多想做的事情,但遭到了开发者数量的限制。
假如开发者忽然变得效率进步两倍会发作什么?更多的错误将被修复,更多的功用将被完成,更多的利润将被发明。有很多事情要做,所以我们不会让开发者失业。
我实践上以为这可能会增加开发者工作的总量。
今天,有很多公司基本不雇佣软件开发者。我曾在一家名为Konrad Group的公司工作,这家公司为其他公司(其中许多是众所周知的品牌)开发网络应用。由于开发本钱很高,所以他们将开发需求外包,而不是内部雇佣开发者。
这些财富500强公司是依据当前软件开发本钱来停止计算的。让我们假定一些数字:假定他们需求4个开发者,每个人年薪15万美圆,总共60万美圆/年。对他们来说,支付50万美圆让代理商来管理这个项目会更有意义。但是,假如LLM真的能进步开发者的消费力,他们或许只需求雇佣2个年薪15万美圆的开发者来完成同样的工作。忽然之间,这个计算变得更具吸收力了!
让我明白一点:我不是经济学家,这些都是猜想。我并不是说我晓得事实会如何开展。我想说的是,这不是一个既定的结论,这对我们来说是不利的。没有人晓得这会如何开展,我曾经厌倦了那些以为最糟糕的状况曾经成为定局的人。
艾伦·布莱斯(Aaron Blaise)是一位资深动画师和插画师。他在迪士尼工作了近20年,为《美女与野兽》(1991年)、《阿拉丁》(1992年)、《风中奇缘》(1995年)等经典迪士尼电影做出了奉献。
几周前,在阅读了这篇博客文章之后,他的观念对你来说可能会很熟习:他并不以为这些工具是要挟,而是以为它们会进步动画师的消费力,并带来更多的动画师工作。
如今,数十个行业的艺术家和学问工作者都在停止同样的讨论。人们担忧他们的工作行将被像GPT-4、DALL-E 2和Midjourney这样的AI所取代。
GPT-4能在模仿律师资历考试中获得前10%的成果。
我个人的信仰是,大多数在职专业人士会找到办法将这项技术整合到他们的工作流程中,进步他们的消费力和价值。某些任务可能会交给AI来完成,但很少有工作会被取代。
但是,假如我错了,LLM真的能够完整取代软件开发者呢?假如是这样的话,我疑心LLM将取代绝大多数学问工作者。
这不是一种能够经过转行防止的宏大影响。没有一个更高的范畴能够防止。因而,与其试图押注将来会带来什么,为什么不关注你热衷的事物,你感兴味的事物,以及你擅长的事物呢?
我从一些人那里听说,ChatGPT在学习技术技艺方面十分有协助。假如你在教程中对某个内容感到困惑,你能够请AI为你解释!
对我来说,这是一个十分有趣的用例。从实质上讲,ChatGPT就像一个编程同伴,能够协助你了解你不懂的东西。你能够向它提出详细问题并得到详细答案。
但我以为你需求当心。运用这种工具来协助你学习有正确和错误的办法。
错误的办法是把它当作GPS导航。当我需求开车去某个中央时,我会把地址输入GPS,然后无条件地遵照它的指示。固然我通常会抵达目的地,但这并不需求我付出任何心智努力。结果,我的方向感完整消逝了。如今,假如没有合成的声音通知我该怎样做,我就无法去任何中央。
与其把它当作GPS,我倡议你把它当作你是陪审团的成员,而LLM是被告,站在证人席上。
你会听他们说什么,但不会把它当作事实。你会坚持疑心,并对每个字都停止批判性考虑。
与其自觉地复制/粘贴ChatGPT生成的代码,不如逐行阅读,确保你理解其中的含义。向它讨教。关于看似可疑的事情,请运用权威来源(如官方文档)停止核实。请记住,LLM具有100%的自信,但并非100%精确。
假如你遵照这种战略,我以为LLM会提供很多价值。
我想写这篇博客文章的缘由,是特别针对那些正在学习web开发的人,他们感到焦虑和懊丧,觉得在整个范畴行将被淘汰的状况下,破费一切的时间/精神学习这些技艺是没有意义的。
我不能保证事情会不断坚持不变。我的确疑心AI会对我们的工作方式产生影响。我从2007年开端尝试运用HTML/CSS/JS,从那时起,事情发作了很大变化。开发者不断需求顺应,与技术共同进化。
但到目前为止,我看到的一切都没有标明我们的工作岌岌可危。我尝试想象,假如非开发者可以在不理解网络技术的状况下构建整个Web应用程序,状况会是什么样子?即便将来的GPT版本不再产生那么多的幻觉,我也想出了很多为什么这样做行不通的缘由。
我可能是错的。我没有水晶球🔮。就我所知,太阳明天可能会爆炸。但我真的不以为我们正处在web开发人员被取代的边缘。我担忧很多潜在的开发者由于这个缘由而放慢了脚步。
我不希望你在5年后回忆,假如软件开发人员的需求愈加旺盛,懊悔你中止追求幻想。
这篇文章的作者Josh W Comeau讨论了人工智能,特别是相似GPT-4的大型言语模型(LLM)对前端开发的影响。作者以为,虽然这些模型具有强大的生成代码才能,但它们无法完整取代前端开发人员。他提到了几个关键点:
LLMs不能考证它们的假定或测试假定,无法确认生成的代码能否完整正确。
LLMs可能产生“幻觉”或错误,需求开发人员停止修复和调整。
当生成大型项目时,这些模型的精确性可能会降落,招致难以调试的问题。
平安性和义务问题依然需求开发人员的专业学问。
作者置信,LLMs最终将成为开发人员的辅助工具,进步他们的消费力,而不是取代他们。这些工具能够被视为一种协作同伴,协助开发人员处理问题和学习新技艺。但是,他倡议慎重运用这些工具,并一直以批判性思想来评价其输出。
虽然AI技术正在不时开展,但作者以为前端开发者的工作并不处于被取代的风险之中。他鼓舞那些正在学习Web开发的人继续努力,不要由于担忧将来而放弃追求幻想。