3

chatGPT等AI技术会代替前端开发的工作吗?

 1 year ago
source link: https://blog.p2hp.com/archives/10832
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

chatGPT等AI技术会代替前端开发的工作吗? | Lenix Blog

在过去的几个月里,我与许多早期职业开发者交谈过,他们对 AI 越来越感到焦虑。他们已经看到来自 GPT-4 等工具的越来越令人印象深刻的演示,他们担心当他们精通 HTML/CSS/JS 时,他们将没有任何工作要做。

这种情绪现在遍布推特:

推文截图:任何只有前端技能的人都应该立即使他们的技能多样化,因为他们的工作不会很快消失。

我完全不同意。我认为 Web 开发人员的工作不会有任何进展。我已经厌倦了恐惧症?在网上传播。

因此,在这篇博文中,我将分享我对将要发生的事情的假设。事情将会改变,但不会像人们所说的那样可怕。

全面披露

我应该指出,我对这个话题有既得利益:我在网上教授软件开发。如果开发人员工作岗位开始消失,那对我的业务不利。

也就是说,这篇博文中的所有内容都是基于我的真实信念。你可以自己决定这些信念是否有偏见。

链接到这个标题

CSS 语言于 1996 年在 Internet Explorer 3 中首次发布。两年内,第一个“无代码”网站构建器 Homestead 推出。

Homestead 允许人们在不编写一行代码的情况下构建自定义网页:

20 年前的建站软件截图

几乎从一开始,就有人担心 Web 开发人员会被某些新技术淘汰。在 2000 年代,它是 WordPress。在 2010 年代,它是 Webflow。在 2020 年代初期,它是“无代码”工具。

而且,在某种程度上,Web 开发人员已经过时了!如今,如果一家当地的面包店、牙医或艺术家需要一个网站,他们可能不会聘请开发人员并支付数万美元从头开始构建一些东西。他们会跳上 SquareSpace,找到他们喜欢的模板,然后每月花费 20 美元。

然而,Web 开发人员仍然存在。

上周,OpenAI 展示了GPT-4。这是一个非常令人印象深刻的演示:GPT-4 可以将网站的手绘草图变成功能齐全的网站,包括一些 JS 来连接“Reveal Punchline”按钮。

显示笑话的网站草图
与草图匹配的 HTML 网站

这是了不起的,我认为它在原型设计方面有很大的潜力……但我们要明确一点:几十年来我们不需要网络开发人员来构建这类页面。此 HTML 文档与当今前端开发人员编写的各种代码之间存在巨大差异。

链接到这个标题

到目前为止,我看到的大多数演示的范围都很有限:一个简单的 HTML 页面,或者一个 JavaScript 函数。一个开发人员可以在一个下午完成的各种事情。

但这些都是早期的日子!如果事情继续以同样的速度加速,它就能在几年内构建完整的应用程序,对吧?

我远不是专家法学硕士?像 GPT-4,但我确实理解它们在高层次上是如何工作的。

从根本上说,LLM 是超级强大的文本预测器。给定一个提示,他们使用机器学习来尝试找出最有可能符合提示的字符集。

像 OpenAI 这样的公司花费了大量的时间和精力来调整模型以提高输出。一大群人工贴标签者对模型的输出进行“分级”,然后模型进行学习和进化。

如果您尝试过 Chat GPT 或 Bing 的 AI 搜索等工具,您可能已经注意到这些回答可能有 80% 的正确率,但他们的回答是绝对的、不可动摇的。

法学硕士无法验证他们的假设,或检验他们的假设。他们无法确认他们所说的是否属实。他们在玩概率游戏,估计这串字符似乎和提示符中的字符串相符。

有时,部分回应是荒谬的。OpenAI 团队将这些称为“幻觉”。

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

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

但是等等,在 GPT-4 演示中,我们看到了 AI 如何自我修复!复制/粘贴错误消息,它会找到并解决问题。

但是嗯,并不是所有的幻觉都会导致异常。例如,我最近使用 GPT-4 使用 React 生成一个<Modal>组件,虽然输出出奇的好,但它仍然出现了一些可访问性错误。创建应用程序的人可能不会注意到这些问题,但最终用户肯定会注意到!

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

