The End of Front-End Development 阅读分享

153 阅读6分钟

首先放一下这篇文章的链接:The End of Front-End Development

很早之前就想写一篇有关这篇文章的阅读分享了,今天终于狠下心提起笔(敲下键盘),让我们一起来品味一下这篇关于《前端发展的末路》,看看作者是怎么看待前端工程师未来发展的!


焦虑的来源

上图可以表达出在过去几个月里,前端开发人员的一种普遍的焦虑——他们已经看到了来自 GPT-4 等工具的越来越令人印象深刻的演示,他们担心当 AI 精通 HTML/CSS/JS 时,将没有任何工作留给他们。

幸运的是,当我们读完这篇文章之后,心中的焦虑或许会减少很多,本文的作者也是持着反对的观点:他相信,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 文档与前端开发人员如今编写的代码种类之间存在巨大差异。


前端的未来何去何从?

到目前为止,大多数演示的范围(GPT-4)都非常有限:一个简单的 HTML 页面,或者一个 JavaScript 函数。一个开发人员可以在一个下午完成这些任务。

但这些(AI)还处于早期阶段!如果事情继续以同样的速度加速,它将能够在几年内构建整个应用程序(存疑?)。

从根本上来说,**LLM(大语言模型)**是超级强大的文本预测器,给定提示,它们使用机器学习来尝试并提出最有可能跟随提示的字符集。

像 OpenAI 这样的公司花费了大量的时间和精力来调整模型以提高输出的准确率。一群人工标记员对模型的输出进行“分级”,模型进而不断学习和发展。

不过,LLM 无法验证自己的假设,或者测试自己的假设。它们无法确认自己所说的是否属实,它们正在玩一种“概率游戏”,并估计这串字符似乎与提示中的字符串兼容。

有时,这样得到结果的某些部分是荒谬的,OpenAI 团队将这些称为“幻觉”。

随着技术的进步,我们可以预见一些粗糙的边缘会被打磨掉,但从根本上来说,总会有一定程度上的不准确性。这些工具只是没有任何机制来客观地验证它们的答案。

因此,准确性会提高,但是永远不会完美。如果我们谈论的是让 Web 开发人员过时,这是一个问题。如果你不是程序员,你将无法分辨哪些部分是准确的,哪些是不准确的,你将无法发现幻觉

例如,(文章)作者最近使用 GPT-4 为 React 生成一个组件,虽然输出出奇地好,但它仍然犯了一些可访问性错误。创建应用程序的人可能不会注意到这些问题,但是最终用户肯定会注意到!

代码中的安全漏洞呢?当事情发生严重错误时,谁来承担责任???

还有一点:生成一个 50 行的 HTML 文档和生成一个 production-ready 的 Web 应用程序之间存在巨大差异。像这个博客一样的小型 JS 应用程序都有 65k 左右行代码,跨越 900+ 文件。这不包括文本内容,只包括 JavaScript 和 TypeScript。

即使准确率达到 95%,调试起来也非常困难。这就像开发人员花费数月时间构建一个庞大的项目,而从未实际尝试运行任何代码,直到它 100% 完成,这想想就是一个噩梦。

人工智能不是魔法,它的好坏取决于它的训练数据。代码片段遍布互联网,通常是通用的。相比之下,每个代码库都是唯一的,很少有大型开源代码库。人工智能应该如何学习如何构建大型现实世界的项目?

目前来看,距离大型科技公司放弃开发人员并用 AI 取而代之还有很长的路要走。

木匠没有被电动工具取代,会计师没有被电子表格取代,摄影师没有被数码相机/智能手机取代,我不认为开发人员会被 LLM 取代。


结语

开发人员总是必须具有适应能力,与技术一起发展。但到目前为止,我所看到的一切并没有表明我们的工作处于危险之中。我试图想象,如果非开发人员能够在不了解 Web 技术的情况下构建整个 Web 应用程序,我会是什么样子,我想出了很多理由来解释为什么这种情况不会出现,即使 GPT 未来迭代不会产生幻觉。

我不希望自己在 5 年后回头看,发现如今软件开发人员的需求量比当初更大,后悔自己停下脚步,放弃追逐梦想!!!既然年轻,既然还有梦想,那就大胆去追吧!