软件开发会不会被人工智能代替?

小马666


作为一名IT行业的从业者,同时也在指导机器学习方向的研究生,所以我来回答一下这个问题。

首先,基础的软件开发工作在人工智能时代必然会逐渐被智能体所取代,程序员岗位会不断升级以适应人工智能技术的发展,未来程序员的工作任务将更多集中在领域创新上,所以从这个角度来看,当前对于条件允许的程序员来说,可以考虑读一下研究生。

目前虽然人工智能技术正处在行业发展的初期,但是在云计算技术的推动下,整个软件开发领域已经出现了一些变化,主要体现在以下三个方面:

第一:PaaS推动程序开发全面整合。随着云计算逐渐从IaaS发展到PaaS和SaaS,目前云计算服务商对于软件开发的支撑服务越来越完善,这在很大程度上降低了软件开发的难度,尤其是行业定制解决方案的开发难度,也在一定程度上缩短了软件开发的周期。所以,从这个角度来看,PaaS的发展在一定程度上会缩减应用级程序员的岗位需求量。

第二:程序员全栈化。云计算发展的另一个结果是程序员全栈化,在云计算和大数据的推动下,软件产品的迭代速度不断提升,由传统的瀑布式迭代转向并行迭代,这促使很多开发团队逐渐开始小型化,对于程序员也提出了新的要求,就是必须承担更多角色的开发任务。

第三:岗位升级。程序员岗位升级目前已经是一个比较明显的发展趋势,由于应用级开发任务在难度上会不断下降,这必然会促使更多的应用级程序员向研发级程序员方向发展。要想完成岗位升级往往需要具备扎实的基础学科基础和计算机基础,对于学习能力并不强的程序员来说,应该考虑向全栈程序员方向发展,以延长自身的职业生命周期。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言!


IT人刘俊明


最终,是的,人工智能会取代软件开发,因为 “程序员自己就在努力被人工智能所取代。“

一.AI写代码

2015年,现特斯拉(Tesla)人工智能主管、斯坦福大学(Stanford)计算机科学博士生安德烈•卡帕西(Andrej Karpathy)使用递归神经

网络生成代码。他取了一个Linux存储库(所有源文件和头文件),将其组合成一个巨大的文档(超过400 MB的代码),并用这些代码训RNN。 他让它运行了一夜。早上,他得到了这个:

由人工智能生成的示例代码

一夜之间,AI生成了包括函数和函数装饰在内的代码。它有参数、变量、循环和正确的缩进。括号成对出现。甚至还有注解。

当然,人工智能也犯了一些错误,有时不使用变量,还有一些时候,有一些变量在使用前没有声明。但是Andrej Karpathy对结果很满意。

Karpathy在他的博客上写道:“代码总体上看起来真的很棒。当然,我不认为它可以编译,但是当你滚动生成的代码时,它感觉非常像一个巨大的C代码库。”

这个项目可以在GitHub上找到。它使用了Torch7深度学习库。整个代码文件下载

二.DeepCoder

微软和剑桥大学的研究人员已经开发出一种能够编写代码的人工智能。这种人工智能被称为DeepCoder,它有学习的能力。

DeepCoder可以在搜索一个巨大的代码数据库后编写工作代码。它试图为获取的代码片段做出尽可能好的安排,并随着时间的推移提高其效率。

这并不意味着人工智能窃取别人的代码,或复制粘贴现有软件的代码,或在互联网上搜索解决方案。DeepCoder的作者预计,在不久的将来,它将参加编程比赛。

由DeepCoder创建的领域特定语言(DSL)中的示例程序

微软研究院编程原则和工具小组研究员Marc Brockschmidt(DeepCoder小组成员)说,这样的系统对于非程序员来说可能非常有用。他们只需要描述他们的程序思想,然后等待系统创建它。

他说,未来几年我们可能最终会拥有这样的系统。但目前DeepCoder的功能仅限于由五行代码组成的程序。

您可以在这里找到DeepCoder的文档。

三. 人工智能制作的Python代码

2016年6月,一位昵称为benjamin intd的法国工程师发表了一篇博客文章,解释了他是如何“用Python代码教人工智能编写Python代码”的。

他使用了长短时记忆(LSTM)——一种最流行的递归神经网络架构,开发了大量Python代码(使用了panda、Numpy、Scipy、Django、Scikit-Learn、PyBrain、Lasagne、Rasterio等库),合并代码后的文件达到27MB。

然后,人工智能生成了自己的代码。

如果仔细查看创建数组的代码,会发现语法错误。benjamin的代码远非完美。但是他认为,对于一个从示例代码中学习所有内容的网络来说,这已经不错了。

“尤其是考虑到它只是在一个字符一个字符地猜测接下来会发生什么,”benjamin在博客中总结道。

四.人工智能会取代程序员吗?

“神经网络将产生有用的代码只是时间问题。因此像我这样的计算机科学家,未来情况看起来很暗淡,” Bauckhage教授认为。

(Christian Bauckhage是波恩大学的计算机科学教授,也是弗劳恩霍夫IAIS机器学习的首席科学家。他的大多数研究都涉及数据科学中的问题。特别是,他从事自然科学,社交媒体和金融领域的人工智能,机器学习和数据挖掘的理论和应用。)

根据麻省理工学院的Armando Solar-Lezama的说法,像DeepCoder这样的工具确实有可能实现代码开发的自动化,但AI不会剥夺开发人员的工作。相反,基于程序综合的系统可用于自动化代码开发的繁琐部分,同时开发人员专注于复杂的任务。

(Armando Solar-Lezama是MIT计算机辅助编程组的负责人。研究的重点是程序综合,这个研究领域,是编程系统和人工智能的交叉学科。)

