软件行业的最后十年【ChatGPT】

2023-05-16

在这篇文章中,我将说明像 ChatGPT 这样的生成式人工智能 (GAI) 将如何在十年内取代软件工程师。 预测被离散化为 5 个阶段,总体轨迹趋向于完全接管。 但首先,一个简短的前言。

在这里插入图片描述

推荐:用 NSDT场景设计器 快速搭建3D场景。

1、关于AI的预测谬误

人类的预测是出了名的短视,尤其是在技术方面:

  • 1903 年,《纽约时报》预测人类需要超过 100 万年的时间才能飞行。 九周后,莱特兄弟做到了。
  • 同年,一位著名的银行行长在谈到投资亨利·福特时说:“这匹马会留下来,但汽车只是一种新奇事物——一种时尚。
  • 关于收音机,“无线音乐盒没有想象中的商业价值。 谁会为没有特别发送给任何人的消息付费?”

然而,一个世纪后的今天,我们看到了相当于汽车的 AI,并自欺欺人地认为这次它有所不同。 汽车刚刚被发明出来,我们说它会给我们的马增加轮子。
在这里插入图片描述

AI 生成的带轮子和翅膀的马。 DALL-E 准备杀死 Unsplash 和数码照片行业

谬误一:AI只会取代脚本小子

忽略一个明显的观点,即一个没有新手的行业将在一代人内消亡,没有任何一个地球上的开发人员、初级、高级或 L9 超级架构师能够像 AI 一样精通和广泛地编写软件。 你能声称完成了 ChatGPT 第 1 天的所有或任何成就吗?

  • 通过多家顶级公司的编程面试
  • 在几秒钟内根据用户故事构建系统和数据库表
  • 理解和翻译大多数语言(口语和编码)

最重要的是,ChatGPT4 仅需数周时间,现在已达到 Microsoft 规模。

但是你看——它的代码有错误!

快讯——世界一流的开发人员也会生成带有错误的代码。 不同之处在于我们的认知能力并没有以几何速度增长。 当我第一次看到生成式 AI (GAI) 用 Python 创建一个网站,然后将其翻译成 Rust 时,我的过时是显而易见的。 然而,大多数人对一些小错误或不合时宜的评论的大众反应是“看,看——它做不到我能做的”。 我们听起来有多妄想? 这是确认偏差,简单明了——类似于得出第一辆汽车永远不会取代马车的结论,因为道路不够宽。

谬误 2:AI 是用来增强而非替代的

工程师目光短浅,没有意识到他们构成了一个巨大的成本中心,管理层正垂涎三尺地削减成本。 撇开 OpenAI 公开表示要取代开发人员的意图不谈,想想我们有多贵。 2021 年,北美有 430 万开发者,平均工资超过 10 万美元。 加上福利、税收和其他员工开支,保守估计为 6000 亿美元。 你是在告诉我像贝佐斯这样的人,他认为上厕所太贵了,想要留下我们吗? 一旦少数公司走这条路,其余公司就会像多米诺骨牌一样倒下,以免被定价淘汰。
在这里插入图片描述

除了节省成本之外,OpenAI 瞄准编程工作是有原因的——它是最容易被取代的行业。 尽管 ChatGPT 通过了法律和商学院考试,但这些领域对 AI 来说不太容易进入。 例如,法律涉及物证、法庭和文书工作,这就需要机器人技术,而在这个领域,制作比萨饼是一项突破。 正当程序涉及繁文缛节、陪审团选择、上诉……受人类时间尺度限制的事情。 相比之下,软件工程完全是数字化的,可按指数级扩展,并且总是落后于计划。 这是敌意收购的完美目标。

2、预测

阶段 0:原型(2023 年第一季度)

在撰写本文时,我们正处于原型阶段。 这个阶段的特点是新兴的、基于浏览器的AI工具。 OpenAI 凭借 DALL-E 和 ChatGPT 吸引了全世界,而谷歌则通过 Bard 做出回应。 大多数交互都是通过网络浏览器进行的,尽管 ChatGPT 扩展正在蓬勃发展。 像 Codex 和 CoPilot 这样的工具已经在 IDE 中站稳了脚跟,但主要采用并不是在全球范围内。 ChatGPT 仍然不稳定,这些平台需要生产化。 然而,随着微软和谷歌加入竞争,这很快就会得到纠正(注意——这发生在我开始撰写这篇文章后的几周内)。
在这里插入图片描述

