有个AI陪你一起写代码,是种怎样的体验?| 附ICLR论文
麻瓜栗 发自 凹非寺
量子位 出品 | 公众号 QbitAI
从前,任何程序的任何功能,都需要一行一行敲出来。
后来,程序猿要写的代码越来越多,世界上便有了各种各样的API,来减少大家的工作量。有些功能,可以让API来帮我们实现。
不过,人类写下的话,API并不是每一句都能听懂。语言不通的话,愿望就无法实现。
现在,有会写代码的AI可以替你召唤API。以及,它能做的并不止这些。
吃得不多,写得不少
莱斯大学的一群极客,发布了一个基于深度学习的代码编写应用。神经网络从GitHub这样的线上源代码库里汲取养分,写自己的程序。
这个应用叫Bayou,是在美国国防高级研究计划局 (DARPA) 和谷歌研究院的资金支持下诞生的。
Bayou的爸爸们说,这个孩子和它的前辈不同。以前那些会写程序的AI,都需要事先投喂大量细节,才能开始生成代码。有空写好那些细节,不如自己写个程序了。
而要支配Bayou,开发者只要给它吃一点点信息,比如几个小小的prompt,它就会善解人意地猜测,人类想要怎样的程序,然后疾速补全代码。
△ input
举个简单的栗子,假设你想写个读取文件的Java方法。如果你知道某个API里面有个功能叫做readline,就可以写出上面这样的代码。
△ output
然后,Bayou便知道它要召唤的技能叫做readline,随之为你输出以上代码,只要用这段代码来调用你需要的API就可以了。
不要忘了,专门给Bayou看的部分,要标上///,以示害羞。
除了调用一个或者几个API,我们还可以用API数据类型把自己的要求具体化。另外,Bayou有一个非常友好的特点,便是多模态,就算把各种不同的术语混进同一段代码,它也能看懂。
草图训练大法
毕竟,这只AI已经从大约1500个安卓应用里,学习了人类编写的上亿行Java代码。
用一种名为“神经草图学习 (Neural Sketch Learning) ”的方法来训练神经网络,Bayou可以给自己想要读取的每个程序,创建一个树状结构的句法模型,称作“草图 (sketch) ”。
当有人对Bayou提出要求的时候,系统会先做一个判断,感受一下自己要写的程序是怎样的。然后,就是为代码库里同类型的程序做草图。这里只识别high-level模式,而忽略所有low-level特征。
在那之后,Bayou还有一个用来理解low-level细节的模块,可以自动进行逻辑推理。它会根据第一步做出的判断,生成我们可能需要的代码。
哪怕问题没有解决,Bayou给出的代码示例或许也能帮我们提出更合适的问题。这时候再去Stack Overflow寻求答疑,疗效可能会好一些。
孩子你还小
△ 我有优秀的聚类能力
团队认为,Bayou非常适合为各种API编写代码示例。不过,现在的它并不十分成熟,还有一些局限性。
比如,它目前支持的API非常有限,只有java.lang,java.io和Java.util。再比如,它没办法处理通配符的多种类型。
作为一只年幼的AI,Bayou还有很长的路要走。抱着GitHub修炼的好处是,从那里识别出的模式会比较通用;缺点是GitHub上面的项目质量参差不齐。
目前,团队正在给Bayou增加一些自然语言处理技能,也想在用户体验里增加一些交互性。
调戏Bayou传送门:
http://askbayou.com/
论文传送门:
https://arxiv.org/pdf/1703.05698.pdf
这是发表在ICLR 2018的论文。不过,在5月1日的温哥华,团队可能又要端上新版本了。
— 完 —
加入社群
量子位AI社群16群开始招募啦,欢迎对AI感兴趣的同学,加小助手微信qbitbot6入群;
此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。
进群请加小助手微信号qbitbot6,并务必备注相应群的关键词~通过审核后我们将邀请进群。(专业群审核较严,敬请谅解)
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
有个AI陪你一起写代码,是种怎样的体验?| 附ICLR论文相关推荐
- 算法高级(47)-AI现在都可以写代码了-辅助编程
一.AutoML AutoML 是谷歌的一个能够制造子 AI 的 AI 系统.2017 年 5 月,谷歌大脑研究人员宣布创建了 AutoML,该 AI 系统能够创造自己的 AI 系统.最近,他们决定让 ...
- 加入AI考拉大家庭,是一种怎样的体验?--来自考拉码农的心声
hi,各位帅气又多金,外表冷酷实则内心热情的技术猿: 这是考拉拉第二次踏入这片专属程序猿的天地.为了让大家更加全面了解考拉拉背后的大家庭-AI考拉,我们随机采访了公司的程序猿萌,让他们简单描(tu)述 ...
- 说出你的需求,我们AI给你写代码 | MIT新研究
乾明 发自 凹非寺 量子位 出品 | 公众号 QbitAI 说你想干什么,AI就能自动写代码. 现在,我们离这个目标又近了一步. 近日,MIT的一个研究团队放出了新的研究成果. 他们提出了一种灵活组合 ...
- 不用写代码,就能训练测试深度学习模型!Uber开源AI工具箱Ludwig
乾明 发自 凹非寺 量子位 报道 | 公众号 QbitAI 让代码的归代码,让AI的归AI. 在不写代码就能进行AI开发的道路上,Uber今日又往前踏了一步. 刚刚,Uber宣布开源Ludwig,一 ...
- 命令行里给个注释,AI就能自动生成代码
兴坤 发自 凹非寺 量子位 报道 | 公众号 QbitAI 记不住Shell常用命令和参数?现在有个工具,只要写下描述,就可以自动生成命令. 敲个回车键让AI自己生成代码,执行命令什么的也都是顺手的事 ...
- GitHub的AI写代码翻车了,会在注释里给你写上what the f***,因为...
以下文章来源方志朋的博客,回复"666"获面试宝典 来源 | 新智元 GitHub Copilot凭借着自动生成代码这个强有力的噱头,推出之后就成为了讨论的焦点. Copilot建 ...
- 会写代码的AI开源了!C语言写得比Codex还要好,掌握12种编程语言丨CMU
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 比Codex还 ...
- python在哪里写代码比较适合-AI辅助写代码,Python之父都爱不释手的工具
我刚看到这个工具的时候,也是一脸懵x,AI?机器学习?辅助?如果能全自动写出代码得多好,不过真要是这样,在座各位的就业危机就彻底来了. 言归正传,这个工具是-- kite 这是一款IDE插件,使用机器 ...
- 让 AI 为你写代码 - 体验 Github Copilot
前几天在群里看到有大神分享 Copoilot AI 写代码,看了几个截图有点不敢相信自己的眼睛.今天赶紧自己也来体验一下 Copoilot AI 写代码到底有多神奇. 申请 现在 Copoilot 还 ...
最新文章
- 第三章:3.5 傅里叶变换
- 百兆以太网传输距离_新品推荐 16+2G口百兆/千兆监控接入型非标PoE交换机!
- MySQL防止重复插入唯一限制的数据 4种方法
- 日跑几十万作业,唯品会HDFS是如何优化的
- php格式化金额函数分享
- 2011年度最佳代码“不管你们信不信,我反正信了”
- 逻辑运算和作用域的问题
- Linux 下杀毒软件 CPU 占用率为何持续升高
- 【Expression 序列化】WCF的简单使用及其Expression Lambada的序列化问题初步解决方案(三)...
- jis拉伸试棒图纸_拉力测试棒测试(拉伸试验试棒尺寸)
- 【c4d学习笔记】OC渲染器安装问题
- java打包时打入本地依赖包
- 计算机错误1327,Win7系统电脑安装软件失败并提示错误1327解决办法
- 同济大学研究生 计算机 哪个校区,同济大学研究生院在哪个校区?宿舍条件好不好?有哪些招生专业目...
- 大华流媒体服务器连接显示器,如何从海康平台上拉流接入RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播流媒体服务器EasyNVR?...
- 过往云烟~如梦随风飘!!!
- linux查看运行的虚拟机,windows,linux,esxi系统判断当前主机是物理机还是虚拟机?查询主机序列号命令...
- 计算机菜单命令后省略号,windows菜单命令项的右边有省略号…表 – 手机爱问
- 告别户外弱网困扰,4G多卡聚合设备增强弱网环境下应急救援信号
- 智慧校园人员定位系统解决方案
热门文章
- 12306 被质疑过度获取用户隐私;直播答题外挂横行;阿里云辟谣称绝不做虚拟货币 | 一周业界事
- win7工作组无法查看计算机名,WIN7下无法查看工作组计算机怎么办
- 字节大牛教你手撕Java学习,神操作!
- python对大小写敏感吗_python大小写不敏感吗
- java面试题jvm_经典面试题|讲一讲JVM的组成
- php ftp 账号密码修改,月光软件站 - 编程文档 - 其他语言 - 用PHP即时添加,删除FTP帐号和更改FTP密码的函数...
- webpack中library和libraryTarget详解
- 前端如何提示自己的技术水平
- java 查找引用_java – Eclipse查找方法的引用
- wrapper php,PHP流Streams、包装器wrapper概念与用法实例详解