我们正在进入特斯拉AI主管Andrej Karpathy所称的“软件2.0”时代。zaizheigeshidaizhong,shenjingwangluohuibianxiedaima,renleidezhuyaogongzuoshiduirenwujinxingdingyi,shoujishujuhegoujianyonghujiemian。
danbingfeisuoyourenwudoukeyitongguoshenjingwangluolaijiejue,zhishaoxianzaihaibushizheiyang。chuantongderuanjiankaifarengrankeyifahuizuoyong。jibianruci,rengongzhineng、jiqixuexihegaojifenxizhengzaigaibianzheruanjiandesheji、bianxie、ceshihebushufangshi。
测试
baxidetotvsgongsizhengzaiweiyue10wanmingqiyekehutigongxingyeguanjianrenwuruanjian。liru,meitianqijinrongfuwujiejuefanganhuichulishuwanyimeiyuandejiaoyi。
cileiyingyongxuyaojinxingnengliceshi。ceshiyonglichuangjianzhexuyaofeichangshenzhongdikaolvruheshejiceshichangjing。meigeceshichangjingdechuangjiandouxuyaohuafeijigexiaoshi。
TOTVS实验室执行董事Vicente Goetten表示,跟上发展的步伐是一项重大挑战。每个测试用例都必须针对用户接口进行定制。随着应用程序不断被重新设计,接口总是在变化。如果平台本身发生了变化,例如升级到更新版本的JavaScript时,所有设计元素都会发生变化。Goetten称:“想象一下重新编写成千上万的用例是一种什么样的场景。”
TOTVS为此不得不求助于人工智能。totvsyongyuceshidepingtaifunctionalizexianzaizhichizhinengchuangjianceshiyongli。gaijishukeyianzhaorenleishibieshuruziduanheanniudeweizhilaichakanpingmu,erbushiyilaiyudicengdaima。tamenhaikeyitigongceshichangjingheyangbenshujulaiweiyingyongchengxujiaya。
tashuo:“yiqianshiyongchuantongjiejuefanganshi,yiminggaojizhibaorenyuanxuyaohuayitianshijiancainengwanchengceshiyongli。xianzai,tamenkeyizaijifenzhongneichuangjianxiangtongdeceshiyongli。”
gottenshuo,zuixinzengjiadenenglishinenggoulijietongsuyidongdeyingyu。“nikeyigaosutamenceshishenme,suihoutamenhuizidongweinichuangjianyigeceshiyongli。zheiweiwomendakaileyishanxindedamen。dadajiangdilezaibianxieceshiyonglishiduigaojizhibaorenyuandexuqiu。”
监控和部署
jiusuanruanjianzaizhibaofangmiandadaoleyudingmubiao,qingkuangyezongbunenganyuqideneiyanggongzuo。zaixianjiajuzhuangxiulingshoushangbuild.comdegaojijishuzongjianpatrick berryshuo:“moutianzaoshang,womenyijingyouleyixiexindechanpinshuju,danshiwangzhanquehaimeiyouzuohaochulizheixieshujudezhunbei。”
Build.com监控在软件性能方面花了数百小时。dangwentichuxianshi,gongsihuijiangruanjianhuifudaozhiqianyizhidelianghaozhuangtai,ranhoujiangqifasongjikaifarenyuanyijiejuechuxiandewenti。
berryshuo:“womenmianlindewentishi,bianxiederuanjianguoyufuza,zailiuliangguimofangmian,yigerenshenzhishiyigetuanduidouwufachakanxianyoudesuoyoujiankongxitong,wufazhidaoqingkuangshihaohaishizaogao,yihuoshixianzaiyinggaicaiquxieshenmecuoshi。tamenhaofeilewomentaiduodeshijianbingtuomanlewomendesudu,daozhiwomenwufayizugoukuaidesuduhuodekehujiazhi,tongshiwomenyewufayizugoukuaidesuduxiangkaifarenyuanfankuixuyaobujiudeshiqing。”
weici,build.comzhuanxiangleharness。harnessweiyigeruanjianjiaofujifuwupingtai,qijiangxingnengjiankongsuohuafeideshijianjihuyasuodaoleling,bingqiejiangbushusudutigaole20bei。xianzai,ruguochuxianwenti,xitongjiangzidonghuifudaoxianqiandeyizhilianghaozhuangtai,binggenjuneizhidejiqixuexigongnengjiangwentifasongjixiangguanrenyuanyijinxingbujiu。build.comhaikaolvzaidaimakaifaguochengzhongshiyonggengduoderengongzhineng。
他说:“我们实际上还没有可用于代码编写的自动化工具。但是人工智能和机器学习可以在开发方面提供帮助,它们实际上能够理解哪些常见模式是好的,哪些是糟糕的。它们可以突出显示异常情况,这样我们可以回过头来展开修复工作。”
安全
Berry还希望看到更多工具使用人工智能,以帮助公司首先编写更好、更安全的代码。
“zheijiushiwomenzhenzhengxiwangzaikaifafangmianshiyongrengongzhinenghejiqixuexidedifang。zheixielingyubingbushitouruzugouderencaijiunengjiejuewentide。bifangshuo,nidedaimakuyoushubaiwanxingdaima。niyaotouruduoshaorenqushenjizheishubaiwanxingdedaimani?womenxuyaonenggoushiyingzheizhongguimodejiejuefangan。”
liru,build.comyizhizaishiyonggithubzuoweiqidaimacunchuku。berryshuo:“tamenzhengzaiyinruyixiexitong,zheixiexitongjiangjiankongnidedaimabingduidisanfangkuzhongcunzaideqianzailoudongfachutixing。”
githubdejiqixuexigongchengshiomoju millerbiaoshi,zheishigithubdeyigehuoyuedekaifalingyu。“womenzhengzhiliyugoujianzhichichangjianloudongdemoxing。”ciwai,githubhaizaijinqifabuleyikuankeyibangzhukaifarenyuanfaxianzaidaimazhongdenagedifangyiwaigongxianglingpaidegongju。
发现
Miller透露,GlerHub还在致力于开发一款工具,“它可以帮助开发人员以自然方式发现一些功能”。通过人工智能,开发人员可以根据自己的意图搜索相关的功能。
tashuo:“tongguozaigithubdekaiyuanbianmapingtaishangshiyongdalianggongkaidaima,jiqixuexiyanjiutuanduizaishixianzheiyimubiaofangmianqudelezhongdajinzhan。tongguoyuyidaimasousuo,kaifarenyuankeyizengjiahejianhuajiejuewentidejisuanxuqiu。”
这意味着开发人员将不再受他们的知识限制。“tamenkeyiliyongcunchuzaigithubshangdesuoyoudaimazhishilaibangzhujiejuewenti。”
分析
constellation researchdechuangshirenjianshouxifenxishiray wangbiaoshi,jingtaihedongtairuanjianfenxigongjudouzaishiyongrengongzhinengjishu。
“机器学习能力已经比18个月前更强大了。我们看到神经网络已经在开始使用。现在,静态分析多于比动态分析,但是我们在未来几年会看到由人工智能驱动的动态分析的兴起。”
开发代码
在谈到从头开始编写新代码时,Build.com的Berry指出。当前的技术还有待改进。
tabiaoshi:“xianzaichuxianleyixiexitong,danshitamengengxiangshineizhimobandejianqiehezhantie。”
danzheizhishigangkaishifashengbianhua。zuishouhuanyingdeide,weiruandevisual studio,zai4yuefenfabudezuixinbanbenzhongneizhilerengongzhinengfuzhudaima。weiruanvisual studio intellicodegaojixiangmujinglimark wilson-thomasbiaoshi,gaigongnengjiyuduishuqiangekaiyuangithubcunchukudejiqixuexi。
“womenzhengzairangkaiyuanshequdaimajuyouzhihui,”weiruanvisual studiohevisual studio codechengxuguanlihezuozongjianamanda silvershuo。tazhichu,zheiyeyouzhuyulijiechangyongdeshiyongleibie,“zaichulibushuxidedaimashi,zheiyouqiyouyong。”
在最近对IntelliCode用户进行的一项调查显示,超过70%的人表示,与传统的IntelliSense相比,新的由人工智能驱动的IntelliCode让他们感觉更有效率。
shiyongzheigegongjudeqiyeyekeyiweizijideyuangongchuangjianzidingyidesirenmoxing。tashuo:“zheishideintellicodenenggoushuotuanduihuoqiyedetuhua,wuxujiangyuandaimachuansongjiweiruan。”
gartnerfenxishisvetlana sicularbiaoshi,zheizhonggongnengshiweiruangoumaigithubdezuichuyuanyin。
微软在去年收购的GitHub拥有超过1亿个存储库,其中2500万以上是开源的。该平台可免费用于公共存储库以及小型私有项目。Sicular称:“GitHub就是一个代码存储库。我认为微软将会用它们生成新的代码。”
智能应用开发平台
build.comdeberryyezaimiqieguanzhudidaimahewudaimadefazhan。tashuo:“zheibushishenmexindongxi。kaifarenyuanzaikaifaguochengzhongzhengzaijiangxitongjichengzaiyiqi。”
这使得人工智能系统部署变得更加便捷。“liru,zhenduituijianfadongjideyuzhuangjiejuefanganrangguoqujishoudedingzhijiejuefanganbiandehenrongyi。”
现在,这种低代码方法正变得更加智能,公司不用再浪费时间创建商品系统。“zheirangwomenyoushijianjinxingzhenzhengdechuangxin。zheixielingyuzhengzaiweiwomentigongkejixufazhandedongxi,rangwomengandaofeichangxingfen。”
以Mendix为例,该公司花了十年多的时间研发出了一套用于创建应用程序的模块系统。开发人员可以将平台上能够使用的功能选项集中在一起,当这些功能不够时,他们可以为缺失部分链接外部代码。如今该公司已经创建了一套深度学习系统来分析这些模型,查看它们在生产中的行为,看看哪些是最成功的,然后根据这些模型识别相关的模式。
deloitte cyberdeyingyonganquanfuzerenvikram kunchalacheng,itbumenduiyushiyongzheixiepingtaimuqianhaicunzaidichuqingxu,yucitongshiyewubumenduiciyequefaxinxin。
“qiyezhengzaixiaoguimodijinxingshiyan,buguowohaimeiyoukandaorenhekehuzaiyiqiyebiaozhunjinxingbushutamen。”
软件2.0
但最大的变化是应用程序将与传统代码没有任何联系。
birushuo,nixiangchuangjianyigewan“jingziqi”deyingyongchengxu,jiukeyigenjuguizeheyouxicelvelaibianxiechengxu。yifangzheimezouyibu,lingyifangjiuneimeyingyibu。kaifarenyuandegongzuozhishixuanzezhengquedecelvebingchuangjianyouxiyinlideyonghujiemianeryi。
ruguomubiaoshiyaojibairenleiwanjia,zheizhongcelveyeshiyongyujingziqi、tiaoqi、shenzhiguojixiangqi。danshiduiyunandugengdadeyouxi,biruweiqi,yaochuangjianyitaoguizejiufeichangkunnan。danruguocaiyongrengongzhinengjishu,rushenduxuexiheshenjingwangluo,qingkuangjiubuyiyangle。
kaifarenyuanbuzaicongguizezheshou,ershicongshujukaishi,jidaliangdeduiyishuju。tongguoalphago,googlezaishuqiancirenleiyouxizhongxunlianlegaixitong。zaizuixinbanbendealphago zerozhong,xunlianshujushixitongduikangziji,suijikaishi。
只要培训数据清晰且充分,并且成功或失败的标准也很明确,那么这种方法就有可能彻底颠覆软件开发工作。开发人员现在就必须要致力于管理培训数据和成功标准,将实际编码工作留给系统,而不是试图弄清楚并编写游戏规则。
tesiladeaizhuguanandrej karpathycheng,zheiyezhengshitesilazaizidongjiashiqichezhongcaiyongdefangfa。
他在去年的技术会议主题演讲中指出,“这是一种全新的软件设计方式。现在,我们不是编写代码,而是积累和整理数据集,这些数据集实际上就是代码。”
liru,tesiladedangfengboliguashuiqizaiqichekaiguosuidaoshihennanzhidaoheshikaiqiheguanbi。zaichuantongderuanjiankaifazhong,chengxuyuanhuichakandaimayizhaochucuowuluojideweizhi。shiyongruanjian2.0hou,kaifarenyuanzhixuyaochakanzheixieshuju。
zaizheizhongqingkuangxia,guanyujiachechuanyuesuidaobingmeiyouzugoudexunlianshujukeyong。tesilabixuyaozouchuqu,yihuodegengduoshuju,zhushizheixieshuju,ranhoujiangqitianjiadaoxunlianshujujizhong,bingzhongxinyunxingshenduxuexisuanfa。
tabuchongdao,chuantongdekaifarengyoufazhankongjian。muqian,zheixiexitongdeyonghujiemianyijiyuqitapingtaidejichengrengranshishoudonggoujiande。
随着越来越多的企业将人工智能用于那些有着大量可用数据的应用程序和使用低代码平台的应用程序,软件开发工作在不久的将来将会发生巨大变化。
编译:陈琳华
yuanwenwangzhi://www.cio.com/article/3393180/ai-is-poised-to-radically-transform-software-development.html