AI时代,程序员需要焦虑吗?

简介: AI时代,程序员需要焦虑吗?

引言


ChatGPT 横空出世后,“AI 即将取代程序员” 的观点一度引发热议,至今尚未完全冷却。

ChatGPT 是一种基于人工智能技术的对话生成系统,其受欢迎的程度在一定程度上说明了人们对于人工智能技术的兴趣和追求。但是,从目前的实际情况来看,人工智能技术还没有达到完全替代程序员的程度。


首先,AI 技术在程序员的工作中发挥的作用仅是提高了工作效率和准确性。例如,AI 可以帮助程序员完成代码的自动化测试、代码审查等重复的、容易出错的工作。但是,自动化测试和代码审查实际上只是程序员工作中的一小部分,大部分的工作仍需要程序员自己动手完成。


其次,AI 技术还无法完全取代程序员在创造性问题上的发挥作用。例如,在项目的需求分析、设计和策划过程中,需要程序员进行创造性思考和判断,AI 技术还没有完全达到这一点。


所以,可以说 ChatGPT 对话生成系统的出现并不会导致程序员的完全失业,而是在一定程度上提高了程序员工作的效率和准确性。程序员仍需要在许多方面进行思考和创新,以满足现代软件开发领域的需求。


2022 年 11 月 30 日,OpenAI 发布了一款名为 ChatGPT 的聊天机器人程序,旋即引爆网络,在全球范围内引起巨大反响。紧随其后,各种大语言模型如雨后春笋不断出现。国外如 Google 的 Bard、Anthropic 的 Claude,国内如百度文心一言、阿里通义千问、讯飞星火认知大模型、昆仑万维天工大模型等。


相较于之前的模型,以 ChatGPT 为代表的大语言模型在代码生成、代码解释能力方面有了质的飞跃,很多程序员已经开始借助大语言模型编写、优化代码,因此很多人认为 “程序员即将被 AI 所取代”。

一、程序员会被 AI 取代么?


“AI 取代程序员” 并不是什么新鲜的话题,事实上,早在“低代码”概念出现时,人们就已经开始讨论程序员是否会被淘汰的话题了。在 ChatGPT 横空出世后,该话题被人们连夜从地里挖出,重新装扮后,紧急上线,再度推上了热搜。


目前,一些有条件的人已经开始借助 AI 来学习技术、编写代码和辅助解决问题等。AI 技术极大地缩短了掌握知识的路径,一些原本需要读很多书、看很多专栏才能搞懂的知识点,让 AI 工具给你举例子,并用通俗易懂的语言来解释,就可以快速地掌握。一些看似并不复杂的代码,如果你自己去写可能要写半小时, AI 则可能只需一两分钟就能产出,而且质量往往更高。有了 AI 的加持,那些编程经验并不丰富的初级工程师,也可以 “写出” 相对优秀的代码。


AI 给很多行业带来无限可能,在部分场景下,AI 可以大幅提高开发效率。在不久的将来,AI 有望取代一些低水平(比如仅会 CRUD)的程序员 。不过,就笔者使用 ChatGPT 辅助编程的经验来看,AI 目前生成代码的水平,要全面取代程序员还有很长的一段路要走。


二、服务端开发尚难被 AI 取代


大型软件系统,本身往往具有较高的复杂度。我们可以简单地将复杂度分为两个维度:业务与技术。高业务复杂度的系统,必须进行科学、有效的需求分析与领域建模,方可在满足当前功能性需求的同时获得可持续演进的应用架构;高技术复杂度的分布式系统,则需要充分考虑诸如高并发、高可用、高性能、数据一致性等非功能性问题,才能在设计权衡中寻求技术架构最优解。纵观全球,AI 的水平尚无法应对上述两种复杂度。


此外,大模型虽然具备生成代码、解释代码甚至优化代码的能力,但是还多停留在 “函数/方法” 维度,不能很好地生成类维度、模块维度、项目维度的代码。同时,生成的代码仍然需要人工审阅、优化、部署、验证。对于复杂的任务,还需要人工拆解为大模型能够 “理解” 的粒度。


再者,即便不考虑数据安全、自研模型成本等因素,单就服务端研发流程来看。编码只是整个软件生命周期的一环 ,软件开发还包括需求分析、抽象建模、系统设计、数据设计、非功能性设计、测试、运维等环节。很多时候,编写代码作为解决问题的最终手段,并不困难,而困难在于对问题的识别、理解、定义和抽象,这些都依赖人工反复推演。当一个问题被明确并拆解到软件项目维度的时候,面对确定的任务、清晰的目标、合理的架构,可以解决问题的人就非常多了,AI 自然也才有用武之地。

三、服务端开发何去何从?

AI 时代必将对人类社会的生产、生活带来深刻的变革。虽然目前大模型还存在很多缺点,如幻觉、推理能力弱等问题,但是,其潜力不可小觑。某种意义上,正是因为大模型还不完美,我们才没那么容易被淘汰。


AI 时代,简单、重复的任务被 AI 取代是不可避免的。新的时代,我们需要重新审视核心竞争力的内涵, 持续学习,不断夯实自身的能力护城河。只有技术积累有足够的深度,才能提高对 AI 生成信息的辨识能力,才能在享受 AI 带来便利的同时,控制、降低其负面影响。


以服务端开发岗位为例,领域知识是最基础却又最重要的能力,但是,只有当领域知识形成体系时,才可以称之为真正的核心竞争力。那么,如何才能使自己的领域知识体系化呢?


