关于我们

强劲算力,源源动力

GPT-4 预示着前端开发的终结?你准备好面对无法预测的技术挑战了吗?
发布时间:2023-04-11 15:18:46    来源:醉月
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 工程师?那还有很长的路要走,前面提到的这些潜在问题将严重阻碍这种想象在现实中落地。