我们距离AI编程还有多远?
近几年来,人工智能的信息以不同形式霸占着我们的眼球,我们知道AlphaGo、微软小冰、Sophia,了解过自动驾驶、无人机、智能家居等,深知人工智能是在记忆力、学习力、运算力方面都远超人类的存在,但人工智能在我们脑海中仍然难有一个清晰的形象。为什么?

现在几乎所有人都在谈论AI,那么
1.人们常说的AI是什么?
AI主要可分为3类,目前人们所说的的人工智能AI是特定领域的人工智能,在学术上还有通用人工智能AGI,它的定义其实是非类人的人工智能,它没有感情,没有自我意识,但是它是一个通用的人工智能;还有一种经常出现在科幻小说、科幻电影里的叫做强人工智能,他们是有自我意识的,即类人的人工智能。
那么目前技术上已经实现的人工智能是怎样产生的呢?以老师(人)教学生(AI)识别猫和狗为例,来看人工智能是怎样产生的。

我们都知道老师在上课之前要准备大量的教学资料,这个过程就相当于AI在数据处理,场景处理等。老师准备出来的教案其实就是大数据,接下来老师可能会开始教学生识别猫和狗,这个过程其实就是AI的深度学习。
通过不断的学习,在学生已经拥有一定的知识储备的时候,老师可能就要出题考核学生了,老师出的题目可能是教案上没有的,那么学生(AI)就要对此作出一个判断,给出答案。老师根据学生的答案然后纠正学生的错误,周而复始,一个强大的猫和狗的识别AI就产生了。
2.
AI能否实现自动编程?
人类:给我个客户管理系统
AI:收到,马上执行
……
AI:编程已完成,请慢用
这样的场景,目前的人工智能是不可能实现的。因为软件≠编程,它包括编程,编程只是软件中的一个过程,要完成软件工程这件事情(如果要达到上述假设的效果)至少要强人工智能才能实现。而目前强人工智能发展相对通用人工智能的发展是停滞不前的。
那么比较可能实现的AI自动编程的场景是什么呢?
AI可以在需求的搜集、需求的分析形成一套标准的需求建模,完成一个非标化信息输入到一个标准化的建模输出的一个过程。

在开发编码的时候,以开发一个函数为例,人类在开发的时候可能通过借助某些工具譬如查手册、自己的经验、工具软件等等,而对于AI来说,只要给它若干样板数据,它可以自己理解并找出规律,然后智能编写出算法。

在系统测试中,AI可以智能检查不规范的程序并且修复BUG,最后输出的就是一个已经测试通过的项目。

上述这些场景是不是很美好?那这些离我们远吗?
其实AI编程的实现程度取决于当前人工智能发展程度。而人工智能的发展很大程度上取决于三大方面,即硬件,数据和算法。
其中,人工智能算法是人工智能实现所需要具备的基础,底层硬件是支撑人工智能应用的前提,为整个人工智能的运算提供算力。而大数据,是决定能否产生某个特定的人工智能,以及人工智能的智能程度的必要因素。
此外,人工智能的发展离不开云计算,因为没有云计算,就无法实现大数据存储与计算;而人工智能算法多是依赖于大数据的,没有数据,就算有人工智能算法也没用。
所以说云计算是人工智能的基础计算平台(虽然不是所有的人工智能计算都在严格意义的云平台上进行)。你也可以简单的认为:人工智能=云计算+大数据。
众所周知,云计算有三种服务模式,即IaaS、PaaS和SaaS。此前PaaS一直属于“夹缝中求生存”的状态。随着传统企业数字化转型的加速,以及互联网企业的迅猛发展,企业业务都将上到“云端”,PaaS的重要性急速凸显。

对于中小企业来说,他们迫切需要一款可以降低企业上云的门槛、难度、周期、成本的产品。在这样的背景下,惟快云定制应运而生。

惟快云定制是洪睿科技自主研发的一款应用可视化配置PaaS平台,给企业赋能,让企业快速实现信息化。在惟快云定制平台,用户可以自由开发各种企业应用软件,譬如OA、CRM、ERP等企业管理系统,还可以根据用户的需求自定义开发组件、函数等,甚至满足系统扩展和高度定制需求。
目前,惟快云定制平台已经积累了大量信息化项目的数据,未来,惟快云定制将会把编程过程中的业务场景数据形成标准化,使AI编程成为可能。
以AlphaGo为例,它之所以会完胜李世石和柯洁背后是因为有着庞大的数据库做支撑,人类棋手可能只想了三步,它三百步都想好了,由此可见数据的魅力。同理,如果有庞大的数据输入,软件工程人工智能化也不是不可能。
3.AI会取代程序员吗?
AI可能会是程序员的好搭档、程序员的工具,但不会取代程序员。因为程序员的工作是一个创造的过程,而人工智能是对人的意识、思维的信息过程的模拟,它不是人的大脑,只能模仿人的思考能力。
在广泛,宏观的领域里,它无法像人一样有感情的互动,进行文化的创新,不会对不同人心理进行揣摩,也没有对音乐,艺术,诗歌的鉴赏能力。所以,在他看来AI是不能取代程序员的,至少在未来很长一段时间里不会。
我们距离AI编程还有多远?的更多相关文章
- 从来也科技UiBot 6.0社区版全线免费,看RPA距离“人人可用”还有多远
来也科技RPA产品UiBot 6.0社区版全线免费,背后的逻辑是什么? 来也科技CPO褚瑞:开发者生态才是RPA厂商的真正护城河 来也科技UiBot 6.0社区版全线免费,RPA距离真正人人可用还有多 ...
- Coursera深度学习(DeepLearning.ai)编程题&笔记
因为是Jupyter Notebook的形式,所以不方便在博客中展示,具体可在我的github上查看. 第一章 Neural Network & DeepLearning week2 Logi ...
- GitHub 热点速览 Vol.25:距离优雅编程你差个它
作者:HelloGitHub-小鱼干 摘要:如何优雅地夸一个程序员呢?vscode-rainbow-fart 作为一个彩虹屁的项目,深得程序员心,能在你编程时疯狂称赞你的除了你自己,还有它.除了鼓励之 ...
- IPv6启动五年后,距离我们究竟还有多远?
作者:RicardoIPv6拥有更好的IP拓展性,更高的安全保障以及更快的传输速度,互联网协会将2012年6月6日定为了世界IPv6启动日,距此5年后,国内外Cloudflare.又拍云等CDN服务已 ...
- 学会了这一招,距离Git大神不远了!
大家好,今天我们来介绍git当中一项非常重要的功能--交互式工具 有的时候如果我们要处理的文件很多,使用git add .等操作会非常有隐患,因为很有可能我们一不小心就疏忽了一些内容.如果我们使用一个 ...
- 游戏人工智能 读书笔记 (四) AI算法简介——Ad-Hoc 行为编程
本文内容包含以下章节: Chapter 2 AI Methods Chapter 2.1 General Notes 本书英文版: Artificial Intelligence and Games ...
- POJ 2187:Beauty Contest 求给定一些点集里最远的两个点距离
Beauty Contest Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 31414 Accepted: 9749 D ...
- 游戏编程算法与技巧 Game Programming Algorithms and Techniques (Sanjay Madhav 著)
http://gamealgorithms.net 第1章 游戏编程概述 (已看) 第2章 2D图形 (已看) 第3章 游戏中的线性代数 (已看) 第4章 3D图形 (已看) 第5章 游戏输入 (已看 ...
- 花十分钟,让你变成AI产品经理
花十分钟,让你变成AI产品经理 https://www.jianshu.com/p/eba6a1ca98a4 先说一下你阅读本文可以得到什么.你能得到AI的理论知识框架:你能学习到如何成为一个AI产品 ...
随机推荐
- 在个人博客中优雅的使用Gitalk评论插件
在上一篇博客<程序员如何从0到1搭建自己的技术博客>中,我们了解了如何快速的从0到1搭建一个个人博客. 其实细心的你会发现,该博客用到了一个评论插件,这个插件就是Gitalk. 如果想要在 ...
- C# 操作Word页眉页脚——奇偶页/首页不同、不连续设置页码、复制页眉页脚、锁定页眉页脚、删除页眉页脚
前言 本文是对Word页眉页脚的操作方法的进一步的阐述.在“C# 添加Word页眉页脚.页码”一文中,介绍了添加简单页眉页脚的方法,该文中的方法可满足于大多数的页眉页脚添加要求,但是对于比较复杂一点的 ...
- 使用JDBC操作MySQL数据库
一.JDBC简介 JDBC(Java DataBase Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问,它由一组用Java语言编写的类和接口组 ...
- 查看三种MySQL字符集的方法(转)
MySQL字符集多种多样,下面为您列举了其中三种最常见的MySQL字符集查看方法,该方法供您参考,希望对您学习MySQL数据库能有所启迪. 一.查看MySQL数据库服务器和数据库MySQL字符集. m ...
- Unsupported major.minor version 52.0解决办法
一.错误现象:当改变了jdk版本时,在编译java时,会遇到Unsupported major.minor version错误.jdk版本和stanford parser对应关系 JDK版本和Java ...
- Leetcode 136.只出现一次的数字 By Python
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: 输入: [ ...
- Linux 桌面玩家指南:12. 优秀的文本化编辑思想大碰撞(Markdown、LaTeX、MathJax)
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- Scala的类层级讲解
Scala的类层级 Scala里,每个类都继承自通用的名为Any的超类. 因为所有的类都是Any的子类,所以定义在Any中的方法就是"共同的"方法:它们可以被任何对象调用. Sca ...
- php批量修改文件名称
<?php//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称function fRename($dirname){ if(!is_dir($dirname)){ ec ...
- C# ListView 控件和 INotifyPropertyChanged 接口
ListView 控件和 DataGridView 控件 ListView 是跟 Winform 中 DataGridView 用法以及显示效果差不多的一个 WPF 控件,可以通过列表的方式方便的显示 ...