DeepTabNine的新程序将这些相同的技术应用于编码领域

2021-10-14 09:05:11

大家好,我是本栏目的编辑郝帅。现在我给大家解释一下上面的问题。在过去的一年里,人工智能已经严重提高了其生成手写字符的能力。通过扫描庞大的文本数据集,机器学习软件可以生成从短篇小说到歌词的令人信服的样本。现在,一个名为Deep TabNine的新程序被用来将这些相同的技术应用到编码领域。

Deep TabNine就是所谓的编码自动完成器。程序员可以将其作为附件安装在自己选择的编辑器中。当他们开始写作时,它会建议如何继续每一行,并一次提供小片段。你可以把它想象成Gmail的智能合成功能,但需要考虑代码。

机器学习可以认真提高编码助手的能力。

滑铁卢大学计算机科学专业的本科生雅各布杰克逊创立了Deep TabNine。他说,这个软件并不新鲜,但是机器学习已经大大改进了它的功能。“这为我解决了一个问题,”他告诉《边缘人》。

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

一位在业余时间从事开源家庭自动化软件工作的信息技术经理弗兰克尼霍夫(Franck Nijhof)说,他不仅对Deep TabNine感到惊讶——他还以一种愉快的方式感到害怕。Nijhof在邮件中告诉The Verge:“我使用Deep TabNine的第一个小时毫无用处,(因为)我不断惊讶于试图绕过它。他不停地问自己:“它怎么知道?但是它呢?”

像这样的自动完成工具并不新鲜,但是Nijhof说Deep TabNine的建议更准确。“我曾经尝试过一些聪明的‘万能’,但它们既烦人又无益,”他说。“TabNine无疑是一个改变游戏规则的人。”

杰克逊说,该软件提供了更好的建议,因为它是可预测的。大多数自动弹出器必须解析用户所写的内容以提出建议,这些建议由代码处理,就像您将使用数学公式中的步骤一样。相比之下,Deep TabNine依靠机器学习的能力在数据中找到统计模式进行预测。

与在大量书籍、文章和电影脚本数据集上训练文本生成算法的方式相同,Deep TabNine已经从GitHub训练了200万个文件。它在这些数据中找到模式,并使用它们来提示任何给定代码行中可能出现的内容,无论是变量名还是函数。

杰克逊说,使用深度学习来创建自动完成软件有几个优点。首先,它可以轻松添加对新语言的支持。他说你只需要把更多的训练数据放入Deep TabNine的漏斗中,它就会挖掘出模式。这意味着Deep TabNine支持大约22种不同的编码语言,而大多数替代方案只使用一种。

最重要的是,由于深度学习的分析能力,Deep TabNine提出的建议整体质量较高。而且由于软件不看用户自己的代码提建议,可以从go这个词开始帮助完成项目,而不用等待用户写的代码中的一些提示。

DEEP TABNINE也有问题。

当然,软件并不完美。它的建议是错误的,对所有类型的编码都没有用。黑客新闻和r/program subreddit等各种编程漏洞的用户已经讨论了它的优势,并提供了一些褒贬不一的评论(尽管大多数都是正面的)。正如您对编码器构建的编码工具的期望,人们对现有编辑器和工作流的准确性有很大的关系。

Jackson同意投诉是合法的,Deep TabNine更适合某些类型的编码。当相对死记硬背的代码自动完成时,它的效果最好。这种编程已经做了成千上万次,只有微小的改变。它不能写探索性代码,用户正在解决一个新问题。考虑到软件的智能来自归档数据中的模式,这是有意义的。

Deep TabNine是用来写一些c的。

那么你的普通编码器真的有用吗?这取决于许多因素,例如他们使用的编程语言和他们想要实现的目标。但杰克逊说,它更像是一种比人类编码伙伴更快的输入法(一种常见的做法叫做配对编程)。

他说:“想象一下,现在所有程序员都在用相当于手机的键盘打字,深入TabNine有点像转向普通键盘。这个软件可以加快你输入信息的速度,提高你的工作效率,“因为你可以花更多的时间思考高级内容,而不是细节。”但是它不会为你写代码,你真的需要密切关注它。

“我还没有真正决定我想用它做什么。”

目前,

杰克逊正在考虑下一步该软件应该做什么,以及它是否值得商业化。他说,他有一份全职工作,排成一家他不想放弃的大型科技公司,但各界人士对此表示“非常感兴趣”。“我还没有真正决定我想用它做什么,”他说。

目前,TabNine的许可证个人使用费用为49美元,商业用途费用为99美元,个人必须注册Deep TabNine测试版才能访问新的深度学习功能。在网站上,杰克逊证明了这样的价格,这对软件的吸引力起到了不错的作用:“TabNine每分钟至少可以节省1秒钟。如果你认为你的时间超过每小时1.40美元,它将在不到一年的时间内收回成本。“

他说,如果他能够使用开源软件创建这样的程序,那么AI辅助编码的未来是光明的。

“这是在这个领域工作的每个人的目标,告诉计算机你想要写什么代码,它是为你做的,”他说。“我们目前还没有接近,但我认为这是一种工具,可以让你更方便地表达自己的想法。”

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