专栏名称: Fundebug
Fundebug为JavaScript、微信小程序及Node.js开发团队提供专业的线上代码bug监控和智能分析服务。
目录
相关文章推荐
前端早读课  ·  【招聘】字节跳动客服平台招高级前端开发工程师 ·  20 小时前  
前端早读课  ·  【第3455期】快手主站前端工程化探索:Gu ... ·  20 小时前  
歸藏的AI工具箱  ·  终于有给设计师用的 Cursor 了 ·  昨天  
歸藏的AI工具箱  ·  终于有给设计师用的 Cursor 了 ·  昨天  
前端早读课  ·  【开源】TinyEngine开启新篇章,服务 ... ·  2 天前  
51好读  ›  专栏  ›  Fundebug

昝涛博士:人工智能如何自动编程

Fundebug  · 公众号  · 前端  · 2018-10-16 10:34

正文

摘要: AI编程不是梦

在未来

工程师要经历一个coder到AIer的转变;

工程师是写人工智能

格斗新玩法,极致火爆对决

人工智能负责生成代码、测试代码、修复代码

人与机器相互合作

Fundebug创始人 昝涛

以《 人工智能如何自动编程 》为题进行演讲,以下为演讲全文。

(以下为嘉宾演讲全文,阅读时间2分钟)

人工智能如何自动编程

知名风险投资人Marc Andreessen说过:” Software is eating the world .“,事实上现在确实如此。如今我们每个人的手机上少则安装了五六个,多则几十个App。这些App都是由软件工程师通过一行一行代码写出来的。而写代码涉及到大量繁琐的细节,或则说有很多重复性的工作,我们能否用人工智来优化和改进呢?

我一直对物理有着很深的爱好,高中通过物理奥赛保送到中国科学技术大学计算机系,之后到日本国立情报学研究所读了计算机博士。其实,我是一个闲不住的人,在读书之余还尝试各种创业,做过互联网策展媒体石子儿,做过二次元社交好奇喵,最终沉下心来做了现在的事业Fundebug。

Fundebug为应用提供实时的的bug监控服务 ,保障产品的质量。上线一年半,注册团队超过1万家,处理数据超过6个亿。我们Fundebug的目标是帮助软件工程师更好的修复bug,甚至让软件工程师不再需要修复bug。那就是我们实现自动修复bug,甚至自动编程的目标。那么到底如何实现自动编程呢

我们先来回顾一下它的发展。现在人工智能的应用可以说已经是非常广泛了,像语音识别,比如今天的搜狗同传,它可以自动的将我现在讲的中文实时翻译成英文。自动驾驶现在已经上路测试了,人脸识别准确率有了极大的提升,乘坐高铁已经不用出示身份证,刷脸就可以。所以在各行各业,人工智能的技术已经有了广泛的应用。那么在编程领域又是怎样的呢?

国外一家叫做UIZard的公司发布了一项新技术叫做pix2code,通过深度学习技术能够将设计师画的草图直接生成网页代码。其实我们软件工程师在写软件的时候,首先要由设计师去把整个软件的外形设计出来,而且非常精确,长宽边距等等标注得非常清楚,再让工程师用代码实现出来。这个工作实际上是非常繁琐、枯燥的。实际上这部分工作如今可以用机器替代了,那么 软件工程师只要关注逻辑层面的事情,而不是这些UI的细节

我们再来看另一个,微软最新的研究成果DeepCoder,让机器自动写程序。通过定义一个特殊的语言,然后给机器很多样本数据,输入是什么样子,输出是什么样子。然后机器就自动把这段程序给学习出来了。这个可以说是一个很大的突破, 机器已经能够一定程度上自动写程序了

其实我认为要真正到实际应用, 依然有两个难点:1. 这是一个特殊构造的语言,而现实中使用的语言要复杂得多;2. 通过大量的示例来学习出来的。要去构造大量的例子,对于现实的编程是不可行的

其实人工智能,从字面最直观的理解就可以看出:是让机器像人一样智能。那么我们人到底是如何学习的?我认为其中有很重要的一个点,那么就是从错误中学习,不断改进,不断提升。我们在读书的时候,很多人可能都有准备一个错题本,将平时做错的题目记下来,不断地温习巩固,通过掌握易错题来提升能力。

其实在深度学习中也有这样的概念, backpropagation,通过反向的回馈来不断地调整,来提升模型 。我们可以设想一下,对于编程这个事情,是不是也可以从bug中学习,从bug中提升自己呢?我的答案是可以的。为什么这样说呢?

其实再厉害的工程师,写出来的第一个版本的代码绝对不可能是百分之百正确,没有问题的。他一样要反复的测试,发现遗漏的状况,把它修复,最终得到一个高质量的程序。机器和人一样,要实现自动编程,它也不会一次就写出100%正确的代码。一样会有bug,一样要改bug,最终达到一个正确率非常高的代码。







请到「今天看啥」查看全文