这款“程序员人工智能助手”,会成为下一个 GitHub 吗?

一件面向程序员的工具,想要赢得程序员的心,要做到的就是足够简便易用,能节省程序员的时间。(当然,如果再加上“优雅”就更好了,尽管没人知道优雅的定义到底是什么。)

对于程序员,GitHub 搞定了代码管理,单身解决了工作效率,只剩下代码编写本身了——写代码这件事所耗费的时间,还有节省的可能吗?

还真有。其实写代码跟记者写稿一样,经常需要查资料。有句代码不会写,要去 Google、Stack Overflow 上搜搜看,用别家的 API 遇到了问题,要翻一下文档看看问题可能出在哪里。这个查资料的过程其实浪费了很多的时间,也疏散了注意力,一不小心就去刷微博了。根据一位硅谷小哥亚当·史密斯 (Adam Smith) 的统计,平均每个程序员每天 26 次上 Google 搜和编程有关内容,按照每次最多两分钟计算就浪费了快一个小时,这还没算去 Stack Overflow 上查看和提问,判断资料有效性、试跑代码所浪费的时间。最后史密斯发现,程序员每天一半的时间都浪费在查资料上,只有另一半时间在写代码。

“我只想专心地写代码。”他决定开发一个编程辅助工具,把程序员每天失去的这一个小时找回来。用了三年时间开发,这个名叫 Kite 的工具终于在上周正式发布了,史密斯在 PingWest品玩在硅谷举办的人工智能研讨会上宣布了这个消息。

如果你刚听说 Kite,那你已经 Out 了,自从去年四月内测以来,这款编程辅助工具已经风靡美国程序员圈,获得了超过 6 万个注册和许多财富 500 公司的青睐,大有成为下一个 GitHub 的趋势。

kite-pic0-1

那么 Kite 究竟是什么?

它是一个本地应用,目前支持 Python 语言,提供了 Windows 和 macOS 操作系统版本,很快会发布 Linux 版本。但它工作的方式是作为插件配合编辑器使用,支持 vim、Emacs、Atom、Sublime Text、Intellij、PyCharm 等一大堆主流编辑器。Kite 的使命是让程序员不用 Alt-Tab 就能快速获得他们需要的资料。史密斯称它为“人工智能编程小助手”(Copilot)。

它有以下几种核心功能:

首先是更好的代码自动完成 (code completion)。在 Kite 之前,大部分代码自动完成都是按照 a-z 排序的,史密斯认为这种方式很蠢。Kite 自行开发了一个类型推断引擎 (type inference engine),结合静态分析和机器学习技术。它根据 Google、Stack Overflow、GitHub 和相关文档对推荐进行自动排名,也能根据当前语句判断程序员意图,做出最合理的自动完成推荐。

kite-code-completion-demo

对比一下 Kite、编辑器自身以及开源推荐引擎,区别是很明显的:

kite-show

如果代码自动完成帮你写完了一句,但你对其中某个对象存疑,又要去查资料了对不对?Kite 也能帮你节省时间,直接把鼠标移到一个标识符上,点击出现的 more 链接,就能在编辑器里打开一个边栏面板,里面已经显示了对应的文档和能帮助你的代码示例。

kite-side-panel-demo

当然如果你觉得这些资料还不够,边栏里可以直接打开指定的网页,省去搜索浪费的时间。

kite-ope-in-web-demo

在 macOS 上,Kite 应用还提供了一个独立的动态显示面板 (Head-Up Display,下图左边),在前述功能的基础上,还能为程序员提供更加详尽的资料和示范,包括实时代码完成推荐、文档和代码示例。而且 HUD 可以随着代码输入、鼠标移动随时更新资料。比如当你键入了一个提供颜色的模块,想要看到模块都包含了哪些颜色,只需要把鼠标移到模块上就好了。

kite-hud-demo

当然,想要让这个 HUD 帮到你也需要一定的牺牲,首次打开的时候它会对你的代码进行索引,这需要一定的时间,而且这些代码会被上传到 Kite 的云端服务器。不过别担心,Kite 采用了加密机制,而且允许用户自己设置代码库索引和上传的黑白名单。

接下来,Kite 计划实现对 Java、JS 或者 Go 语言的适配。该公司在官网提供了基础版供用户免费下载,但也推出了付费服务,提供更精准的推荐服务,个人和企业用户月费分别为 8 美元和 19 美元。至于那些想要利用 Kite,但又特别看重隐私,不希望自家的代码上传到 Kite 服务器的客户,该公司还提供企业版服务,允许客户安装 Kite 服务器实例到自己的 AWS 或内网架构上。

“优秀的语言(比如 Go)、方便的工具服务(比如 Stack Overflow 和 GitHub),帮助我们成为更好的程序员。接下来,我们认为人工智能会进一步提高程序员的效率,解放我们的生产力。我希望 Kite 能够带起这波节奏。”史密斯对 PingWest品玩说。

亚当·史密斯

亚当·史密斯

史密斯早前是一家电邮技术公司 Xobni 的创始人,公司在 2013 年被雅虎收购了。他也做了很久的天使投资,投资了 Dropbox、Cruise Automation 等多家明星公司。在史密斯决定回归程序员生涯后,Kite 的种子轮融资也获得了德鲁·休斯顿、凯尔·沃特、马特·穆伦维格、麦克斯·列夫琴、艾米·希尔、查理·奇瓦(Dropbox、Cruise、WordPress、PayPal、Twitch 和 Quora 创始人)等硅谷名人的支持。Kite 正在寻求 A 轮融资。

毫无疑问,程序员已经是这个世界上最强大的生物了,而 Kite 能让他们变得更强大。史密斯觉得自己的公司可能会成为下一个 GitHub。你觉得呢?

更多有趣好玩的内容 尽在品玩微信公众号