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

在这篇文章中,我将说明像 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/1733.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二叉搜索树:AVL平衡

文章目录一、 二叉搜索树1.1 概念1.2 操作1.3 代码实现二、二叉搜索树的应用K模型和KV模型三、二叉搜索树的性能分析四、AVL树4.1 AVL树的概念4.2 AVL树的实现原理4.3 旋转4.4 AVL树最终代码一、 二叉搜索树 1.1 概念 二叉搜索树( Binary Search Tree,…

LeetCode刷题记录---数位DP算法

😄 学会数位dp算法,可以连杀好几道力扣困难题,加油~ 🚀题目: 难度题目困难2376. 统计特殊整数困难1012. 至少有 1 位重复的数字困难233. 数字 1 的个数困难面试题 17.06. 2出现的次数🚀学习资料: 数位dp算法,我是跟着灵神学的,感谢灵神!数位 dp 通用模板参考灵神…

Python数据分析案例24——基于深度学习的锂电池寿命预测

本期开始案例较为硬核起来了,适合理工科的硕士,人文社科的同学可以看前面的案例。 案例背景 这篇文章是去年就发了,刊物也印刷了,现在分享一部分代码作为案例给需要的同学。 原文链接(知网文章 C核)&…

python如何快速采集美~女视频?无反爬

人生苦短 我用python~ 这次康康能给大家整点好看的不~ 环境使用: Python 3.8 Pycharm mou歌浏览器 mou歌驱动 —> 驱动版本要和浏览器版本最相近 <大版本一样, 小版本最相近> 模块使用: requests >>> pip install requests selenium >>> pip …

不是,到底有多少种图片懒加载方式?

一、也是我最开始了解到的 js方法&#xff0c;利用滚动事件&#xff0c;判断当时的图片位置是否在可视框内&#xff0c;然后进行渲染。 弊端&#xff1a;代码冗杂&#xff0c;你还要去监听页面的滚动事件&#xff0c;这本身就是一个不建议监听的事件&#xff0c;即便是我们做了…

【selenium学习】数据驱动测试

数据驱动在 unittest 中&#xff0c;使用读取数据文件来实现参数化可以吗&#xff1f;当然可以。这里以读取 CSV文件为例。创建一个 baidu_data.csv 文件&#xff0c;如图所示&#xff1a;文件第一列为测试用例名称&#xff0c;第二例为搜索的关键字。接下来创建 test_baidu_da…

百度生成式AI产品文心一言邀你体验AI创作新奇迹:百度CEO李彦宏详细透露三大产业将会带来机遇(文末附文心一言个人用户体验测试邀请码获取方法,亲测有效)

百度生成式AI产品文心一言邀你体验AI创作新奇迹中国版ChatGPT上线发布强大中文理解能力超强的数理推算能力智能文学创作、商业文案创作图片、视频智能生成中国生成式AI三大产业机会新型云计算公司行业模型精调公司应用服务提供商总结获取文心一言邀请码方法中国版ChatGPT上线发…

贪心算法的原理以及应用

文章目录0、概念0.1.定义0.2.特征0.3.步骤0.4.适用1、与动态规划的联系1.1.区别1.2.联系2、例子3、总结4、引用0、概念 0.1.定义 贪心算法&#xff08;greedy algorithm &#xff0c;又称贪婪算法&#xff09;是指&#xff0c;在对问题求解时&#xff0c;总是做出在当前看来是…

Java怎么实现几十万条数据插入(30万条数据插入MySQL仅需13秒)

本文主要讲述通过MyBatis、JDBC等做大数据量数据插入的案例和结果。 30万条数据插入插入数据库验证实体类、mapper和配置文件定义User实体mapper接口mapper.xml文件jdbc.propertiessqlMapConfig.xml不分批次直接梭哈循环逐条插入MyBatis实现插入30万条数据JDBC实现插入30万条数…

第十九天 Maven总结

目录 Maven 1. 前言 2. 概述 2.1 介绍 2.2 安装 3. IDEA集成Maven 3.1 集成Maven环境 3.2 创建Maven项目 3.3 Maven坐标详解 3.4 导入maven项目 4. 依赖管理 4.1 依赖配置 4.2 依赖传递 4.3 依赖范围 4.4 生命周期 4.5 插件 Maven 1. 前言 1). 什么是Maven? …