失业预测:2%

2023 年初的行业已经经历了大规模的技术裁员,GAI 工具还很不成熟。 管理层仍在掌握它们,我们正处于集体蜜月期。 虽然取代大多数工程师还为时过早,但 GAI 已经在扰乱广告业务。 雅虎正在裁员 50% 的广告技术人员,而谷歌的搜索业务受到重大威胁。 因此,我预测工程师的裁员将持续到 2023 年,但这是偶然的——是对此的反应,而不是结果。

阶段1:规模化和 IDE 渗透(2023 年第 2 季度至第 4 季度)

CoPilot、Codex 和其他 IDE GAI 工具将得到广泛采用。 例如,在 Java/Spring 项目中,很容易生成大量样板代码:

添加用于管理用户对象的 CRUD Rest API

这将会自动生成控制器、服务和 Hibernate 模块。 阶段 1 和阶段 0 之间的主要区别在于 IDE 维护的技术上下文的数量。 在第 0 阶段,我们必须使用类似下面这样的提示:

向我展示 Spring 框架中用于用户对象上的 CRUD 的 REST API 示例。 包括 Hibernate 对象的示例。

然后自己复制/粘贴结果。 在 IDE 中拥有项目上下文将极大地提高生产力。 新项目的创建也将在 IDE 中进行,并取代 Spring Initializer 等脚手架工具。

失业预测:5%

如果 2023 年还没有受到大规模技术裁员的影响,而且发展缓慢的行业(例如银行业)的采用速度会更慢,那么损失会更大。 GAI 将首先通过与 Microsoft 工具套件的集成进入该计划。 否则,它的采用将受到法规和行业陷入过去的风险规避的损害,在过去,本地解决方案是常态,“微服务”仍然是一个流行词。

否则,早期采用者将看到生产力的巨大提高和工程速度的加快。 这可能是最终推动我们走出衰退的顺风,但短期内就业增长不太可能。 特别是当 GAI 增强的工程人员以前所未有的方式达到目标和最后期限时。 除了像谷歌这样的公司,其广告收入业务将由 GAI 提供,我们大多数人都是安全的。 但增强的蜜月将是短暂的

第 2 阶段:高级 IDE 工具和整合(1 - 2 年)

随着 IDE 工具变得更加复杂,第 2 阶段将从第 1 阶段有机地出现。 整个代码库将为 AI 提供上下文,然后 AI 将能够提出项目范围的建议,例如:

在最新版本的 React 中重建这个 Angular 6 项目

为项目添加 100% 的单元测试覆盖率

使用 Gradle 和 Java 17 将所有模型类重构到一个单独的库中

将安全模型从 OAuth 更改为 SAML

这将极大地改善遗留代码库的维护和迁移。 随着数百万工程师应用此类更改,使用模式将会出现并用于训练下一代工具。 随着传统的 IDE 成为 AI 的容器,这些建议将被自动应用。 例如,为什么不是每个代码库都获得 100% 的单元测试覆盖率? 事实上,它应该在我们编码时在后台自动发生。

这个时期将被称为大合并(great consolidation)。 框架之间长期存在的竞争将决定哪个框架对 AI 最友好。 例如,想象一下,只需单击一下按钮,就可以将遗留的 JS 代码库安全地升级到 React,但是将相同的迁移到 Vue 需要一周的时间。 即使有可行的理由选择 Vue,最终适应 AI 集成最快的框架将占上风。

这种军备竞赛也将发生在编程语言中。 例如,假设你继承了一个用 Python 编写的执行缓慢的代码库。 你的 IDE 建议将其翻译成 Rust。 你单击“是”并重新部署,应用程序的速度突然提高了 10 倍。 协议也是如此——当一切都可以很容易地成为 gRPC 时,为什么还要费心使用 HTTP? 让我们暂时摆脱 FTP 和 .md5。

最后,第 2 阶段还将带来 AI-CD 管道的出现。 不难想象可以学习部署模式的 CD 管道。 例如,一个每天根据流量调整 Kubernetes 配置的 AI。 或者甚至在不同的技术堆栈中重建应用程序以优化性能和服务器成本。

