程序员需要遵循经过测试的程序来编写代码,之后还需要维护和其他程序员的贡献。想象一下,如果代码编写的工作由机器人来完成,结果会怎么样呢?
近两年,AI 成了科技界的热词和世界关注的焦点。据统计,到去年年底,在财富 500 强企业中,就有 180 家对外宣称自己要启动相关的人工智能项目。今年,连国务院都宣布将 AI 课程加入中学生教材。
种种迹象表明,人工智能是互联网科技的下一个风口,甚至对整个国民经济都会产生深远影响。
其实,今年 9 月份的时候,就有文章爆出 AI 系统首次实现真正自主编程,完爆初级程序员,引发了大量关注。
来自彭博和英特尔实验室的两位研究人员,号称实现了首个能够自动生成完整软件程序的AI系统“AI Programmer”,这个“AI程序员”利用遗传算法和图灵完备语言,开发的程序理论上能够完成任何类型的任务。
根据论文,研究人员选择了无类型编程语言,只包括了 8 种指令来驱动 AI Programmer 生成软件。
理论上,在时间和内存不限的情况下,图灵完备编程语言能够处理任何编程任务。本质上,任何一种具有这种特质的编程语言都能够解决海量编程问题。同样,AI Programmer生成的软件能够完成所有任务。
关于AI Programmer 的更多内容请查看:
•
资讯:https://www.oschina.net/news/89008/ai-starts-programming-by-itself
•
论文:https://arxiv.org/pdf/1709.05703.pdf
近日,专家再次现身说法:到 2040 年,机器将代替人类编写代码!
事情是这样的:
GitHub 首席执行官曾预言:编码的未来是无需编码。 最近,美国田纳西州橡树岭国家实验室(US Department of Energy's Oak Ridge National Laboratory)的研究人员也有类似的猜测,他们说到 2040 年,大部分代码将会由机器编写。
在一篇名为《人类在2040年是否还会编写代码,这对计算界的极端异质性而言意味着什么?》的论文中,美国田纳西州橡树岭国家实验室的研究员指出:机器产生程序代码(MGC,Machine Generated Code)在 2040 年可能像是现今的人工智能,或是数年后的自驾车技术一样平常,无论是在学术机构或是市场都已具备可以驱动 MGC 发展的主要技术。
论文查看:https://arxiv.org/pdf/1712.00676.pdf
像微软的 DeepCoder,Google 的 AutoML 和 DARPA 推进机器学习的概率编程(PPAML)等程序,已经实现了使用机器学习来生成可执行代码。
使用像 DOG4DOG 这样的工具,可以半自动的产生人类因时间限制而无法完成的知识。 而且,使用 Eclipse Modeling Framework 和 Sirius 等代码生成技术,可以生成整个数据层次结构,用户界面和中间层。
虽然无法保证未来肯定是这样,不过目前的 DevOps(开发运维)实践/做法高度依赖自动化,由于 AI 方面的进展和人类程序员使管理大规模技术基础设施的工作实现系统化,将来只会更加依赖自动化。
论文提到,往后人们即使还需要写程序,那也是会花多数时间依靠自动完成或是功能推荐。 当机器学习跟自然语言处理技术足够进步时,机器产生的程序代码质量将比人类软件工程师编写的还要好。
不过 MGC 仍然面临挑战,由于程序编写平台的异质性,或将导致 MGC 和高生产率计算系统(High Productivity Computing Systems)及特定域语言(Domain Specific Languages)面临相同的困境,就是需要从头改变科学运算,而这项大工程的高成本阻碍了技术向前。
论文结语提到,高异质性的运算环境需要在需求上就可用性与生产效率做些改变,那就更能用自然语言自动编写与执行程序代码,甚至机器们最终不需人类介入就能互相分工完成任务。