还有一点:生成一个 50 行的 HTML 文档和吐出一个生产就绪的 Web 应用程序之间存在巨大差异。像这个博客这样的小型JS应用程序有大约 65,000 行代码,跨越 900 多个文件。这不包括书面内容,仅包括 JavaScript 和 TypeScript

即使有 95% 的准确率,这也很难调试。这就像一个开发人员花费数月时间构建一个巨大的项目,却从未真正尝试运行任何代码,直到它 100% 完成。这是噩梦。

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

我们很快就会达到非开发人员可以坐下来使用聊天机器人并启动一个小型独立项目的地步,人们目前使用 Webflow 等工具来构建这种项目。那太棒了!

但我认为我们距离大型科技公司放弃他们的开发人员并用及时的工程师取代他们还有很长的路要走。在我看来,有几个潜在的无法解决的问题阻碍了这成为现实。

为什么你的博客这么大??

早些时候,我提到我的博客有大约 65k 行代码。如果你不熟悉我的工作,你可能会很困惑一个简单的博客怎么会这么大!它必须设计到什么程度?

代码如此之多的原因是我的大部分博客文章都包含大量自定义交互元素,例如我的Flexbox 交互指南

我还在同一个代码库中托管了几个副项目,比如我的梯度生成器JS 运算符搜索引擎

链接到这个标题

增强,而不是替代

你可能不知道这篇文章,但我实际上对 AI 非常乐观。🤗

我认为最有可能的情况是像 GPT-4 这样的工具被集成到开发人员工具中,并被用来扩大熟练开发人员的能力。

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

我确实想知道开发人员职位的总数是否会下降;毕竟,如果每个开发人员的效率都显着提高,我们需要的人不会更少吗??

不必要。就目前而言,软件开发人员供不应求在我工作过的每家公司,我们都有很多想做的事情,但我们受到开发人员数量的限制。

如果开发人员的工作效率突然提高 2 倍会怎样?将修复更多错误,将发布更多功能,将获得更多利润。不乏要建造的东西,所以我们不会用完开发人员的工作。

实际上,我认为这可能会增加开发人员职位的总数。

今天,有很多公司根本不雇用软件开发人员。我曾经在一家名为 Konrad Group 的公司工作,这是一家为其他公司构建 Web 应用程序的机构,其中许多公司都是家喻户晓的公司。由于开发成本如此之高,他们将开发需求外包出去比聘请内部开发人员更有意义。

那些财富 500 强公司正在根据当前的软件开发成本进行计算。让我们编一些数字:假设他们需要 4 名开发人员,每人 15 万美元,每年 60 万美元。他们向代理机构支付 50 万美元来为他们管理这件事更有意义。但是,如果 LLM 真的能提高开发人员的工作效率,他们或许能够以每人 15 万美元的价格雇佣 2 名开发人员来完成同样数量的工作。突然间,数学更有吸引力了!

让我明确一点:我不是经济学家,这都是疯狂的猜测。我并不是说我知道它会以这种方式摆脱事实。我要说的是,这对我们不利并不是一个必然的结论。没有人知道这将如何解决,我有点厌倦了人们表现得好像最坏的情况是既成事实。

链接到这个标题

我们不是唯一进行此对话的人

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

几周前,他在 YouTube 上发布了一段视频:迪士尼动画师对 AI 动画的反应。阅读这篇博文后,您会觉得他的观点听起来很熟悉:他并不认为这些工具是一种威胁,他认为它们可以提高动画师的生产力,并带来更多的动画师工作

数十个行业的艺术家和知识工作者现在正在进行同样的对话。人们担心他们的工作会被 GPT-4、DALL-E 2 和 Midjourney 等人工智能吞噬。

GPT-4 可以通过模拟律师资格考试?得分在应试者的前 10% 之内。许多律师正在进行这些完全相同的讨论

我个人认为,在大多数情况下,工作的专业人士会找到将这项技术集成到他们的工作流程中的方法,从而提高他们的生产力和价值。某些任务可能会委托给 AI,但不会委托给很多工作

但如果我错了,事实证明 LLM 可以完全取代软件开发人员怎么办?如果真是这样,我怀疑法学硕士将取代绝大多数知识工作者。

这不是那种你可以通过切换到不同的学科来避免的海啸。没有更高的地方。因此,与其试图赌未来会发生什么,为什么不专注于你热衷的事情、你感兴趣的事情、你擅长的事情呢?

