会编程的 AI + 会修 Bug 的 AI,等于什么 ?

简介: 2017-02-25 Python开发者(点击上方公众号,可快速关注)关于人工智能未来的畅想,除了家庭服务机器人,快递无人机,医用机器人等等,Lucas Carlson 认为人工智能在另外一个领域的可能带来的变革,却没有引起公众的足够注意——这就是:让计算机自己编程。


2017-02-25  Python开发者

(点击上方公众号,可快速关注)


关于人工智能未来的畅想,除了家庭服务机器人,快递无人机,医用机器人等等,Lucas Carlson 认为人工智能在另外一个领域的可能带来的变革,却没有引起公众的足够注意——这就是:让计算机自己编程


2016年11月末,Lucas Carlson 撰文:


目前,机器学习方面的专家倾向于把研究聚焦于具体领域内高度裁剪的 AI 应用——比如:面部识别、自动驾驶汽车、语音识别,甚至是互联网搜索结果等方面。但是,这些技术同样可以应用到让计算机理解其自身的代码架构上——当然这里是指脱离人类的帮助、解释和干涉的情况下进行的理解——其实这种对代码的“理解”和让计算机理解自然语言,或是识别图像并没有本质的区别。

如果代码能够自我分析——做到比人类更快地修正错误并不断优化——那么技术革新将会发生得越来越快。其带来的可能性几乎是无穷无尽的:医学上的进步,更智能的机器人,更“智能“的手机等等。

…… 而 AI 将会改变这种局面

Lucas 的全文,请参见《让代码写代码,自主编程的 AI 离我们还有多远?》(http://blog.jobbole.com/108437/) 。

2017年2月23日 NewScientist 报道,微软和剑桥大学的研究员近日发布了一篇论文,文中阐述了其科研成果 DeepCoder:一个会编程的机器学习系统。

英文论文:https://openreview.net/pdf?id=ByldLrqlx


微软和剑桥大学研究人员联合创建的机器学习系统 DeepCoder 学会了如何自己写代码。它能让人们在没有掌握必要编程知识的情况下,更轻松的构建出简单的应用程序。


未来,非程序员可以通过简单的描述出一个程序的想法,然后让机器学习系统将其构建出来。DeepCoder  使用了被称为「程序合成」的技术,将来自现有软件的一行行源代码拼接在一起。


给定每一个代码片段的输入和输出列表,DeepCoder 学会要实现预期结果需要使用到哪部分代码。它的一大优势是速度,能在几分之一秒内创建出一个可工作的程序。在了解了哪一部分源代码能工作,哪一部分不能之后,DeepCoder 能改进每一次创建的新程序。


目前DeepCoder只能生成五行左右代码的程序。但如果采用了适当的编程语言,几行代码也能抵上一段复杂的代码了。


没有参与 DeepCoder 的麻省理工学院 Armando Solar-Lezama 认为,这项技术在自动化方面的潜能,将极大减少在开发代码方面的精力消耗。一下子生成一大段代码,这有点不现实。但一段代码,是可以有很多的小段代码组合而成。


Solar-Lezama 同时认为,DeepCoder 并不会让程序员失业下岗。因为「程序合成」是把编程阶段枯燥部分自动化了,程序员能把更多精力放在更为复杂的任务上。


除了自动编程的,还有自动修 Bug 的程序


2015 年 6 月下旬,麻省理工学院的研究人员展示了一个新系统,可以通过从其他更加安全的应用中自动导入相关功能,借以修复原来软件中的危险漏洞。


这个引人注目的系统叫做 CodePhage ,它借用其他程序时并不需要访问借主应用的源码。相反,该系统分析这个应用的执行情况,并标记出其安全检查类别的特性。因此,即使所编写的语言与被修复应用的语言不同,该系统仍然可以从中导出检查功能用来修复应用。


CodePhage 将代码导入易受攻击的程序后,还会进行进一步分析以确保漏洞被修复。


MIT 计算机科学与人工智能研究室(CSAIL)的研究员,CodePhage 的研发领导人员 Stelios Sidiroglou-Douskos 表示:


“我们在开源库里有大量代码可用,数百万计项目,而且很多项目都有类似的实现了。这些项目总有一些可以与别的许多项目共享功能的子模块,即便那不一定是该程序的核心功能。”


有了 CodePhage,“你将逐渐建立一个集其他应用最优秀部分于一身的混合系统。”


会编程的 AI ,加上会修 Bug 的 AI,等于什么 ?


大家一起来畅想一下,欢迎在评论中留言。


参考:

Solidot、伯乐在线、MIT News、VentureBeat、NewScientist


看完本文有收获?请转发分享给更多人

关注「程序员的那些事」,提升编程技能

相关文章
|
7天前
|
人工智能 测试技术 开发者
AI 编码助手:编程路上的得力伙伴
在数字化浪潮中,AI编码助手成为开发者不可或缺的工具。它通过代码生成与补全、优化与规范、错误检测与调试等功能,大幅提升编程效率和代码质量。从需求分析到部署,AI助手全程助力,确保项目顺利进行。尽管不能替代开发者创造力,但它无疑是编程道路上的得力伙伴,推动软件开发不断创新。
37 12
|
1月前
|
人工智能 安全 JavaScript
Open Interpreter:AI 赋能终端!在终端中对话AI模型进行编程,通过运行代码来完成各种计算机操作任务
Open Interpreter 是一个让语言模型运行代码的强大工具,提供了一个类似 ChatGPT 的界面,支持多种编程语言和丰富的功能。
94 7
Open Interpreter:AI 赋能终端!在终端中对话AI模型进行编程,通过运行代码来完成各种计算机操作任务
|
20天前
|
人工智能
带上团队一起来做 AI 编程实践丨通义灵码联合TGO鲲鹏会开启 AI 大课
带上团队一起来做 AI 编程实践丨通义灵码联合TGO鲲鹏会开启 AI 大课
|
24天前
|
人工智能 并行计算 调度
【AI系统】CUDA 编程模式
本文介绍了英伟达GPU的CUDA编程模型及其SIMT执行模式,对比了SIMD和SIMT的特点,阐述了SIMT如何提高并行计算效率和编程灵活性。同时简要提及了AMD的GPU架构及编程模型,包括最新的MI300X和ROCm平台。
51 5
|
1月前
|
人工智能 自然语言处理 IDE
通义灵码让AI帮你实现自动化编程
通义灵码是由阿里云与通义实验室联合开发的智能编码辅助工具,具备行级/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答及异常报错排查等功能。该工具支持200多种编程语言,兼容主流IDE,如Visual Studio Code、Visual Studio和JetBrains IDEs。通义灵码在Gartner发布的AI代码助手魔力象限中表现出色,成为唯一进入挑战者象限的中国科技公司。目前,通义灵码下载量已超过470万,每日辅助生成代码超3000万次,被开发者广泛采用。
|
27天前
|
机器学习/深度学习 人工智能 并行计算
【AI系统】芯片的编程体系
本文探讨了SIMD与SIMT的区别及联系,分析了SIMT与CUDA编程的关系,深入讨论了GPU在SIMT编程的本质及其与DSA架构的关系。文章还概述了AI芯片的并行分类与并行处理硬件架构,强调了理解AI芯片编程体系的重要性,旨在帮助开发者更高效地利用AI芯片算力,促进生态繁荣。
48 0
|
2月前
|
人工智能 搜索推荐 测试技术
AI 辅助编程的效果衡量
本文主要介绍了如何度量研发效能,以及 AI 辅助编程是如何影响效能的,进而阐述如何衡量 AI 辅助编程带来的收益。
|
2月前
|
人工智能 Python
AI师傅和通义灵码合作助力你学编程
湖北的一位股民通过AI学习了使用通义灵码制作股票浮动止盈点计算器,大幅提升了效率。通过描述需求、编写代码、解释代码和纠错等步骤,实现了从获取股票最高价到计算止盈价的全过程,简化了操作流程,提高了投资决策的准确性。
|
2月前
|
人工智能 运维 自然语言处理
通义灵码:体验AI编程新技能-@workspace 和 @terminal为你的编程插上一双翅膀
本文介绍了通义灵码个人版中的@workspace和@terminal功能,帮助运维工程师快速理解项目结构、实现需求和执行指令。@workspace通过RAG技术深度感知代码库,支持快速上手新项目和协助实现新需求;@terminal则提供智能指令生成和解释,提升开发效率。
296 5
835
|
2月前
|
人工智能 Java 开发者
基于通义灵码轻松进行编程 在 AI 师傅(AI-Shifu.com)学的通义灵码
作为一名Java开发者,通过使用通义灵码个人版学习Python,学习效率提升了80%。根据AI师傅平台的指导,高效利用AI辅助学习的主要步骤包括:1. 描述需求,了解所需技术;2. 细化需求描述,便于AI高效编程;3. 发送参考指令给AI;4. 执行代码测试;5. 查看代码注释;6. 优化代码。
835
70 1