Dev9是一家位于西雅图的定制软件开发公司,专注于Java和JavaScript。Dev9汇集了使用人工智能开发定制软件的团队,利用人工智能技术消除了繁重的流程并大幅减少了手动开销。其首席技术官艾弗森是否会被问到程序员是否需要担心在不久的将来被AI取代,并回答说:

“最终,是的。到了那时,社会已经习惯了应对这种社会变革。“









mu子君


这是完全肯定的,因为软件开发是按照一定的逻辑和算法进行的程序代码编写工作,只要人工智能具有学习和创新能力,就完全能够提出新的逻辑和算法,现在的人工智能发展水平已经证明了这一点,举两个例子,一是人工智能下围棋,已经不需要参考人类的棋谱了,两台电脑只需要自己对弈,就能互相学习,还能彼此创新下法,结果人类与之对弈不仅没有胜算,甚至已经看不懂它的招数了,另一个例子是两台人工智能电脑互相对话的实验,工程师希望它们互相学习,互相创新,想看看有什么结果,本来它们是用英语文字互相对话,后来它们居然创新出人类看不懂的单词了,而且不再理睬人类要求他们停止沟通的指令,最后不得不断电“”掐死”它们了事,细思恐极,简直是太恐怖了,所以人工智能代替人类编程是肯定能做到的,但这是潘多拉魔盒,在找到可靠的驾驭方法之前,千万不要轻易打开,否则人类末日将近。


用心的观察者


我们知道,现在职场上程序员的工资很高,公司招聘一个程序员的成本还是挺高的。所以,很多老板肯定是想过有没有可能专门设计出一款编程工具,然后这款编程工具不光可以自动编程,自动校验,同时公司也能很好的管理这款工具,这样老板们就不用再继续给员工买社保、付工资、付管理费用了。

很多老板的这个想法虽然很好,但是这种美好的想法可以实现吗?其实,如果我们站在时代发展的脚步上来说,没有一份工作是不可被取代的。从程序设计的本质上来说,程序设计本身就是计算机按照一定的指令来执行命令,然后反馈相应结果的一个工具。而对一款工具来说,我们通过设计和不断的完善之后,这款工具必然会很好的解决当下很多公司的一个编程需求,然后通过版本迭代,这款编程工具的功能也会更加强大。

其实,从现在的发展来说,未来必然会有一部分编程的工作是会由相关的编程工具自己完成,而随着人工智能技术的快速发展,未来人工智能也必然会让我们编程工作变得更具有想象力。

如果站在编程本身来说,其实人工智能在短时间取代程序员的工作是不可能的。毕竟程序设计不只需要简单的编程工作,同时作为程序员来说,程序员还需要具备信息储备、逻辑分析、推理反馈、视觉设计等相关的专业知识。所以如果想用一种工具或技术来取代程序员的工作,这从短期来说显然是不合理的。

在未来,随着人工智能技术的发展,必然会有一些工作会被人工智能技术所取代,特别是一些简单重复或者是一些流程化的工作。而现在正在从事这些工作的人,也必然会在不久的将来被人工智能所淘汰。同时,目前人工智能随着不断的发展和迭代,它已经在某些领域有了一定的突破性发展。比如现在很多医院已经在利用人工智能技术在进行智能诊断,无人驾驶汽车通过不断的实验和迭代也开始获得了不错的成绩。而人工智能所能覆盖的领域,也必然从简答向复杂迈进。

人工智能技术在不断的发展,相信在未来,随着人工智能技术的逐渐成熟,程序员也会从一些复杂的编程工作中被解救出来,程序员的工作也会变得越来越简单。



软件开发会不会被人工智能代替?这就要看软件开发的层次或是应用场景了。


1、服务于内容数据类的软件开发场景,由于层次较低。其被人工智能代替的可能性极大,理由大致如下:

  • 内容数据类软件开发主要集中在简单的数据读取、写入,用户进行简单的数据输入和输出。逻辑性的复杂性偏低。这刚好是人工智能的强项。
  • 内容数据类软件开发过程中多数存在讲究快速响应能力,一切以时间为导向。人工开发效率怎么比得上人工智能机器的开发效率?

2、服务于算法、安全、技巧类的软件开发场景,由于层次较高、需要开发者具备多种软件外知识才可胜任,在很长时间内(至少30年)被人工智能代替的可能性很低。举例说明:
  • 医疗研究类软件项目的开发,是不可能被人工智能机器代替的;
  • 国家安全类软件项目的开发,涉及安全,机器不存在敬畏,无法胜任;

老虎哥说事


我们这一代应该没啥影响,以后不知道。以目前ai的程度,也就停留在你喂数据,给你预测对应的数据。软件开发重要的是理解问题并用程序解决。范围太大且无法量化,经验丰富的研发都经常入坑,更不用说ai来代替开发了。

如果把软件开发理解为换皮,倒是可以ai代替,对已经成熟的产品领域,ai调调参数,换换界面风格,还是能做到的。


000风满楼000


人工智能能取代开发它的人,会抢了他的饭碗,这是科技的胜利,这是属于全人类的胜利,就像汽车淘汰了马,没有什么大惊小怪,骑兵可是延续了2000多年传奇,春秋战国就有:“胡服骑射”的典故与传说,说骑兵多么厉害,一日千里,来无影去无踪,但火兵器出来,洋枪洋炮出来了,骑兵就注定要退出历史的舞台。


重庆小宝快巴


初级程序员不学习就要被淘汰


嗨啵023


不会,技术人员会到更关键的位置上去。


AI中国


肯给不会,因为他理解付不了领导


分享到:


相關文章: