宁德生活圈

网站首页 科技 > 正文

GMAIL为程序员设计的AI编码软件

2021-09-20 15:01:16 科技 来源:
导读 在过去的一年里,人工智能大大提高了其生成字符的能力。通过扫描大量的文本数据集,机器学习软件可以生成从短篇小说到歌词的令人信服的样本

在过去的一年里,人工智能大大提高了其生成字符的能力。通过扫描大量的文本数据集,机器学习软件可以生成从短篇小说到歌词的令人信服的样本。现在,这些相同的技术正被应用到一个名为DeepTabNine的新程序的编码世界中。DeepTabNine被称为编码自动完成器。程序员可以将其作为附加组件安装在自己选择的编辑器中。当他们开始写作时,它会建议如何继续每一行,并一次提供小块。把它想象成Gmail的智能写作功能,但不包括代码。滑铁卢大学计算机科学本科生雅各布杰克逊发明了DeepTabNine。他说,这个软件并不新鲜,但机器学习极大地改进了它所能提供的功能。

GMAIL为编码人员设计的AI编码软件

这为我解决了一个问题。

去年2月,杰克逊开始开发tabnine的原始版本,然后在11月发布该软件。但本月早些时候,他发布了一个更新版本,该版本使用了由研究实验室openai设计的名为gpt-2的深度学习文本生成算法来提高其能力。这次更新给程序员留下了深刻的印象,他们在推特上称之为“惊人”、“疯狂”和“绝对令人兴奋”。

用户弗兰克尼霍夫(Franck Nijhof)是一名信息技术经理,业余时间从事开源家庭自动化软件工作。他说,他不仅对Deep TabNine感到惊讶,而且以一种愉快的方式感到害怕。Nijhof在邮件边上说:“第一个小时使用DeepTabNine对我没有任何帮助,因为我总是被一种惊讶的感觉所阻止,并试图把我的头包起来。”他不停地问自己:“它怎么知道?但是怎么做呢?”像这样的自动完成工具并不新鲜,但尼霍夫说DeepTabnine的建议更准确。他说:“以前我也试过一些聪明的‘万能’的,但是都很烦人,没什么用。”"毫无疑问,塔布宁改变了游戏规则。"

杰克逊说,该软件提供了更好的建议,因为它基于预测。大多数自动完成程序必须解析用户所写的内容以提出建议,并像数学公式中的步骤一样处理代码。相比之下,DeepTabNine依靠机器学习的能力在数据中找到统计模式进行预测。

GMAIL为编码人员设计的AI编码软件

就像文本生成算法是在书籍、文章和电影脚本的庞大数据集上训练的一样,DeepTabNine已经在Github编码库中的200万个文件上接受了训练。它在这些数据中找到模式,并使用它们来暗示在任何给定的代码行中接下来可能会出现什么,无论它是变量名还是函数。

杰克逊说,使用深度学习来创建自动完成软件有几个优点。首先,它很容易增加对新语言的支持。他说:“你只需要把更多的训练数据放进DeepTabnine的Hopper,它就能挖掘出模式。”这意味着DeepTabNine支持大约22种不同的编码语言,大多数替代方案只支持其中一种。

(所有支持的语言列表如下:python、JavaScript、Java、c、c、PHP、go、c #、ruby、objective-c、rust、swift、typescript、haskell、ocaml、Scala、kotlin、perl、SQL、html、CSS、bash)。

最重要的是,由于深度学习的分析能力,Deep TabNine提出的建议整体质量更高。而且,由于软件不会通过查看用户自己的代码来提出建议,所以它可以从一开始就帮助项目,而不是等待用户编写的代码来提供一些提示。

GMAIL为编码人员设计的AI编码软件

Deep Tabnine也有问题。

当然,软件并不完美。它的建议是错误的,它并不适用于所有类型的编码。不同编程领域的用户,如黑客新闻(Hacker News)和R/Programming Subredit,都在讨论它的优势,并提供了一些褒贬不一的评论(尽管大多数倾向于正面评论)。正如您对为程序员构建的编码工具的期望一样,人们对它如何与现有的编辑器和工作流准确协作有很多话要说。

郑重声明:本文版权归原作者所有。转载文章只是为了传播更多的信息。如果作者信息标注有误,请第一时间联系我们修改或删除。谢谢你。


免责声明: 本文由用户上传,如有侵权请联系删除!


标签: