草庐IT

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

新缸中之脑 2023-04-13 原文

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

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

  1. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  2. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  3. ruby - Hanami link_to 助手只呈现最后一个元素 - 2

    我是HanamiWorld的新人。我已经写了这段代码:moduleWeb::Views::HomeclassIndexincludeWeb::ViewincludeHanami::Helpers::HtmlHelperdeftitlehtml.headerdoh1'Testsearchengine',id:'title'hrdiv(id:'test')dolink_to('Home',"/",class:'mnu_orizontal')link_to('About',"/",class:'mnu_orizontal')endendendendend我在模板上调用了title方法。htm

  4. ruby - 如果它是标点符号,我怎么能从字符串中删除最后一个字符,在 ruby​​ 中? - 2

    啊,正则表达式有点困惑。我正在尝试删除字符串末尾所有可能的标点符号:ifstr[str.length-1]=='?'||str[str.length-1]=='.'||str[str.length-1]=='!'orstr[str.length-1]==','||str[str.length-1]==';'str.chomp!end我相信有更好的方法来做到这一点。有什么指点吗? 最佳答案 str.sub!(/[?.!,;]?$/,'')[?.!,;]-字符类。匹配这5个字符中的任何一个(注意,。在字符类中并不特殊)?-前一个字符或组

  5. Ruby - 删除文件中的最后一个字符? - 2

    看起来一定很简单,但我就是想不通。如何使用RubyIO删除文件的最后一个字符?我查看了deletingthelastlineofafile的答案使用Ruby但没有完全理解它,必须有更简单的方法。有什么帮助吗? 最佳答案 有File.truncate:truncate(file_name,integer)→0Truncatesthefilefile_nametobeatmostintegerbyteslong.Notavailableonallplatforms.所以你可以这样说:File.truncate(file_name,Fil

  6. ruby-on-rails - Ruby on Rails 的最后 20% - 2

    我是(相当)一位经验丰富的程序员,但对Ruby和RubyonRails完全陌生。RoR看起来很适合快速工作,特别是用于CRUD操作的自动屏幕生成。它确实能让您快速提高工作效率。问题是最后20%的工作,那时我必须完成我的申请。RoR公约不会妨碍我吗?因为不是每个数据库表都必须对所有用户可用,也不是所有用户都可以编辑所有列和/或所有行,而且View必须适应我网站的外观等。我知道RoR已成功用于现场,但在第一阶段烧毁后,如何在RoR中获得足够的速度以逃避重力。 最佳答案 我认为脚手架无法让您达到80%。脚手架很好,因为它向您展示了Rail

  7. arrays - 在一行中选择数组的第一个和最后一个元素 - 2

    我的任务是从数组中选择最高和最低的数字。我想我很清楚我想做什么,但只是努力以正确的格式访问信息以满足通过标准。defhigh_and_low(numbers)array=numbers.split("").map!{|x|x.to_i}array.sort!{|a,b|ba}putsarray[0,-1]end数字可能看起来像"80917234100",要通过,我需要输出"9234"。我正在尝试putsarray.first.last,但一直无法弄明白。 最佳答案 有Array#minmax完全满足您需要的方法:array=[80,

  8. 网站日志分析软件--让网站日志分析工作变得更简单 - 2

    网站的日志分析,是seo优化不可忽视的一门功课,但网站越大,每天产生的日志就越大,大站一天都可以产生几个G的网站日志,如果光靠肉眼去分析,那可能看到猴年马月都看不完,因此借助网站日志分析工具去分析网站日志,那将会使网站日志分析工作变得更简单。下面推荐两款网站日志分析软件。第一款:逆火网站日志分析器逆火网站日志分析器是一款功能全面的网站服务器日志分析软件。通过分析网站的日志文件,不仅能够精准的知道网站的访问量、网站的访问来源,网站的广告点击,访客的地区统计,搜索引擎关键字查询等,还能够一次性分析多个网站的日志文件,让你轻松管理网站。逆火网站日志分析器下载地址:https://pan.baidu.

  9. 智能客服 | 浅谈人工智能聊天机器人ChatGPT - 2

    2022年底,OpenAI的预训练模型ChatGPT给人工智能领域的爱好者和研究人员留下了深刻的印象和启发,他展现的惊人能力将人工智能的研究和应用热度推向高潮,网上也充斥着和ChatGPT的各种聊天,他可以作诗、写小说、写代码、讨论疫情问题等。下面就是一些他的神回复:人命关天的坑: 写歌,留给词作者的机会不多了。。。 回答人类怎么样面对人工智能: 什么是ChatGPT?借用网上的一段介绍,ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动

  10. 【ChatGPT】ChatGPT 的 N 种用法 - 2

    目录ChatGPT简介技术原理应用未来发展ChatGPT的10 种用法ChatGPT简介ChatGPT是一种基于深度学习的大型语言模型,由OpenAI公司开发。技术原理GPT是GenerativePre-trainedTransformer的缩写,意为生成式预训练变压器。它的技术原理是使用了一个基于注意力机制的变压器(Trans

随机推荐