人工智能开始影响编程领域,程序员是否会被机器人取代?

时间:2022-06-16 09:50
浏览:509
(ai机器人研发)首先说一下我的观点。人工智能机器人无法替代程序员。虽然人工智能机器人可以有很多作为,可以帮助程序员写一些code, 但是他永远无法替代程序员。至少目前看不到这种可能性。那么人工智能可以帮助程序员做哪些事情呢?我们下面通过一些例子来说明这些事

人工智能开始影响编程领域,程序员是否会被机器人取代?

首先说一下我的观点。人工智能机器人无法替代程序员。

虽然人工智能机器人可以有很多作为,可以帮助程序员写一些code, 但是他永远无法替代程序员。至少目前看不到这种可能性。

那么人工智能可以帮助程序员做哪些事情呢?

我们下面通过一些例子来说明这些事情。

第一,创建工程时生成模板代码。

创建工程时生成模板代码的例子非常多,比如说你熟悉编程集成环境的话,当你选择创建一个类别的工程的时候,就会生成一些模板代码。

这种模板性的代码就是由机器生成的预置性代码。这些代码会提供整个工程的一些框架,一些入口类,一些入口函数,但是具体要做什么还是需要程序员来完成。

这种模板类的代码,相对来说比较简单。会有一些TODO的标记来提示。

接下来的代码实现部分。除了程序员以外,程序是无法自动进行的。

第二,使用命令行,来生成一些类或者组件。这些命令行也是由程序员来输入,这个过程是程序员来发动的。生成的类或者组件也是一些框架性的,指导性的代码。

这个过程无法由机器,或者人工智能来替代。程序员才知道接下来要做什么,要用哪些命令,要生成的类的名字是什么,要生成的组件的名字是什么,然后是准备用这些类和组件将来会用来做什么。

第三,使用配置文件来生成代码。如果你对SWAGGER比较熟悉的话,而且用过配置文件比如说YAML或者JSON生成微服务代码。你应该对这个过程比较熟悉。通过配置这些文件指定生成方法的名字,参数名字,参数类型,返回的数据类型。

通过生成的配置文件,你可以生成多种程序语言的代码。

这些生成的代码,对于运行一个微服务来说,框架代码部分已经足够了。也就是说你运行由这些代码构成的微服务,你就可以调用那些API的接口了。

只是此时这些接口并不能为你做什么,只会给你返回类似接口未实现的错误代码。接下来的活儿就是程序员的任务了。程序员需要找到对应的接口,然后把实现代码写完。

这样子你在调用对应的接口的时候,你就可以做实际的事情了。

我们可以看到在这个过程中,智能程序为我们做了很多事情。但是程序员必须要自己实现接口内的代码。这一部分智能程序是无法替我们完成的。

第四,以后智能程序可能会为程序员做得更多。比如会进一步的生成更多的代码来帮助程序员工作。但是他始终无法生成所有的代码。无论代码如何高级,最终还是要靠我们人类的程序员去分析,学习研究它并进一步的实现真正的功能需求。

作为一名程序员,我欢迎智能程序编程类的工具快速发展。这样的话可以让我们程序员从繁重的代码编写过程中节省很多时间, 把大量的时间花在用户需求分析上和程序结构设计上。

好啦,这个话题先聊这些吧。欢迎留言点赞,点击关注丁哥开讲,我们下个话题再见。

我认为,程序员是不会被机器人取代的,虽然现在机器人的智能很高,可以战胜很高超的棋手,这并不意味着机器人能取代程序员。

银行小艾这些机器人是纯人工智能吗,怎么样?

很高兴回答您的问题。

银行小艾这类的机器人属于服务机器人,按照现在人工智能定义可以算作人工智能,但其实它并不智能。

人工智能是一门新兴的科学,机器人、语言识别、图像识别、自然语言处理等都可以算作人工智能。

现有服务机器人种类很多,类似银行小艾、机器人餐厅服务员、儿童教育机器人等都属于服务机器人。这类机器人已经可以实现简单的动作及人机交流,但均为提前设定的,并不具有人工智能的特点。在产品研发之初,工程师会将大量的问答、信息存入数据库中,在人们与服务机器人交流的时候,它会从数据库中调用相关数据,从而实现人机交流。

所以说现在的服务机器人属于人工智能领域,但并不智能。

目前银行机器人肯定是属于第一类机器人,因为这种人工智能系统是纯粹的被动型,即没有形成记忆的能力,也没有利用过去的经验来指导当前的决策,而且这种银行机器人比较简单,只需要有大量数据,输入到对话系统,还是相对比较容易实现的,虽然现在来看这种方式还是不太智能。

第一类人工智能:反应型机器最基本类型的人工智能系统是纯粹的被动型,既没有形成记忆的能力,也没有利用过去的经验来指导当前的决策。20世纪90年代末,IBM的下棋超级计算机Deep Blue就是这类机器的完美典范,它曾在90年代末击败过国际特级大师加里-卡斯帕罗夫(Garry Kasparov)。

