写点什么

GPT-4 预示着前端开发的终结?你准备好面对无法预测的技术挑战了吗?

作者:Josh Comeau

  • 2023-04-10
    北京
  • 本文字数:4934 字

    阅读完需:约 16 分钟

GPT-4预示着前端开发的终结?你准备好面对无法预测的技术挑战了吗?

过去几个月来,我跟很多刚刚步入前端开发领域的朋友们交流过,大家都对步步紧逼的 AI 感到焦虑。他们看到 GPT-4 等工具带来的令人印象深刻的演示,担心自己学成 HTML/CSS/JS 知识之日,就是岗位消失之时。


这类情绪绝非个例,Twitter 上早已是哀鸿一片。



澄清声明我先向大家承认,这个话题跟我有切身关联:我的工作就是在网上教学员开发软件。如果开发者岗位逐渐消失,那我的饭碗也就完了。

但我向大家保证,我在本文中表达的所有观点都出于自己的真实判断。欢迎大家自行斟酌这些观点是否存在偏见。


“又”要被替代了


CSS 语言最初发布于 1996,随 IE 3 一同推出。两年之内,首款“无代码”网站构建器 Homestead 就跟大家见面了。


Homestead 能帮助人们在无需编写代码的情况下,轻松构建起自定义网页:



也就是说,从 Web 开发这类岗位刚刚出现时,就有人担心会被某些新技术所淘汰。2000 年代的威胁源头是 WordPress,2010 年代是 Webflow,2020 年代初则是“无代码”工具。


其实从某种意义上讲,Web 开发者确实已经过时了。如今,本地面包小店、牙医诊所或者艺术家如果需要一个网站,那大概率不会花几万美元聘请开发者从零开始做设计。他们可以直接前往 SquareSpace,找到自己喜欢的模板,然后每月花 20 美元来运营自己的业务门户。


但就算这样,Web 开发者也仍然存在。


上星期,OpenAI 公布了 GPT-4,期间有一段令人印象深刻的演示:GPT-4 能够将手绘的网站草图转化成功能齐全的网站,甚至包括一些 JS 来连接“Reveal Punchline”按钮。




这功能确实很酷,在原型设计方面有很大的潜力……但我们还是得明确一点:几十年来,我们的 Web 开发者负责构建的从来不是这类页面。演示中的 HTML 文档跟目前前端开发者编写的各种代码,可以说是天渊之别。


展望未来


到目前为止,我个人看到的大部分演示都非常有限:要么是一个简单的 HTML 页面,要么是 JS 函数。总之,就是那种开发者可以随手搞定的东西。


但这一切还仅仅只是开始!如果 AI 继续保持目前的发展速度,再过几年就能构建起完整的应用程序了,对吧?


我当然不是什么大语言模型专家。但对于 GPT-4,我完全能够理解它的宏观工作原理。


从本质上讲,大语言模型是一种超级强大的文本预测器。给定一个提示,它们就能使用机器学习来尝试找到最可能符合提示要求的字符集。


OpenAI 等厂商花费了大量的时间和精力来调整模型,借此改善输出质量。一大群人工标者对模型的输出进行“评级”,借此引导模型不断学习和进化。


如果大家体验过 CHatGPT 或者 Bing 的 AI 搜索等工具,就会发现这些回答大概有个 80% 的正确率,但 AI 却表现得像是有 100% 的把握。


大语言模型无法验证或者说测试自己的假设,无法确定自己的表达内容是否为真。它们还是在玩概率游戏,猜测给出的字符应该会跟用户在提示中输入的字符相匹配。


有时候,AI 甚至会给出非常荒谬的回答。OpenAI 团队将其称为“幻觉”。


随着技术进步,预计某些粗糙的问题会被一一克服。但从根本上讲,AI 或多或少还是会存在准确度问题。毕竟 AI 工具没有任何机制能够对自己的响应做出客观验证。


因此,准确率可以不断提高,但永远达不到完美。而趋于完美,正是 AI 真正取代 Web 开发者的前提。如果它本身不是程序员,那就无法判断哪些部分是对的、哪些是错的。AI 自己发现不了“幻觉”。


但大家别急,我也认真看了 GPT-4 的演示,AI 似乎能够自我纠正!只要复制 / 粘贴错误消息,它就能找到并解决问题。


但是……并不是所有幻觉都会引发异常。比如说,我最近用 GPT-4 在 React 上生成了一个〈Modal〉组件,虽然输出非常好,但还是存在一些可访问性错误。创建应用程序的人可能注意不到这些问题,不过最终用户肯定会发现!


还有代码中的安全漏洞呢?一旦引发可怕的错误,该由谁来承担责任?


还有一点:生成一个 50 行的 HTML 文档,跟输出生产就绪的 Web 应用程序之间根本就不是一回事。像博客这样的小型 JS 应用就有大约 6.5 万行代码,总计 900 多个文件。这还不包含写作文本,单是 JavaScript 和 TypeScript 的体量。


也就是说,即使准确率达到 95%,在这样的应用规模下也将很难调试。这相当于一位开发者用几个月时间构建一个巨大的项目,但却从未做过任何代码测试,直到 100% 完成后才加以验证。这不是生产力提升,而是前所未有的噩梦。


AI 不是什么神迹和魔法,它的质量直接取决于训练数据。而代码片段在互联网上随处可见,往往高度通用。相比之下,每个代码库都是独一无二的,网上鲜有大型开源代码库。那么,AI 要如何学会构建能够实际应用的大型项目?


按现在的发展速度看,很快非开发者就可以直接跟聊天机器人对接,轻松启动一个小型独立项目。也就是说,如今的 Webflow 等工具会被 AI 所替代,而且效果更好、功能更强,这绝对是件大好事!


但要让科技大厂们放弃自己的开发队伍,全面选择 AI 工程师?那还有很长的路要走,前面提到的这些潜在问题将严重阻碍这种想象在现实中落地。


增强,而非替


说了这么多,我就明确给出自己的态度吧:我其实非常看好 AI 技术 😅。


我认为最有可能的情况,是 GPT-4 这类工具被整合进开发者工具当中,用来扩大熟练开发者的生产能力。


木匠并没有被电动工具所替代,会计师没有被电子表格替代,摄影师没有被数码相机 / 智能手机替代,我认为开发者也不会被大语言模型替代。


我当然不确定未来的开发者职位总量会不会有所下降;毕竟如果每位开发者的效率都显著提高,那岗位方面的整体需求应该减少才对。


但也不一定。就目前来讲,软件开发者仍处于供不应求的状态。在我工作过的每家公司,大家都有太多想做的事情,只因开发者数量有限而被迫作罢。


那如果开发者的工作效率瞬间提升 2 倍,结果会如何?无疑是修复更多 bug、发布更多功能、赚取更多利润。我们可以开发的东西太多了,根本不存在开发者过剩一说。


我反倒认为,大语言模型的普及会增加开发者的职位总量。


目前,很多企业根本就不雇用软件开发者。我曾在一家名叫 Konrad Group 的公司工作,这是一家专为客户构建 Web 应用程序的企业,客户名单里不乏家喻户晓的大厂。但因为开发成本太高,他们发现与其招聘固定开发人员,还不如把这活儿外包出去。


这些财富五百强公司会根据当前的软件开发成本做核算。这里我们假定一个场景:如果他们需要 4 名开发人员,平均年薪 15 万美元,那每年就是 60 万美元。在这种情况下,他们不如向外包机构支付 50 万美元来搞定这方面需求。但如果大语言模型真能提高开发者的工作效率,他们也许只雇 2 名年薪 15 万美元的开发者就够了。突然之间,原本自己没法做的项目现在可以做了!


我要澄清一下:我不是经济学家,以上案例安全就是随口一说。我不知道未来的情况会不会朝这个方向发展。但我想提醒大家,大语言模型的爆发并不一定会摧毁我们的工作和生活。没人知道未来会向哪里去,而我实在受不了人们言之凿凿地把前景描述得愁云惨淡。


网上不乏与我相同的观点


Aaron Blaise 是一位经验丰富的动画师兼插画家。他在迪士尼工作了近 20 年,曾为《美女与野兽》(1991)、《阿拉丁》(1992)、《风中奇缘》(1995)等经典影片做出贡献。