想象一下,为什么你对家所在的小区周边特别了解,随便把你放在一个角落,你都能慢慢摸索出来?究其原因,是因为你脑海中已经形成了小区周边的整体大图,并对关键节点了然于胸。如果把你放到陌生的小区,你可能就懵了,关键节点、整体大图都没有,胡乱摸索,即便你把摸索路上所见到的每一个下水道井盖的情况都搞清楚了,也没什么意义,再过几条街你就忘了。


回到上面抛出的问题,高效学习、知识体系化的关键在于:构建宏观层面的整体大图,并深入理解关键知识点。这些关键点就是这个领域的骨架、支点。缺


四、业界首部体系化、全景式解读服务端开发的著作


《服务端开发:技术、方法与实用解决方案》一书取材自阿里和蚂蚁集团的精品内训课程,由资深服务端技术专家、技术讲师、阿里第二届技术讲师课程大赛年度冠军得主、CSDN 博客专家撰写。该书理论与实践结合,全景式、体系化地阐述了服务端开发,内容包括以下两个部分。


第一部分:服务端开发的技术和方法

首先介绍服务端开发的职责、技术栈、核心流程和进阶路径;然后从需求分析、抽象建模、系统设计、数据设计和非功能性设计5个方面展开,结合案例深入讲解了服务端开发的实操方法和重难点,为读者呈现服务端开发的全景图,帮助读者快速、体系化地掌握服务端开发的知识和方法。


第二部分:服务端典型问题的解决方案

针对高并发、高性能、高可用、缓存、数据一致性、幂等、秒杀等服务端开发实践中的典型问题,给出了对应的解决方案和开发规范,同时还结合案例深入分析了不同方案的优缺点。此外,还总结了接口设计、日志打印、异常处理、代码编写、代码注释等落地层面的行业案例和规范。

读者对象:

IT 从业人员:服务端开发工程师、客户端开发工程师、产品经理、测试开发工程师等。
高校学生:计算机、软件、自动化、电气、通信等专业有志于进入 IT 行业的在校学生。

相关文章
|
19天前
|
人工智能 程序员
AI程序员入职阿里云
AI程序员入职阿里云
|
4月前
|
存储 人工智能 编解码
AI 消灭软件工程师?| 新程序员
AI 是否会取代软件工程师”是自大模型爆火以来程序员们最为关心的一大话题,事关编程的未来与我们每一位程序员。本文作者 Babel CEO、多年的资深程序员张海龙深入技术本质,为我们进行了答疑解惑。本文转载自CSDN:https://mp.weixin.qq.com/s/omx6B80D9Uz4mfnM8dvDeg。自从大模型出现以来,程序员界人人自危,这篇文章也是很好的解答了大家的一些困惑,分享一起学习。
|
5天前
|
人工智能 算法 程序员
AI程序员与人类程序员如何进行有效的合作
AI程序员与人类程序员的协作是软件开发的关键。双方通过知识共享、任务分配、代码审查和创新合作,提升效率和质量。有效沟通、尊重彼此优势、清晰分工、持续学习以及解决冲突是合作成功的关键。这种合作不仅利用AI的自动化能力,也发挥人类的创造力,共同推动行业进步。
|
5天前
|
人工智能 算法 安全
全球首位AI程序员诞生:对程序员的影响将会有多大?
全球首位AI程序员的诞生将深远影响程序员行业。自动化代码编写和优化将提升效率,减轻人工负担;AI能进行缺陷检测和错误修复,增强软件质量。AI还能促进知识传承和协作,成为程序员的智能导师。尽管可能影响部分传统编码职位,但也将创造新机遇,推动程序员向更复杂任务转型。随着AI技术发展,未来软件开发将加速自动化,同时也需关注伦理和安全问题。人类与AI的协同将塑造行业新未来!
|
15天前
|
人工智能 程序员 开发工具
“AI 程序员入职系列”第二弹:如何利用通义灵码光速改写项目编程语言?
本文中阿里云后端工程师云徊将从项目开发的实际需求出发,演示通义灵码在开发工作中可提供的帮助。
|
15天前
|
人工智能 自然语言处理 Java
​下载量超 200 万,最近频繁登上热搜的 AI 程序员,大家怎么看
程序员在通义灵码的帮助下,每天不必耗费大量精力编写重复性代码、调试优化、编写代码注释了。作为开发者的你,是如何看待首个 AI 程序员入职科技公司的呢?
|
23天前
|
人工智能 弹性计算 算法
华人开源最强「AI 程序员」炸场,让 GPT-4 自己修 Bug!
普林斯顿大学推出开源软件工程代理SWE-agent,利用GPT-4转化成能修复GitHub错误的AI程序员。在某些基准测试中,SWE-agent的表现与Devin相当,甚至在修复Bug速度上超越Devin,平均只需93秒。其特点是拥有开源接口,支持代码编辑和执行,提高了与代码库的交互效率。
|
2月前
|
人工智能 程序员 测试技术
AI程序员Devin在软件开发中的性能评估
【2月更文挑战第29天】AI程序员Devin在软件开发中取得突破,成功解决SWE-bench基准测试13.86%的问题,超出未辅助基线1.96%。展示强大编程能力,但处理复杂任务成功率仅4.80%,表明局限性。Devin能执行多步计划和自我纠错,但在理解复杂逻辑和用户偏好上需改进。在测试驱动开发场景下,成功通过率提升至23%,显示出合作潜力。然而,AI在软件工程领域仍有很大改进空间。
45 1
AI程序员Devin在软件开发中的性能评估
|
2月前
|
人工智能 IDE 安全
微软AI程序员登场
【2月更文挑战第27天】微软AI程序员登场
51 2
微软AI程序员登场
|
2月前
|
人工智能 程序员 Shell
全球首个AI程序员诞生
【2月更文挑战第23天】全球首个AI程序员诞生
58 1
全球首个AI程序员诞生