为Python开发人员提供实时代码片段,Kite获1700万美元A轮融资
Kite是一款为Python开发人员提供实时代码片段的工具,它在由Trinity Ventures领投的A轮融资中获得了1700万美元。最新版本的免费开发者工具不再依赖于云端,这意味着它可以在本地运行,并且它还增加了一项实用功能,名为“代码行自动完成”(Line-of-Code Completions)。
GitHub首席执行官Nat Friedman也参与了本轮投资,他的名字与PayPal创始人Max Levchin、Automattic创始人Matt Mullenweg、Palantir创始人Joe Lonsdale、Dropbox创始人Drew Houston、Cruise Automation联合创始人Kyle Vogt、Gusto 联合创始人Joshua Reeves和Twitch.tv创始人Emmett Shear一起,写在一份长长的天使投资者名单中。Kite计划利用新的资金来扩大其研发团队,重点提升开发人员的工作效率。Trinity Ventures的普通合伙人Dan Scholnick将加入Kite的董事会,他也是Docker和New Relic的董事会成员。
Adam Smith是Kite的创始人,他还创立了Xobni,这是一家成立于2007年9月的电子邮件服务公司,并于2013年7月被雅虎收购。Smith 说:“我们的使命是发展人工智能和机器学习(ML),使编写代码更加流畅、轻松、愉快。使用Kite的开发者可以将他们的生产能力集中到解决下一个重大技术挑战上,而不是浪费在搜索常用且重复的代码上。”
使用AI来帮助开发人员编写代码的想法并不是Kite原创的,但它在这方面进行了很多工作。该公司于2016年4月私下推出其产品,于2017年3月,作为Windows和Mac的开发助手正式发布,并由云端提供支持。改变由此发生。
Kite现在可在本地运行
时至今日,全世界有30000多个Python开发者在使用Kite。基于本地的ML插件可用于顶级Python IDEs,如Visual Studio Code、Atom, Sublime Text、PyCharm,、IntelliJ和Vim。
现在,Kite不再依赖云端来运行其AI引擎,而是在用户的计算机上本地运行,并允许开发者脱机使用,无需上传任何代码。(Kite仍使用高评价开发者的数千个公开代码资源来训练其机器学习模型。)此外,还允许Kite以较低的延迟进行充分得本地运行。
Smith对VentureBate说:“因为不再需要往返我们的服务器,所以我们的完成请求延迟从50-200 ms+(取决于互联网连接)下降到每个完成请求5-20 ms。这是按每次击键来算的,所以即使是轻微的延迟也会变得非常明显。”
但脱离云端并不容易。事实上,这是一项巨大的工程——在云端,你拥有所需的所有计算,并且更容易识别和修复bug。但在本地运行就会有其自身的限制。
Smith解释说:“从长远来看,我们在本地运行的AI模型的复杂性可能会受到严重限制。但我们因使人工智能工作负载更容易访问的工作而自豪。比如说,当你拍照时,手机会运行相当复杂的工作量。这在个人电脑上也是一样的,我们很高兴载有AVX-512指令集的个人电脑将于今年推出。”
Kite在发布时面临的最大障碍是将代码上传到云端的隐私和安全问题。该公司最初的回应是在云端的应用程序上为用户提供更大的控制权,包括以编程方式将文件和目录进行划分白名单和黑名单的能力。完全避免使用云端意味着开发者任何隐私和安全问题现在都荡然无存了。
这也意味着Kite的内部部署版和付费版都过时了。Smith告诉VentureBate:“因为现在Kite在用户的电脑上进行所有的计算,所以不再需要Kite公司的帮助了。关于货币化,我们将在今年晚些时候将企业用户货币化,但不会添加任何新的技术组件。”
只适用于Python开发者
当Kite于2017年3月推出时,它只适用于Python编程语言。Kite的下一种编程语言当时还没有确定,但是团队已经将目标缩小到Java、JavaScript或Go。在第二季度或第三季度初应该会推出对下一种语言的支持。
我们问到为什么没有增加其他语言。
Smith告诉VentureBate:“是的,我们搁置了其他语言,这样我们就可以专注于使Python产品对Python程序员来说更加完美。‘代码行自动完成’和摆脱云端是我们团队做出的的巨大努力。随着这些项目的完成,我们接下来将重新评估产品路线图,我们很乐意增加对更多语言的支持。”
对Linux的支持也是如此,它本应“在未来几周内”完成,但公司决定推迟。Smith解释说:“我们感到非常高兴,现在每个Python开发者都在使用Kite,我们也很乐于从此开始规划我们的路线图。另外,Kite在Linux内部运行——我们的一些开发者在Linux机器上使用它——所以我们所需要做的就是构建更新程序,并提供一些收尾工作。”
代码行自动完成
除了放弃云端之外,新版Kite还带来了名为“代码行自动完成”的功能。到目前为止,Kite的机器学习模型只能在一行代码中建议下一个“令牌”。但“代码行自动补全”功能可以通过一次击键完成整个函数调用。新功能使用深度学习来对源代码的高级语义表示进行分类。该团队夸耀说,Kite是“市场上唯一能提供如此高完成度的开发者产品”。
以下是Smith对该功能的描述:
按字母表顺序对补全的代码进行排序,只需2%的时间就可以将正确补全的代码排在前三位。这就是大多数开发人员今天所获得的体验。我们的新模型把正确补全的代码排在前三位,节约了67%的时间,比以往快了30倍以上。
“代码行自动完成”是智能代码楼梯上的下一步。编程是更有趣的,你不必把精力花在乏味的编码上。在未来,编程将更像一块大屏幕白板,而不是一本簿记。
我们有机会一起改进代码的编写方式。我们对开发Kite感到无比高兴。