我们距离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产品 ...
随机推荐
- 第15章 时间常数字符串比较 - IdentityModel 中文文档(v1.0.0)
在比较安全上下文中的字符串(例如比较键)时,应尽量避免泄漏时序信息. 该TimeConstantComparer类可以帮助: var isEqual = TimeConstantComparer.Is ...
- .net Lambda表达式与Linq (LINQ TO object)
Lambda表达式,是用来写匿名方法的. 在委托用得比较多,因为委托是传递方法的. 定义几个委托: public delegate void DoNoThing();//无参无返回值 publ ...
- .net接收post请求并把数据转为字典格式
public SortedDictionary<string, string> GetRequestPost() { int i = 0; SortedDictionary<stri ...
- 联发科Helio P90(mt6779),P70(mt6775),P60(MT6771),P35,P22(MT6762)芯片参数规格
Helio P90(mt6779)是一款人工智能处理平台,集成了超级强大的AI专核APU 2.0,具有超强的AI性能和一系列基于人工智能的成像升级.该芯片将重新定义消费者对智能手机AI功能的体验.He ...
- SQL Server统计信息偏差影响表联结方式案例浅析
我们知道数据库中的统计信息的准确性是非常重要的.它会影响执行计划.一直想写一篇关于统计信息影响执行计划的相关博客,但是都卡在如何构造一个合适的例子上,所以一直拖着没有写.巧合,最近在生产环境中遇到 ...
- 当心Azure跨区域数据传输产生额外费用
最近同事发现Azure上一台虚拟机的费用环比增加了一部分.后面仔细检查发现费用来自数据传输, 因为这是早期部署的一台Azure虚拟机(Iaas),我们在本地生成备份,然后通过AzCopy到存储账号的B ...
- lombok的安装
Lombok简介 Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法.官方地址:https:/ ...
- 使用whistle模拟cgi接口异常:错误码、502、慢网速、超时
绝大多数程序只考虑了接口正常工作的场景,而用户在使用我们的产品时遇到的各类异常,全都丢在看似 ok 的 try catch 中.如果没有做好异常的兼容和兜底处理,会极大的影响用户体验,严重的还会带来安 ...
- 微信小程序页面跳转方法和携带参数详解
1.页面跳转方式 (1)标签跳转 open-type的属性值对应api里的用法即wx.的用法 1 <navigator url="/page/navigate/navi ...
- Java三种方式实现栈和队列
栈:LIFO(后进先出) 队列:FIFO(先进先出) 1.栈:LIFO(后进先出) 1.1.栈的顺序存储结构实现: /** * 基于数组实现的顺序栈 * @param <E> */ pub ...