为什么AI不会夺去软件工程师的工作?

自从AI大模型爆火以来,我每天的工作中,已经有大量的真实代码是通过AI完成的。人工智能辅助下的编程,确实大幅减轻了我的工作负担,大大提高了生产力。

大语言模型是如此成功,以至于无可避免地在开发者社区中引起了各种猜测,其中特别让人关心的莫过于:

人工智能是否能够彻底改变我们的行业?程序员的工作是否会彻底被人工智能所代替?

我的观点是:

我们的行业将被大模型彻底改变,这毋庸置疑。但是,它只会让真正的软件工程师更加高效,而不是会取代工程师的工作。

这不是盲目自信。这个观点来自于一个更为本质的原则。这就是本文我们想讨论的真正的主题:

软件工程师的工作不是写代码,而是探索与发现。

01 软件工程师的工作不是写代码

很多软件工程师都戏称自己是“码农”, 这不难理解,毕竟代码才是我们真正的工作制品,可以工作的功能通过代码得以表达和体现,脱离了代码,文档等等都并不能真正的表达软件的价值。但是,需要注意的是:软件开发绝不仅仅是编码,编码其实是软件开发中的次要部分。它不过是“开发”活动的最终表达。软件开发的核心,就如同它的名字所表达那样,是“开发”,是从无到有的过程,是持续地探索和发现。

我们的开发工作中,有一半以上的时间,是用来探索我们原本不知道的东西,只有不到一半的时间,是去完成实际的“建造”——无论这个建造指的是文档还是代码。

探索和发现包含哪些事情呢?随便列举一些:

  • 理解真实的业务目标

  • 思考能满足业务目标的产品方案

  • 理解用户需求中模糊的细节

  • 思考架构设计的方案

  • 理解既有代码中已经实现了哪些功能,有哪些可复用的资产,有哪些约束和陷阱

  • 学习不熟悉的技术框架以及它们的特性

上面的这些事情, 都是探索起来非常费力,但是一旦弄明白就很容易做的事情。这也很类似于缺陷修复中常见的场景:定位3小时,修复10分钟。

下面的图表达了软件开发中的核心内容:

软件开发有3个核心问题:

  1. 弄清楚解决什么问题

  2. 设计出合理的解决方案

  3. 把它构建出来并交付使用

上图的横轴代表时间,纵轴代表知识,我们在整个的开发过程中,关键问题是知识的增长,也就是“探索和发现”。在上述3点中,前两点都是“探索与发现”,只有第3点,是“建造”。这也是当前的人工智能模型最擅长的地方,也是很可能成为工作主体的地方。前两点,大语言模型能够很有帮助,但是它更多还是辅助角色,成不了主体。

02 最大化探索和发现的效率

大家都在讲研发的提效。真正的提效,不是“建造”的速度有多快,而是在探索与发现上,节省了多少时间。用下图来表示:


上方的曲线和下方的曲线代表来完全不同的两类组织。第一类组织,在项目早期就快速定位了各种问题,从而降低了项目的开发周期,提升了开发质量。第二类组织,往往在项目早期风平浪静,一切看起来都很正常,直到开始进入集成测试甚至是临近上线阶段,问题大量爆发,项目延期,开发团队和客户都叫苦不迭。


我们肯定都希望能形成第一类组织,而不是第二类组织。但是现实的情况恰恰相反,第二类组织仍然是当前的主流。 只要看一下下面的漫画在现实中的普及程度,就知道现状究竟如何了:


最大化探索和发现的效率,是研发效能提升的关键。

03 大模型能帮我们做什么?

我们已经看到了很多通过大模型支持软件编码的工作。这属于软件工程中的“建造”部分。但是,没有好的设计能力,“建造”并不靠谱。


在软件工程的历史上, “设计”和“建造”的关系,我们是走过弯路的。在敏捷运动之前,软件工程专家们根据建筑业中的“设计”和“建造”是分离的,就认为软件中的“设计”和“建造”也是可以分离的。这个认知是完全错误的。

为什么建筑行业更多的时候可以区分“设计”和“建造”,而软件几乎完全不可能? 这里有两个根本原因:

  • 软件的复杂性远远超出一般的人类制品。

  • 软件价值本质上来自创新,而不是生产。

这个话题很宏大,我们不在这里展开,仅仅简单描述。 建筑也很复杂,但是大多数情况下的建筑,都有较为成熟的样本,但是它必须被一次次的生产,才能带来价值。你买了一套房子,所购买的是物质的房子,而不是作为信息的设计师图纸。但是软件不同。软件本身就是信息,本质上软件的生产过程,是信息生产过程。如果收走了“编码”,就好比一个作曲家没有乐器,一个烹饪专家没有烹调过程来检验菜品设计的效果一样——它减缓的是学习过程和迭代速度。

