我们距离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产品 ...
随机推荐
- IDEA编写css样式报错
粗心大意!浪费了30分钟时间,必须记录一下! 报错图片 琢磨了半天,没想出是哪里错了,很无奈!!!!!!!!! 度娘:ctrl+shift+alt+H,设置成NONE就可以了 试了一下,果然好使,不再 ...
- 图解CSS3-flex布局
前言 最近笔者在复习以前基础知识,发现很多细的知识点还是需要重新再总结一番.本文对flex布局进行图解说明,以后忘了的同学可以随时过来查看,欢迎转载,烦请注明出处. 主体 万丈高楼平地起,熟悉flex ...
- weblogic816 bug list
weblogic816在aix下的补丁汇总: 严重 Patch 8173326,weblogic server挂起,threaddump显示SERVER HANGS TRYING TO CALL LO ...
- SQL内模糊查询语句拼接时单引号'问题
下面以存储过程查询所有为例,非存储过程(或不是查询所有将*替换为你想要查询的列即可)更为简单, 语法:select * from 表名 where 列名like'%条件%' 拼接后的set @变量名 ...
- RFID和QRCODE对比
1.技术介绍 1.1 RFID 射频识别,RFID(Radio Frequency Identification)技术,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而 ...
- Web地图呈现原理
地图投影 对于接触互联网地图的同学来说,最开始接触的恐怕就是坐标转换的过程了.由于地球是个近似椭球的形状,有各种各样的椭球模型来模拟地球,最著名的也就是GPS系统使用的WGS84椭球了.但是这些椭球体 ...
- 前端项目中常用es6知识总结 -- 箭头函数及this指向、尾调用优化
项目开发中一些常用的es6知识,主要是为以后分享小程序开发.node+koa项目开发以及vueSSR(vue服务端渲染)做个前置铺垫. 项目开发常用es6介绍 1.块级作用域 let const 2. ...
- Java的设计模式
一.什么是设计模式: 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. ...
- C#在window服务配置Log4Net.dll
1.使用背景: C#window服务下添加一个日志记录程序集(Log4Net.dll) 2.添加和使用步骤如下: 一.下载并引入Log4Net.dll程序集到项目中 下载地址:http://loggi ...
- 搭建微服务器:express+https+api代理
概述 最近打算玩一下service worker,但是service worker只能在https下跑,所以查资料自己用纯express搭建了一个微服务器,把过程记录下来,供以后开发时参考,相信对其他 ...