Deep Blue可以识别棋盘上的棋子,并知道每一步的走法。它可以预测出它和对手下一步可能会走什么棋。而且它可以从各种可能的棋子中选择出最合适的棋步。

但它对过去的事情没有任何概念,也不记得以前发生过的事情。除了一个很少使用的国际象棋特有的规则,禁止重复下三遍相同的棋子外,深蓝棋手无视眼前的一切。它所要做的就是看着棋盘上的棋子,就像现在这样,从可能的下一步棋中选择。

这种类型的智能涉及计算机直接感知世界,并根据它所看到的东西采取行动。它不依赖于对世界的内部概念。在一篇开创性的论文中,人工智能研究者罗德尼-布鲁克斯(Rodney Brooks)认为,我们只应该建造这样的机器。他的主要理由是,人们并不擅长编程准确的模拟世界供计算机使用,也就是人工智能学术界所说的 表象 世界。

目前我们感叹的智能机器,要么是没有这样的世界概念,要么是对其特定的职责非常有限的、专门的世界概念。深蓝设计的创新并不是为了扩大计算机考虑的可能电影的范围。相反,开发者们找到了一种方法来缩小它的视野,根据它对未来的一些潜在动作的评价结果,来停止追求一些可能的动作。如果没有这种能力,深蓝计算机需要更强大的计算机才能真正击败卡斯帕罗夫。

同样的,谷歌的AlphaGo,曾经击败过人类顶尖的围棋高手,但它也无法评估所有可能的未来棋局。它的分析方法比深蓝的分析方法更复杂,使用神经网络来评估棋局的发展。

这些方法确实提高了人工智能系统的能力,使其能够更好地下好特定的棋局,但不能轻易改变或应用于其他情况。这些计算机化的想象力对更广阔的世界没有任何概念,这意味着它们无法在分配给它们的特定任务之外发挥作用,很容易上当受骗。

它们不能像我们想象中的人工智能系统有朝一日可能出现的那样,交互式地参与到这个世界中。相反,这些机器每次遇到同样的情况时,它们的行为都会一模一样。这对于确保人工智能系统值得信赖是非常好的。你想让你的自主汽车成为一个可靠的驾驶员。但如果我们希望机器真正与世界互动,并对世界做出反应,那就不好了。这些最简单的AI系统永远不会无聊,也不会感兴趣,也不会难过。

第二类人工智能:记忆力有限

目前自动驾驶汽车已经做了一些这样的事情。例如,它们观察其他汽车的速度和方向。这不是一瞬间就能完成的,而是需要识别特定对象,并在一段时间内对其进行监控。

这些观察结果会被添加到自驾车汽车对世界的预编程表示中,其中还包括车道标记、交通灯和其他重要元素,比如道路上的弯道。当汽车决定何时改变车道,避免与另一名司机发生碰撞或被附近的汽车撞到时,这些信息都会被包含在内。

但这些简单的过往信息只是暂时的。它们并没有被保存为汽车经验库的一部分,它可以从中学习,就像人类驾驶员在驾驶过程中多年来积累的经验一样。

那么,我们如何才能构建出能够构建完整的表征,记住他们的经验,并学习如何处理新情况的AI系统呢?布鲁克斯说的没错,要做到这一点是非常困难的。我自己研究的方法受到达尔文进化论的启发,可以通过让机器构建自己的表征,开始弥补人类的不足。

第三类人工智能:心智理论

我们可能会在这里打住,称这一点为我们现有的机器和未来我们将建造的机器之间的重要分界线。然而,我们最好更具体地讨论一下机器需要形成的表征的类型,以及机器需要关于什么的表征。

下一个更高级的类的机器不仅形成关于世界的表征,而且还形成关于世界上其他代理人或实体的表征。在心理学中,这被称为 心智理论,理解世界上的人、生物和物体都会有思想和情感,影响自己的行为。

这对于我们人类如何形成社会是至关重要的,因为它们使我们能够进行社会交往。如果不了解对方的动机和意图,不考虑到别人对我或环境的了解,那么在一起工作充其量是困难的,最坏的情况下是不可能的。

如果人工智能系统真的要在我们中间行走,它们必须能够理解我们每个人都有想法和感受,以及对如何对待我们的期望,而他们也必须相应地调整自己的行为。

总结虽然我们可能还远远没有创造出具有自我意识的机器,但我们应该把工作重点放在理解记忆、学习和基于过去经验做出决策的能力上。这是理解人类智能本身的一个重要步骤,而如果我们想要设计或进化出能够对眼前的事物进行分类的机器,这一点至关重要。

登 录

登录即代表您同意《用户协议》《隐私协议》

注 册

我已阅读并同意《用户协议》《隐私协议》

忘记密码