敏捷运动更加强调了代码的价值,这是非常正确的。但是,不可否认,编码还是一个非常琐碎的活动。

编码对于设计师的价值不在于编码活动本身,而是编码带来的学习过程。

那么,究竟有没有办法,在享有编码带来的反馈和学习的同时,可以降低在编码活动上的投入呢? 人工智能辅助编程之前,我认为没有这个可能性,但是,今天, 这件事已经是完全可能的了:


让人工智能完成大多数的编码工作,提升学习和反馈速度,让软件工程师成为真正的软件工程师,而不是软件建造师。

04 让你的能力和大模型相匹配

能把程序员从“编程”的具体活动中解放出来是一件好事情。但是,它也提出了新的要求。过去,如果我们对编程框架、语言都比较熟悉,本身就具备了价值。但是,今天这种价值,是很容易被人工智能取代的。

如何最大化探索和发现的能力? 大模型具备的知识其实比我们每个人能掌握的都多得多,但是,大模型不具备我们要解决的特定问题的上下文,它的能力能发挥多少,取决于使用大模型的那个人的能力。

今天的程序员,应该升级我们的技术栈,这包括了如何高质量的分析需求、如何掌握软件设计的原理,如何更快的理解和学习技术框架等等,同时,也需要理解如何更好的和大模型沟通。

所以,真正的软件工程师不会失业,也不会蜕变为“提示工程师”。 它还是它原来的意思,“工程师”——只不过有了大模型的助力,这种探索和发现会更加高效和重要。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

DesignMode__unity__抽象工厂模式在unity中的应用、用单例模式进行资源加载

目录 抽象工厂模式 思维导图 接口(抽象类) 工厂接口 抽象产品类 抽象武器接口 抽象人物接口 具体工厂和具体产品 具体工厂 (1)产品接口,生成具体人物 (2)武器接口,生成具体…

mapboxGL 离线部署或者说去除token最简单得方法

找到本项目中得node_modules包管理器中得mapbox-gl包 找打dist文件夹下得mapbox-gl-dev.js 相比于mapbox-gl.js得压缩文件 mapbox-gl-dev.js没有压缩,好修改,也无需要编译 在mapbox-gl-dev.js找到 this._authenticate(),注释或者去除即可 最…

【Proteus仿真】基于51单片机的简易电压表制作(可串口远程调控)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,设计一个简易电压表: 采用3位LED数码管显示被测电压值:基本测量范围是 0-5V;测量误差为士0.02V。开机或复位后,在 LED 最…

三角型电动采光排烟天窗的高效排烟设计优势

三角型电动采光排烟天窗的排烟效果在多个方面均展现出了显著的优势,主要体现在以下几个方面。一、设计原理与结构特性 三角型电动采光排烟天窗采用三角形构造,这种设计在结构上具有显著的稳定性,能够抵御不同气候条件及风压的影响。同时减少了…

网站建设合同怎么写