几周之前,他在 YouTube 上发布了一段视频,题为《迪士尼动画师对 AI 动画的反应》(https://www.youtube.com/watch?v=xm7BwEsdVbQ)。他的观点跟我很像,并不觉得 AI 工具是种威胁,而认为它将提高动画师的生产力并创造出更多动画岗位。


来自几十个行业的艺术家和知识工作者们都在讨论这方面话题,毕竟很多人担心自己的工作会被 GPT-4、DALL-E 2 和 Midjourney 等 AI 工具所吞噬。


GPT-4 能通过模拟律师考试吗?可以,而且得分在人类应试者里能排进前 10%。所以律师们也慌了。


我个人认为,大多数专业人士都能找到将 AI 技术整合进工作流程的办法,借此提高自己的生产力和价值。一部分任务可能被全面委托给 AI,但只是部分任务、而非整个工作。


那如果我是错的,事实证明大语言模型可以全面取代软件开发者,又该怎么办?如果真是这样,那我觉得也不用太担心了,到那时候绝大多数知识工作者都会被“清洗”。


这样一来,我们就算是转行、转专业也没有用,AI 海啸之下将没有安全的高地。所以与其去赌未来会不会朝着最糟糕的方向去,倒不如专注于自己热衷的工作、感兴趣的问题、擅长的方向。


前端开发与其他工程学科


网上有帮家伙,一直在暗示前端开发特别容易被 AI 替代,还建议开发者再精进一步,往后端或数据工程那边努力。


但我的观点恰恰相反。我觉得开发者群体根本就不用担心被淘汰,如果非得说哪部分群体更危险,我倒认为是后端。


OpenAI 的 GPT-4 直播展示了两段与代码相关的内容:


  • “Joke website”前端;

  • 基于 Python 的 Discord 机器人。


在这两个项目中,Python 代码对我来说似乎更接近生产。我最近用 Node.js 构建了一个 Discord 机器人,跟 GPT-4 生成的代码确实差不多。


相比之下,AI 为那个笑话网站生成的基础 HTML 文档,就跟我每天编写的前端代码间相隔十万八千里。


这可能有点以偏概全,但过去十年来,我发现很多复杂性要素已经从服务器转向了客户端。


Monolithic Express 应用程序已经转化为无服务器函数的集合,而我们的前端也从超链接数字文档发展为成熟的桌面质量应用程序。


再有,前端是用户与之交互的产品部分。企业当然希望自己的产品能体现出定制化、独特性和根据品牌形象精心设计等特点。与之对应,后端则完全不可见,所以通用后端要比通用前端更让人易于接受。


用大语言模型辅助学习


我听有些人说,ChatGPT 能帮助大家快速学习技术性技能。如果各位对教程中的某些内容感到困惑,不妨问问神奇的 AI。


这对我来说是个非常有趣的用例。从本质上讲,ChatGPT 就像你的结对程序员,能帮助你了解自己不熟悉的事物。你可以向它提出具体问题,并获取具体答案。


当然,使用过程中也要当心。利用 AI 工具来学习,也有正确的方式与错误的方式之分。


所谓错误的方式,就是把 AI 当作 GPS 导航。当我们打算开车前往某地时,就会把地址输入 GPS,然后不假思索地按它的指示前进。等到了目的地附近时我会把导航关掉,整个过程不做任何思考和评判。结果就是,我的方向感完全萎缩了,现在如果没有合成语音的指示,我根本不知道该往哪里走。😬


与之相对,我们最好把大语言模型当成“被告”,而自己则扮演“陪审团成员”。


你要认真听它在说什么,但不可全盘相信。保持怀疑的态度,以批判的心态考量一字一句。


不可盲目复制 / 粘贴 ChatGPT 生成的代码,而是逐行检查并保证你理解了其中内容。有不清楚的地方要提醒它做出澄清,并配合权威来源(例如官方文档)仔细检查看似可疑的部分。请记住,大语言模型 100% 自信,但却并非 100% 准确。


通过这种方式,相信大语言模型能够创造出前所未有的价值。😄


给各位年轻开发者的忠告


我之所以要写下这篇文章,就是想鼓励各位正在学习 Web 开发、并为大语言模型的爆发式进步压得喘不过气的朋友们。很多人彻底失去了信心,认为随着 AI 技术的继续成熟,自己耗费时间和精力掌握的所有技能将被无情淘汰。


我不敢保证未来一定不会这样。但我对 AI 能够给工作方式带来的影响仍抱怀疑。早在 2007 年,我就开始研究 HTML/CSS/JS,多年以来情况已经发生了很大变化。但开发者们仍然凭借强大的适应性,与技术一同进步、携手为网络世界塑造新的样貌。


到目前为止,我还没看到有切实迹象表明前端开发的工作处于危险之中。我也想象过未受任何专业训练的非开发者,在不了解 Web 技术的情况下会开发出怎样的 Web 应用程序。太多的因素会导致其无法运行了,所以即使 GPT 未来继续保持迭代,大家也没必要过于焦虑。这,又何尝不是另一种“幻觉”。


再次强调,我的观点很可能是错的,毕竟我可没有能预见未来的水晶球🔮。但未来总有不确定性,没准明天太阳就爆炸了,谁知道呢。但我真的很难相信 Web 开发者会被迅速淘汰,反而更担心潜在开发者会因为这种莫须有的可能性而放弃学习。


总之,但愿不要五年之后软件开发者需求更旺之时,大家才感觉后悔、反思当下的自己为什么要停止追求梦想。请继续努力吧,各位同学!❤️


原文链接:


https://www.joshwcomeau.com/blog/the-end-of-frontend-development/

相关阅读:

GPT-4:不了不了,这些我还做不到

3 分钟快速了解 GPT-4

对话 OpenAI Greg Brockman:GPT-4 并不完美,但人类也一样

GPT-4 重磅发布,吊打 ChatGPT!编程能力牛到让我睡不着:10 秒做出一个网站,1 分钟开发一个游戏

2023-04-10 12:435094

评论 1 条评论

发布
用户头像
我不做后端,但我臆想后端更容易被替代。
生产力提升,程序员会做更想做的事情。新需求、能赚钱的新行业有没有不确定,但是企业竞争,旧行业一定会压成本导致失业。
2023-04-11 01:35 · 江苏
回复
没有更多了
发现更多内容

阿里p8架构师耗时一年整理SpringBoot,从构建小系统到架构大系统

做梦都在改BUG

Java Spring Boot 框架

阿里蚂蚁金服4面面经(已拿Offer)附答案!突如其来的意外之喜

Java你猿哥

Java 算法 ssm 并发 面经

低代码赋能生物药企数字化

明道云

阿里云微服务引擎 MSE 全新升级,实用能力更普惠,最高降幅 75%

阿里巴巴云原生

阿里云 云原生 微服务引擎

华为Atlas 200I DK A2开箱!

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 5 月 PK 榜

面试必备:四种经典限流算法讲解

做梦都在改BUG

Java 算法 限流

Springboot 一行代码实现文件上传 20个平台!少写代码到极致

Java你猿哥

Java spring Spring Boot ssm

Midjourney|文心一格prompt教程[Text Prompt(下篇)]:游戏、实物、人物、风景、动漫、邮票、海报等生成,终极模板教学

汀丶人工智能

人工智能 AI绘画 MidJourney 文生图 prompt learning

IPP Swap孵化器系统开发之LP算力挖矿模型

薇電13242772558

智能合约 dapp开发

用低代码开发平台高效打造仓储管理数字生态

力软低代码开发平台

降低 Spark 计算成本 50.18 %,使用 Kyligence 湖仓引擎构建云原生大数据底座,为计算提速 2x

Kyligence

开源 数据分析

开源即时通讯IM框架MobileIMSDK的Uniapp端开发快速入门

JackJiang

网络编程 即时通讯 IM

开源赋能 普惠未来|百度寄语2023开放原子全球开源峰会

开放原子开源基金会

腾讯Java大牛整理推荐的(Spring AOP/IOC思维导图源码笔记)

做梦都在改BUG

Java spring aop ioc

宝武中南钢铁借助飞桨让钢筋超限监控有了“火眼金睛”

飞桨PaddlePaddle

百度飞桨 图像分割 PaddleSeg

一种DWS迁移Oracle的CONNECT BY语法的方案

华为云开发者联盟

数据库 华为云 华为云开发者联盟 企业号 5 月 PK 榜

GPT大语言模型Vicuna本地化部署实践(效果秒杀Alpaca) | 京东云技术团队

京东科技开发者

AI 京东云 GPT 企业号 5 月 PK 榜

Midjourney|文心一格prompt教程[Text Prompt(上篇)]:品牌log、App、徽章、插画、头像场景生成,各种风格选择:科技风、运动风

汀丶人工智能

人工智能 AI绘画 MidJourney 文生图 prompt learning

如何让技术架构师具有预知未来业务发展的能力? | 京东云技术团队

京东科技开发者

架构师 京东云 企业号 5 月 PK 榜

架构师日记-从代码到设计的性能优化指南 | 京东云技术团队

京东科技开发者

技术架构 京东云 企业号 5 月 PK 榜

阿里巴巴官方上线!号称国内Java八股文天花板(终极版)首次开源

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

二面蚂蚁金服(交叉面),已拿Offer,Java岗定级阿里P6

Java你猿哥

Java ssm 并发 java面试 面经

人工智能与大模型主题师资培训落地,飞桨持续赋能AI人才培养

飞桨PaddlePaddle

paddle 百度飞桨

浅谈微服务中限流熔断降级的方法论

做梦都在改BUG

Java 微服务 限流 熔断降级

使用taro+canvas实现微信小程序的图片分享功能 | 京东云技术团队

京东科技开发者

taro 京东云 企业号 5 月 PK 榜

UI自动化测试革命:拥抱Maestro框架的未来之旅

麦客

ios android 测试 自动化测试

OpenFeign 如何做到 "隔空取物" ?

Java你猿哥

Java Spring Cloud ssm netflix openfeign

开源赋能 普惠未来|TencentOS Tiny诚邀您参与2023开放原子全球开源峰会

开放原子开源基金会

【FAQ】视频编辑服务常见问题及解答

HarmonyOS SDK

HMS Core

“前端”工匠系列(二):合格的工匠,怎么做好价值落地 | 京东云技术团队

京东科技开发者

技术架构 京东云 企业号 5 月 PK 榜

GPT-4预示着前端开发的终结?你准备好面对无法预测的技术挑战了吗?_大前端_InfoQ精选文章