失业预测:25%

在第 2 阶段,工程清洗真正开始。 无论这是由于增强工程师的生产力过高,还是 AI 复制了使用模式并在没有它们的情况下管理代码,结果都是一样的。 失业对以下人员的打击最大:

  • 低绩效者或 AI 拒绝者
  • AI首先取代通才。 Web 是第一张多米诺骨牌,其次是移动设备。 虚拟现实或游戏开发人员等专家仍然安全。
  • 主要成本中心是工程师的科技公司。 Elon 对 Twitter 的处理预示着科技行业的未来。

第 3 阶段:SaaS 和无代码(2-5 年)

到 2025 年,第 2 阶段的数字冰川将留下一个同质的软件景观。 遗留代码库已经过大修或更换。 某些框架和编程语言已经成为大整合的明显赢家。 活动代码库满足前所未有的测试覆盖率、安全性和标准化标准。 手动文档是不合时宜的。 一直以来,AI 一直在学习其 IDE 增强用户的使用模式。 所有这一切都为软件历史上最重要的转折点奠定了基础——人工智能现在完全理解并在业务规则层面运行。

第 3 阶段的特点是无代码 AI 工具的寒武纪大爆炸,使非技术用户能够构建应用程序。 聊天提示现在以问答方式关注业务逻辑。 例如,想象一个假设的送餐服务。

问:顾客下 200 美元的食品订单的标准是什么?
答:购买 200 美元订单的客户必须在我们的系统中拥有至少 75 美元的活跃信用并且在去年下了 3 个或更多订单。

问:请添加一条规则,客户不能在距其家庭住址 50 英里范围内下超过 200 美元的订单。
答:该规则已添加——这里是您可能感兴趣的其他规则的文档。

在 IDE 中编码将会消亡。 事实上,“代码”只不过是一个实现细节,被遗忘的越来越多。 这些产品的唯一重点是人机交互。 适用于堆栈各个方面的专用产品出现了,例如,DevOps 管道中专门用于蓝绿部署的 AI。

问:首先将 200 美元的规则变更部署到加拿大市场——如果在接下来的 3 个月内在美国成功部署。
答:我已经为此功能配置了一个部署模型,首先在西南地区推出。 如果新规则导致 2 月份的用户互动超过 5%,我将从 3 月 22 日开始在美国市场分阶段推出。这是一份跟踪报告。 你想收到里程碑提醒吗?

像 GitHub 这样的网站看起来会开始像 Wix,因为它们会竞相吸引新一代的非技术用户。

失业预测:75%

在这个阶段,全栈通才没了,产品团队和移动开发人员也没有了。 视频游戏和医疗软件等利基领域现在正受到威胁。 开发人员转向其他工程领域,如机器人和生物技术。 所有这一切都开启了超级 SME(主题专家)的时代——具有深厚业务知识的非技术用户直接通过 AI 建立业务。

在这里插入图片描述

第 4 阶段:AI 原生和领域优势(5-10 岁)

第 4 阶段是迄今为止最有趣的阶段。 人工智能驱动的项目管理导致代码生态系统减少和同质化。 由于代码不再由人类维护,因此无需针对认知复杂性对其进行优化。 单元测试、文档和设计模式消失了——过去时代的遗物。 底层代码是一个隐藏的细节,对用户来说就像手持计算器的固件一样无关紧要。 当然,代码可以用 Python、Java 或任何其他语言呈现,但目的是什么?

“计算机软件行业最惊人的成就是它持续抵消了计算机硬件行业取得的稳定而惊人的收益。”
~ 亨利彼得罗斯基

随着 AI 管理的代码只集中在性能最高的技术堆栈上,AI 原生时代开始了。 新的硬件和编译器专为 AI 操作员设计。 运行时代码以新颖的汇编语言执行。 摆脱了微不足道的人类认知的束缚,设计模式被抛弃以追求机械同情。 Nvidia、Intel 和其他制造商充分利用了这一点。 任何剩下的人类开发人员都被排挤出去,因为 AI 原生代码的深奥指令集也可能是用古代楔形文字编写的。

失业预测:95%

虽然像银行业这样笨拙的后期采用行业可能已经挺过了第 3 阶段,但它们再也负担不起人类的成本中心; 它现在脱落或死亡。 人类开发人员的最后遗迹已从行业中清除。 除了 AI 研究和运行核反应堆的陈旧 COBOL 程序之外,人类编码员现在是一种过时的新奇事物,就像中央公园的马车之旅一样。

阶段 5:热寂(10 岁以上)

软件现在无法识别。 业务规则由人工智能支持的中小企业维护。 AI 原生标准已全球化。 代码不再驻留在静态存储库中——它是短暂的和动态的。 每天都会出现新的 AI 工具和产品。 他们立即接入分布式程序网络,数字业务发生转变。

想象一下你未来的自己拥有一家数字企业。 你可以通过 AI 驱动的设计平台创建和维护它。 一个虚拟的 AI 舰队每天都会做出改进和提出建议。 性能和安全性增强会自动发生且不可见。 每次登录时,系统都会提示你有关新功能的信息。 由于 AI 完全理解业务领域,因此它可以提出领域级的建议。

AI:你的竞争对手正在添加先买后付的选项,你愿意加入吗?
你:是的——请将它部署到我一半的美国用户。

这具有军备竞赛的所有条件,因为 AI 产品竞争管理你的业务。 不法分子也会利用人工智能达到他们自己的目的。 世界跳跃到超高速。 Web 3.0 和其他转型在 AI 的推动下提前数年到来。

失业预测:99%

到目前为止,人类已经适应了他们作为 AI 牧羊人的补充角色,如果事情进展不顺利,或者羊。 他们见证了数字基板的全面转型。 当然,仍然会有业余编码员,但他们的工作影响不大……类似于示波器艺术。

但一切都没有丢失。 尽管这些预测与任何工业革命一样严峻,但人们往往会反弹并茁壮成长。 在经历了短暂的痛苦之后,抛开灭亡的可能性不谈,等待人类的将是什么? 一个机器可以完成过去需要一万人完成的繁重智力工作的世界。 我们将如何处理它?

在这里插入图片描述


原文链接:软件开发的末日 — BimAnt

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件行业的最后十年【ChatGPT】 的相关文章