网站建设合同成为企业与网站开发服务提供商之间不可或缺的法律文书。一份明晰而全面的网站建设合同不仅有助于规范双方权责,还能有效防范潜在的合同纠纷。以下是一份网站建设合同的范本,旨在提供参考。 一、合同双方信息 甲方(委托方&#x…

QT| “无法粘贴窗口部件”错误以及customplot安装使用

“无法粘贴窗口部件”错误以及customplot “无法粘贴窗口部件”错误customplot下载添加到项目中使用QCustomPlot常用的代码 “无法粘贴窗口部件”错误 情景:使用QT设计界面,很多部分比较类似,可以复制另一个界面的ui,但是粘粘的时…

TS-AI:一种用于多模态个体化脑区划分的深度学习管道,并结合任务对比合成|文献速递-Transformer架构在医学影像分析中的应用

Title 题目 TS-AI: A deep learning pipeline for multimodal subject-specific parcellation with task contrasts synthesis TS-AI:一种用于多模态个体化脑区划分的深度学习管道,并结合任务对比合成 01 文献速递介绍 人类大脑在结构和功能组织上表…

武汉正向科技 格雷母线检测方式 :车检,地检

正向科技|格雷母线原理运用-车检,地检 地上检测方式 地址编码器和天线箱安装在移动站上,通过天线箱发射地址信号,地址解码器安装在固定站(地面)上,在固定站完成地址检测。 车上检测方式 地址编码器安装在…

单域名、多域名、通配符SSL证书,该如何选择?

随着《网络安全法》《数据安全法》相关法律法规的发布,履行数据保护义务,做好数据安全保护是每个企业的重要工作。其中,SSL证书作为企业网站实现HTTPS加密保护数据传输安全的必备措施,根据域名保护数量,可以分为单域名…

拼团活动开发秘籍:PHP+Redis实现暂存成团信息,提升效率!

在用户发起成团&#xff0c;与用户入团时需要保存其成团信息&#xff08;主要是活动id与团长、团员openid&#xff09;&#xff0c;暂存在redis中&#xff0c;后期需要保存到sql中&#xff0c;以便查询。 tuan_redis.php<?php include_once(/opt/*****ub/redis.php);//red…

Java语言程序设计基础篇_编程练习题**18.35(H 树分形)

目录 题目&#xff1a;**18.35(H 树分形) 代码示例 代码解释 输出结果 题目&#xff1a;**18.35(H 树分形) 一个H 树分形(本章开始部分介绍过&#xff0c;如图18-1)如下定义: 1)从字母H开始。H的三条线长度一样&#xff0c;如图 18-1a 所示。 2)字母H(以它的 sans-serif …

若依vue3.0表格的增删改查文件封装

一、因若依生成的文件没进行封装&#xff0c;维护起来比较麻烦。所以自己简单的进行封装了一下 gitee代码&#xff08;文件&#xff09;地址&#xff1a;https://gitee.com/liu_yu_ting09/ruo_yi.git 二、封装的方法&#xff08;下面绿色按钮进行全局封装一个JeecgListMixin.js…

如何在局域网下测试vue项目

同一局域网下&#xff0c;通俗讲&#xff0c;就是电脑和手机等其他设备连接的是同一个 wifi 1 修改 vue 项目的 host 地址 vue项目一般使用 npm run dev 或者 npm run server 来运行如果是 webpack 构建的项目&#xff0c;在config文件夹下有一个index.js文件&#xff0c;找到…

汽车HMI:UI设计进入了3D时代,设计师准备好了吗?

汽车HMI中的低模是通过使用简化的图形和界面元素来实现的。这些低模通常是通过减少细节和精细度来实现的&#xff0c;以便在有限的处理能力和内存资源下实现更流畅的用户体验。 对UI设计师来说&#xff0c;低模的实现可能会带来一些挑战。 首先&#xff0c;他们需要考虑如何在…

基于51单片机的模拟8层电梯运行proteus仿真

地址&#xff1a; https://pan.baidu.com/s/1i_h6TnziwnPKKo37zlwWAg 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C52/AT89C51是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectro…

建立分支提交代码

git分支 git branch 产看当前分支 git branch -a 查看所有分支 git checkout 分支名 切换分支 git checkout -b 分支名 建立分支&#xff08;仅仅是在本地建立了&#xff0c;并没有关联线上&#xff09; git push --set-upstream origin 分支名 把本地分支推到先线上 建立分支…

SQL进阶技巧:如何利用if语句简化where或join中的条件 | if条件语句的优雅使用方法

目录 0 问题场景 1 数据准备 2 问题分析 2.1 需求一 2.2需求二 3 小结 想要进一步了解SQL这门艺术语言的&#xff0c;可以订阅我的专栏数字化建设通关指南&#xff0c;将在该专栏进行详细解析。 专栏 原价99&#xff0c;现在活动价39.9&#xff0c;按照阶梯式增长&…

SQL语法学习与实战应用

第一章 引言 1.1 MySQL数据库概述 MySQL&#xff0c;作为一种广泛使用的关系型数据库管理系统&#xff0c;自其问世以来&#xff0c;便凭借开源、高性能及低成本等显著特点&#xff0c;迅速占据了广泛的市场份额。这一系统不仅支持大规模并发访问&#xff0c;更提供了多样化的…

项目实战:Ingress搭建Nginx+WP论坛+MariaDB

1. 网站架构 本次部署形式完全舍弃 Docker&#xff0c;将所有应用都置于Kubernetes&#xff0c;采用 Deployment 而非单 Pod 部署&#xff0c;稳定性得到升级。 2. 部署 MariaDB [rootk8s-master ~]# mkdir tdr [rootk8s-master ~]# cd tdr/ &#xff08;1&#xff09;定义 …

【JavaEE】——线程“饿死问题” wait notify

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯&#xff0c;你们的点赞收藏是我前进最大的动力&#xff01;&#xff01;希望本文内容能够帮助到你&#xff01; 目录 引子&#xff1a; 一&#xff1a;情景引入 二&#xff1a;线程饿死问题 1&#xff1a;线程饿死 2&a…