前端与其他工程学科

一些在线人士一直在暗示前端开发特别容易被 AI 替代,并建议开发人员向上移动,专注于后端或数据工程。

这对我来说似乎完全倒退了。我认为任何开发人员都不必担心被淘汰,但如果这里有任何漏洞,我认为它在后端。

上周 OpenAI 的 GPT-4 直播展示了两个与代码相关的演示:

  • “笑话网站”前端
  • 基于 Python 的 Discord 机器人

在这两个项目中,Python 代码对我来说似乎适合生产。我最近使用 Node.js 构建了一个 Discord 机器人,代码看起来非常相似。

相比之下,为笑话网站生成的基本HTML文档和我每天写的前端代码之间就差了那么多日光。

这是一种过度概括,但在过去的 10 年里,很多复杂性已经从服务器转移到客户端。Monolithic Express 应用程序已经转变为无服务器功能的集合,而我们的前端已经从超链接数字文档发展为成熟的桌面质量应用程序。

此外,前端是用户与之交互的产品部分。公司通常希望他们的产品是定制的、独特的、根据他们的品牌精心制作的。相比之下,后端是不可见的。通用后端比通用前端更容易接受。

令人沮丧的是,我们行业中有很多人认为后端开发比前端开发更难或更复杂,“真正的”工程发生在服务器上。这当然是无稽之谈。

我认为自己是一个全栈开发者。实际上,我的职业生涯始于后端,使用 PHP 和 Ruby on Rails。我仍然花费大量时间为我的课程平台编写后端代码。堆栈的两边都有不同的困难。它们既复杂又困难。

(顺便说一句,即使不涉及 JS 框架,前端仍然很复杂和困难。我非常尊重那些专门使用 HTML、CSS 和 vanilla JS 制作高质量网站的人,专注于可用性和可访问性。而且我认为它们不会很快被 AI 取代。)

链接到这个标题

使用法学硕士来帮助你学习

我听一些人说,在学习技术技能方面, ChatGPT真的很有帮助。如果您对教程中的某些内容感到困惑,可以让 AI 为您解释!

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

但我确实认为你需要小心。使用这样的工具来帮助您学习有正确的方法和错误的方法。

错误方法是将其视为 GPS 导航。当我必须开车去某个地方时,我会把地址输入我的 GPS,然后不加区别地按照它的指示去做。我通常会在我需要去的地方结束,但这对我来说需要 0 的精神努力。结果,我的方向感完全萎缩了。如果没有合成语音告诉我该做什么,我现在哪儿也去不了。😬

我建议不要将其视为 GPS,而是将其视为陪审团成员,而法学硕士是被告,出庭作证。

你会听他们说什么,但你不会接受它作为事实。你会持怀疑态度,批判性地思考每一个词。

不要盲目地复制/粘贴 ChatGPT 生成的代码,而是逐行检查它,并确保你理解了。要求它澄清。并用权威来源(例如官方文档)仔细检查看似可疑的事情。请记住,LLM 是 100% 自信的,但不是 100% 准确的。

如果你遵循这个策略,我认为法学硕士可以提供很多价值。😄

链接到这个标题

给有抱负的开发人员的消息

我想写这篇博文的原因是专门针对那些正在学习 Web 开发并且感到焦虑和沮丧的人,就像在整个领域都没有意义的情况下花费所有这些时间/精力来培养这些技能一样即将被淘汰。

我不能保证事情会一成不变。我怀疑人工智能会对我们的工作方式产生影响。早在 2007 年,我就开始研究 HTML/CSS/JS,从那以后情况发生了很大变化。开发人员始终必须具有适应性,才能与技术一起发展。

但到目前为止,我没有看到任何迹象表明我们的工作处于危险之中。我试着想象如果非开发人员能够在不了解网络技术的情况下构建整个网络应用程序会是什么样子,我想出了很多它无法工作的原因,即使 GPT 的未来迭代不会不要产生幻觉。

我可能是错的。我没有水晶球🔮。据我所知,明天太阳可能会爆炸。但我真的不相信我们正处于网络开发人员被淘汰的风口浪尖。而且我担心许多潜在的开发人员会无缘无故地松开油门。

我不希望你在 5 年后回头看,如果软件开发人员更受欢迎,并且后悔你停止追求你的梦想。❤️


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK