AI 评委的背后是阿里巴巴正致力推进的代码智能化:让 AI 帮助工程师完成更规范、更有美感的代码语言,提升开发者的产品交付质量。
天下网商记者 贡晓丽
AI 有什么用?语音识别、视觉识别、神经网络、深度学习、自然人机交互等大大小的技术,可以应用在智能汽车、交通、工业制造、医疗、环保等不同领域。如今,工程师又赋予了 AI 一个新的功能,给代码大赛做评委——点评代码、修复 Bug。
因代码而生,为代码纠错,AI 与代码以及工程师间的关系,正在变得微妙。
4 月 18 日,2019 阿里巴巴研发效能峰会—— "83 行代码挑战赛 " 决赛现场就引入了一位 "AI 评委 ",取名蓝雁侠,和专家评委、大众评委配合,对选手提交的的代码做综合评价,这也是全球代码比赛中出现的首位 AI 评委。

AI 评委是谁?
20.00、19.65、19.55、18.95 …… 83 行代码总决赛得分榜上,AI 评委根据 8 组参赛者的代码展示,给出了具有细微差别的分数。分数排行榜会根据 AI 评委、专家评委、大众评委的综合打分实时滚动,一个逻辑语言的处理甚至可能瞬间提高选手排名。
这位 AI 评委从哪儿来?与会专家告诉记者,它来自阿里巴巴代码平台研发的人工智能系统。这位 AI 评委运行在云端,当选手提交代码后,会从静态分析、运行时分析、群体共性等不同维度对代码快速打分。
据了解,AI 评委集成了 Precfix(Patch Recommendation by Empirically Clustering),不依赖测试用例、编译结果,通过非规则化的智能扫描,即可自动定位代码中的 Bug,并提供修复建议,速度可达毫秒级,且误报率低。
在现场的直接反应就是打分最为迅速,几乎是在代码提交后立刻出现结果。在现场专家和大众评委看来,其评分相当准确。
Precfix 能够发现一些规则检查和人工评审都无法发现的缺陷,根本性地提升代码质量,有效减少开发工程师的 bug 及代码评审时间。同时,Precfix 提供的修复建议,能帮助工程师快速理解缺陷和解决问题。

目前,Precfix 已被部署到阿里巴巴代码生产环境,用于缺陷检查。工程师写好代码,就提交到线上,Precfix 会进行 review,指出缺陷代码及相应的修复建议。
据一位工程师透露,过去人工 review 代码查找 bug 可能需要几小时甚至几天时间不等,而现在不用一杯咖啡的时间,Precfix 就可以 review 完提交的全部代码,提高了至少 20% 效率。
" 未来,Precfix 还会随着阿里代码平台的上云,一起为全球开发者服务。" 大赛主持人孤尽告诉记者。
AI 会取代工程师?阿里巴巴表示:不会
83 行代码挑战赛是面向阿里 3 万多名工程师的技术大会,旨在进一步提升内部的研发效率,这场大赛可以说是阿里巴巴最大规模的代码品鉴会。

比赛源自之前阿里内网一次集体晒 83 行代码的活动,阿里巴巴集团 CTO 张建锋、蚂蚁金服 CTO 程立,甚至马云、彭蕾都有参与。今年已是第三届,总分 92.12 分的梁希,也是继去年获奖后再次站上一等奖的领奖台,不同的是,今年给他打分的,多了 AI 评委。
事实上,AI 评委的背后是阿里巴巴正致力推进的代码智能化:让 AI 帮助工程师完成更规范、更有美感的代码语言,提升开发者的产品交付质量。
对此,本次大赛出品人、阿里巴巴技术合伙人多隆表示:" 希望 AI 能与代码开发产生更多化学反应,让 AI 结对开发工程师,帮助工程师减负。"
代码智能化进程中,全球领先的科技公司都在积极投入,包括谷歌、Facebook、微软等也曾推出相关的工具。不久前,谷歌大脑发表的论文还提出让神经网络来完成源代码编辑。
对此,也有人提出了 "AI 是否会取代工程师 " 的疑问。
事实上,代码是一种 " 动态 " 过程,需要很强的泛化能力才能完成。优秀的工程师往往会根据新需求、新的网络环境、bug 的修复、公司战略意图等各种不断变化的因素来构建代码。AI 能完成的是相对简单的任务,要让机器来动态判断和预测即将发生的编辑内容,甚至开发出比较复杂和创新性的产品,还有很长的路要走。
"AI 评委可以判断代码的结构、逻辑、风格,但是代码还具有艺术性、优雅性、扩展性等特点,AI 从精确性的角度可以判断是或否的概念,但是它的评判对象美不美,这就要交给人了。" 孤尽告诉记者,目前的 AI 评委还不具有代码审美,所以这也是仅给它 20% 评分权限的原因,大众评委占 20%,专家评委则有 60% 的权限。
神经元的模糊思考仍然是 AI 的弱点,但孤尽相信,AI 的终极智慧我们现在可能还没有看到," 或许未来代码会被舍弃,我们可以和机器无障碍对话,那将是对社会非常剧烈的信息革命 "。


登录后才可以发布评论哦
打开小程序可以发布评论哦