关注code intelligence相关工作很久了,其实20年那会就已经能做到生成的短片段代码具备可执行能力,后来CodeX基于GPT3呈现了非常惊人的NL2PL的能力,Copilot又在代码补全上火了一把,这个领域从原本软件工程问题逐渐被NLPer渗透。大规模预训练在代码智能方面又有得天独厚的条件(数据量大,且没自然语言那么复杂),不断出现各种突破是可以预见的(代替人应该还早)。
这里给大家看看最近做代码预训练的Paper就知道了,从ELMo开始就有人考虑用代码去做预训练了,虽然出发点不见得相同,有的人为了做特定任务,如注释生成,代码补全等等,有的为了研究代码的表示学习,但伴随着NLP技术的演进其实一直在发展。
顺带一提,其实做算法题应该算是代码智能各类任务中相对简单的(NL2PL里约束较多的问题,大家可以去对比CodeX想做到的,有context的纯自然语言描述编程)。可能一般看到这个问题都会觉得不明觉厉甚至产生些许AI替代程序员的YY(前景还是有的),其实大可先多了解一下。这里附上微软亚洲研究院的CodeXGLEU,是近几年对代码智能任务整理最全的一个benchmark了
然后我自己因为长期在关注,也整理了一个列表(虽然其实不全),大家也可以做个参考