取消
首页  »  杀手级AI补代码工具问世,支持23种语言5种编辑器,程序员沸腾了  »  杀手级AI补代码工具问世,支持23种语言5种编辑器,程序员沸腾了

杀手级AI补代码工具问世,支持23种语言5种编辑器,程序员沸腾了

杀手级AI补代码工具问世,支持23种语言5种编辑器,程序员沸腾了

主演:
Mari Oliveira Lara Tremouroux Joana Medeiros Felipe Fraz?o Thiago Fragoso Bruna G. 布鲁纳·林斯迈耶 Jo?o Oliveira 
备注:
类型:
科幻 动作 喜剧 
导演:
Rhys Waterfield 
别名:
更新:
24-05-20/年代:2006
地区:
英国
《杀手级AI补代码工具问世,支持23种语言5种编辑器,程序员沸腾了》内容简介
杀手级AI补代码工具问(🐻)世,支持23种语(🛳)言5种编辑器,程序员沸腾了(🅾)

边策 安(🥘)妮 发自 凹非寺

量子位 出品 | 公众号 QbitAI

GPT-2,一个来自OpenAI的逆天语言模型,现在能用来补全代码了。

一位来自加拿大的大四学霸,开发了一款”Deep TabNine“代码补全工具,实现了这一大胆的想法。

它支持23种编程语言、5种编辑器,使用简(⬅)单,效果惊艳。

不少使用过的网友说:TabNine是他们用过的最(🕝)好的代码补全工具,这是属于程序员(🍹)的杀手级应用。



在(🎟)VS Code的扩展商店里,TabNine已经被下载1.3万次,获得全5星(🐴)好评。

支持23种编程语言

Deep TabNine支持Java:



Python:



C++:



Haskell:



不同于各种其他代码补全(💀)插件(🥉),Deep TabNine是(😼)根据程序员(😂)过去的习惯自动补全,并在后面给出几种选项的概率。

如果有类似代码出现在之前的项目(🐡)里,TabNine还会在补全候选框中直接给(🔍)出地址,方(🖋)便用户点击进去查阅。



除以上几种语(😏)言之外,Deep TabNine还支持JavaScript、(🔲)C、PHP、Go、C#、Ruby、Objective-C、Rust、Swift、TypeScript、OCaml、Scala、Kotlin、Perl、SQL、HTML、(🥫)CSS和Bash。

主流编程语言几乎都囊括在内。

支持5种编辑器

TabNine支持VS Code、Sublime Text、Atom、Emacs、Vim五种代码编辑器(💍)。

对于使用VS Code和Sublime来说,安装TabNine非常方便,用自带的扩展包管理工具即可。

VS Code

VS Code用(💺)户按下Ctrl+P(Mac用户按下⌘(🛐)+P),粘贴(👵)以下命令,然后(👏)按回车键完成安装。

ext install TabNine.tabnine-vscode

Sublime

Sublime用户安装分为两步:

1、(⬆)按下Ctrl+Shift+P(Mac用户:⌘+Shift+P),选择Install Package Control;

2、(🛌)再次按下Ctrl+Shift+P(Mac用户(🍒):⌘+Shift+P),选择Package Control:Install Package,然后选择TabNine来安装。

Vim

Vim使用Vundle插件管理器进行安装:

1、添加Plugin ‘zxqfl/tabnine-vim’到.vimrc;

2、输(🏍)入:PluginInstall,按下回车(🍹)完成安装。

其他编辑器的安装方法就不一一赘述了,有需要的用户可以参照文末的链接进行安装。

项目超过400kb需要购买许可证:个人用户(⌚)49美元,商业用户99美元。



由(🐃)于Deep TabNine用到机器学(⏳)习补全代码,因此需要大量的算力(超过100亿次浮点运算),在笔记本上运行模型,无法获得低延迟的体验。

因此(🔜),软件开(📕)发者推出了TabNine Cloud云服务器,用云端GPU加速。付费用户不需要(🙊)再加钱即可使用。

所以听(🐋)起(🎩)来很划算吧?

软件开发(🎎)者自己就说,这个价格其实不贵,有了(♈)TabNine,一分钟就里能帮你节省一秒,咱们再算算程序员的时薪,每个小时能节(📤)约1.4美元,不到(🍊)一年时间就能回(⛄)本了。

如果你对效果不满意,TabNine开发(👃)者还提供30天退款保证。

怎么做(🐑)到的?

TabNine是(🏎)在GPT-2的基础上构建的,这是一种(🐅)Transformer架构,原产自OpenAI,是个“逆天”语言模型。

GPT-2的参数高达15亿个,数据量比一代扩大了10倍,使用了包含(💂)800万个网页的数据(🍺)集,共有40GB。

逆天之处就在于,GPT-2写起文章来毫无违和感,无需针对性训练就能横扫(❕)各种特定领域的语言建模任务,还具备阅读理解、问答、生成文章摘要、翻译(🌼)等等能力。

就GPT-2而言,它的训练目标(👻)很简单:根据(💎)所有给定文本中前面的单词,预测下一个(😷)单词。虽然本来是解决NLP问题,看似与写代码没什么关联,但建模代码也算是(🐞)用一种独有(🍻)的方式在理解英文(🍷)。

比如,可以让模(🏷)型用if/else语句否定单词:




项(📒)目主页显示,在大约经过GitHub中200万个文件训练后,TabNine具备了自动补全代码的能力。

在训练这个模型期间,模型学习了例如动态类(🚙)型语言中的类型推断等复(〰)杂行为,用这样的训练方式预测token。




作者表(🎚)示,TabNine可以很好利用传统(😲)代码补全工具难以获取的琐碎细节。

例如,假设app.get_user()的返回类型是一个带有setter方法的对象,而app.get_users()的(🏫)返回类型是一(🏓)个列表,两个名称之间只有细微的差别:



这个模型还能以自然语言编写的文档来推断函数名称、参数和返回类型:




Deep TabNine加入了之前用(🧥)户强(🥧)烈要求加入的(🧢)功能:用预先存在的知识,解决在(🏜)创建新项目时的(🛥)代码补全问题。

例如,它知道当一个类扩展React.Component时,它的构造函数通常会调用一个名为props的参数,并且(🌺)通常在其内部用this.state赋值(😏):


Deep TabNine甚至可以做不可能的事情,并记住C++可变参数转发语法:



“杀手级应用”

TabNine问世后,不断收获好评,甚至还有程序员激动得爆粗口:

卧槽,这种软件多来点就好了。(Fuck yeah. This is the sort of software I want to see more often: TabNine )



有网友表示, 没(😚)有它都不知道该怎么面对写代码这件事了。



还(🐋)有人称之为开发者应(🐊)用中的第一个“杀手级应用程序”:



“令人印象深刻”、“感到神奇”“太酷了(🆚)”……推特上的评价,颇有电视(🚸)广告上(🍺)“用了都说好”的画风。

在各大科技论(🛢)坛上,也有网友提出了建议和改进的方(🦍)向。

有用户反映,也有美(🚎)中(🆓)不足的地方,比如这个工具会干扰自动括号完成。



作者表示,TabNine还在(🏞)不断更新完善中,正在改进这些(🏜)bug。

大四学霸的第一桶金

想不到吧,这款好(🚙)评如潮的代码工具,出自一名大四学生之手。

Jacob Jackson,加拿大人,目前在滑铁卢大学(🍜)主修计算机科学与组合优化专业,辅修数学。大四在读,今年8月份毕业。



Jackson此前在Reddit上发帖称,这是自己在大学阶段开发的第一款商业软件产品。

别人的大学,别人的第一桶金~

但Jackson并(⌛)非无名之辈,年少有为,曾在2014和2015连续两年获得IOI金牌。

因此,大学一入学,便成为加(🔱)拿大Michael and Ophelia Lazaridis Olympiad Scholarship奖学金的获得者,免(🌝)除了8个学期学费书费(🍼)和生活费。

除(🍺)了自动补全代码的TabNine,Jackson还开发了很多有意思(😃)的应用(🎑),比如一个名为jellies的(🎳)益智游戏,和使用蒙特卡罗树搜索的国际象棋(⬇)引擎Sashimi等。

传送门(⛺)

TabNine网站:

https://tabnine.com/blog/deep

Jackson简历:

http://jacobj.ca/resume.html

— 完 —

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才(🎙)气、(👒)有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态