随机推荐

  • MFC 中设置定时器Timer的方法

    在用settimer之前要知道 1 同1个 settimer xff08 xff09 在一个循环里设置一次就行了 xff0c 要是让其不断的set xff0c 是很可能执行不到ontimer xff08 xff09 消息处理函数的 xff0
  • 控制中的各种函数MATLAB仿真

    控制系统的MATLAB仿真 1 MATLAB简介 MATLAB是Mathworks公司开发的一种集数值计算 符号计算和图形可视化三大基本功能于一体的功能强大 操作简单的优秀工程计算应用软件 MATLAB不仅可以处理代数问题和数值分析问题 x
  • 使用VNC实现Windows7远程CentOS的桌面

    使用VNC实现Windows7远程CentOS的桌面 一 CentOS服务端配置 1 下载Putty远程登录软件 下载windows版本 输入CentOS计算机的ip xff0c 登录CentOS计算机的终端 xff08 下载Putty地址
  • iperf3使用方法(Windows与MacOS,iOS)

    Windows下载 https iperf fr iperf download php windows MacOS下载 brew install iperf3 iOS App Store搜索 iperf 61 61 61 61 61 在软路
  • 树莓派raspberry pi 安装远程工具teamviewer

    raspberry pi 安装远程工具teamviewer 1 下载Teamviewer wget http download teamviewer com download linux version 11x teamviewer hos
  • windows配置端口映射到其它电脑(转载)

    windows配置端口映射到其它电脑 转载 A 配置方法 假定需要通过192 168 1 8的14941端口连接192 168 1 118的1494端口 xff0c 则需要在192 168 1 8主机的命令行输入如下语句 netsh int
  • RFID ACCESS CONTROL门禁密码修改

    1 必须先进入编程方式 xff1a 按 xff3b xff3d xff0b xff3b 6位编程密码 如012345 xff0c 忘记编程密码参考第6步重置 xff0c 嘟嘟两声响 xff0c xff08 红灯闪烁 xff0c 绿灯长亮 出
  • 【论文笔记】SphereFace: Deep Hypersphere Embedding for Face Recognition

    参考文献 xff1a Liu W Wen Y Yu Z et al SphereFace Deep Hypersphere Embedding for Face Recognition J arXiv preprint arXiv 1704
  • vue3项目使用node连接数据库(前后端分离)

    学习关键语句 xff1a vue连接mysql数据库 vue项目连接后台数据库配置 vue通过node连接MySQL数据库 写在前面 为了快速学习nodejs制作后端并和数据库进行交互的方法 所以赶紧写一篇这样的文章出来 如果你对这篇文章中
  • 机器学习实战-64:线性判别分析降维算法(Linear Discriminant Analysis)

    机器学习实战 64 线性判别分析降维算法 深度学习原理与实践 开源图书 总目录 xff0c 建议收藏 xff0c 告别碎片阅读 xff01 机器学习分为监督学习 无监督学习和半监督学习 强化学习 无监督学习最常应用的场景是聚类 cluste
  • 计算机硬件基础与实践探知

    计算机硬件的五大单元 在介绍计算机硬件基础之前 xff0c 我们必须了解一下计算机硬件的五大单元 xff0c 注意这里说的是硬件的五大单元并不是计算机五大单元 输入设备 无论是计算机五大单元还是计算机硬件的五大单元 xff0c 这其中必须包
  • 去除Google Chrome新标签页中的8个缩略图

    在Google Chrome中 xff0c 新建空白页时 xff0c 会显示如下缩略图 xff0c 并且会看到最近的一些访问记录 xff1a 对于本人自己感觉不是很美观 xff0c 我喜欢更简洁的界面 xff0c 而且也看不全我喜爱的背景图
  • 面对百亿数据,Hbase为什么查询速度依然非常快?

    HBase适合存储PB级别的海量数据 xff08 百亿千亿量级条记录 xff09 xff0c 如果根据记录主键Rowkey来查询 xff0c 能在几十到百毫秒内返回数据 那么Hbase是如何做到的呢 xff1f 接下来 xff0c 介绍一下
  • Laravel视图blade模板使用集合

    var 打印内容 var or 39 default 39 打印内容并带一个默认值 var 打印转义内容 Comment 注释 64 extends 39 layout 39 继承模板 layout 64 if condition if开始
  • Plotly安装与使用方法

    Plotly是新一代的Python数据可视化开发库 xff0c 它提供了完善的交互能力和灵活的绘制选项 本文将介绍新手如何安装plotly并编写第一个plotly绘图程序 xff0c 以及使用plotly绘制常见的5种数据图表 与Matpl
  • MOSFET数字孪生实战【Python】

    本文将介绍如何使用 Python 构建电子开关 xff08 晶体管 xff09 的数字孪生 1 什么是数字孪生 xff1f IBM 将数字孪生定义如下 数字孪生是一种旨在准确反映物理对象的虚拟模型 xff0c 并指出创建数字孪生的主要促成因
  • Python三维地址建模教程【Gempy】

    Gempy 是一个开源 Python 库 xff0c 用于生成完整的 3D 结构地质模型 该库是从界面 断层和层方向创建地质模型的完整开发 xff0c 它还关联地质层序列以表示岩石侵入和断层顺序 地质建模算法基于通用协同克里金插值法 xff
  • 10个值得收藏的ChatGPT辅助编程技巧

    在我们开始之前 xff0c 你必须先了解编程语言 xff0c 然后才能相信 ChatGPT 抛给你的任何东西 我必须明确这一点 xff0c 因为许多误入歧途的绵羊被告知 ChatGPT 是新的圣杯 xff0c 开发人员将被淘汰 推荐 xff
  • Stable Diffusion - API和微服务开发

    Stable Diffusion 是一种尖端的开源工具 xff0c 用于从文本生成图像 Stable Diffusion Web UI 通过 API 和交互式 UI 打开了许多这些功能 我们将首先介绍如何使用此 API xff0c 然后设置
  • 软件行业的最后十年【ChatGPT】

    在这篇文章中 xff0c 我将说明像 ChatGPT 这样的生成式人工智能 GAI 将如何在十年内取代软件工程师 预测被离散化为 5 个阶段 xff0c 总体轨迹趋向于完全接管 但首先 xff0c 一个简短的前言 推荐 xff1a 用 NS