Linux实操之服务管理

文章目录一、服务(service)管理介绍:service管理指令查看服务名服务的运行级别(runlevel):CentOS7后运行级别说明chkconfig指令介绍一、服务(service)管理介绍: 服务(service)本质就是进程&#xff0c;但是是运行在后台的&#xff0c;通常都会监听某个端口&#xff0c;等待其它…

原力计划来了【协作共赢 成就未来】

catalogue&#x1f31f; 写在前面&#x1f31f; 新星计划持续上新&#x1f31f; 原力计划方向&#x1f31f; 原力计划拥抱优质&#x1f31f; AIGC&#x1f31f; 参加新星计划还是原力计划&#x1f31f; 创作成就未来&#x1f31f; 写在最后&#x1f31f; 写在前面 哈喽&#x…

依赖注入~

依赖注入之setter注入&#xff1a; 依赖注入是IOC具体的一种实现方式&#xff0c; 这是针对资源获取的方式角度来说的&#xff0c;之前我们是被动接受&#xff0c;现在IOC具体的实现叫做依赖注入&#xff0c;从代码的角度来说&#xff0c;原来创建对象的时候需要new&#xff0…

Phoenix基础命令_视图映射和表映射_数字存储问题---大数据之Hbase工作笔记0036

然后我们再来看看,用Phoenix来操作hbase,的基本用法 具体的其他的命令在官网都能找到,这里就说几个 https://phoenix.apache.org/language/index.html 首先是创建表,这里注意,默认表名给弄成大写的 这里的varchar对应的其实就是hbase中的string 然后这里的id表示行的rowkey 可…

chatgpt3.5和chatgpt4的区别

ChatGPT4是基于GPT-3模型的一个实例&#xff0c;但ChatGPT4已经进行了进一步的改进和优化。GPT-3&#xff08;第三代生成式预训练模型&#xff09;是OpenAl开发的一个大型语言模型&#xff0c;它在很多自然语言处理任务中表现出色。ChatGPT4继承了GPT-3的基本架构和能力&#x…

复旦微ZYNQ7020全国产替代方案设计

现在国产化进度赶人&#xff0c;进口的芯片只做了个功能验证&#xff0c;马上就要换上国产的。国内现在已经做出来zynq的只有复旦微一家&#xff0c;已经在研制的有上海安路&#xff0c;还有成都华微&#xff08;不排除深圳国威也在做&#xff0c;毕竟这个市场潜力很大&#xf…

如何在Unity中实现AStar寻路算法及地图编辑器

文章目录AStar算法简介实现Node节点节点间的估价算法核心邻节点的搜索方式地图编辑器简介实现绘制地图网格障碍/可行走区域地图数据存储AStar算法 简介 Unity中提供了NavMesh导航寻路的AI功能&#xff0c;如果项目不涉及服务端它应该能满足大部分需求&#xff0c;但如果涉及服…

树莓派(3B):启动流程,系统初始化配置,引脚图图示说明

目录 一&#xff0c;树莓派刷机及串口方式登陆 ① 准备工具 ② 操作步骤 二&#xff0c;配置树莓派接入网络 ① 树莓派入网 ② 固定树莓派的ip地址 三&#xff0c;网络SSH方式登陆树莓派 ① 打开树莓派SSH功能 ② 登陆SSH 四&#xff0c;用国内的源更新vim 五&…

48天C++笔试强训 001

作者&#xff1a;小萌新 专栏&#xff1a;笔试强训 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;讲解48天笔试强训第一天的题目 笔试强训 day1选择题12345678910编程题12选择题 1 以下for循环的执行次数是&#xff08;&#xff…

手把手教你基于HTML、CSS搭建我的相册(上)

The sand accumulates to form a pagoda写在前面HTML是什么&#xff1f;CSS是什么&#xff1f;demo搭建写在最后写在前面 其实有过一些粉丝咨询前端该从什么开始学&#xff0c;那当然是我们的前端基础三件套开始学起&#xff0c;HTML、CSS、javaScript&#xff0c;前端的大部分…