人工智能发展至今,在编程领域已有惊人应用。在最近 GitHub 推出 Copilot 之前,我们一直用的是 2019 年推出的 Tabnine 人工智能自动代码补全工具。那么都快 2022 年了,新 AI 会有哪些特色呢?两者是否兼容或可以舍弃其中一个?
0. 效果截图
1. 安装教程
vscode 插件里,搜 GitHub Copilot 或 Tabnine 插件即可,非常简单。
2. GitHub Copilot
GitHub Copilot 接受了数十亿行公共代码的训练,让您所需的知识触手可及,从而节省您的时间并帮助您保持专注。
GitHub Copilot 的 AI 模型是 OpenAI Codex。实际上手后,自动生成的代码便向云端训练结果,因此代码专业。
3. Tabnine
Tabnine 有付费模式,AI 模型 GPT-2,其最大特点是本地学习,然后自动生成的结果跟当前项目的上下文和全局都有关系,所以预测行为更符合相似性原则,在大多数免费场景下,该工具可以快速按行补全代码。
4. 共性
两者都是根据先前代码自动猜测下文,它们会生成代码猜想的自动列表,从而最大限度地减少您的键盘输入。
5. 奶酪问题
GitHub Copilot 动了谁的奶酪?首当其中的就是 Tabnine,作为一家带付费模式的老前辈,在其官网上直接打出了“为什么开发人员更喜欢 Tabnine 而不是 GitHub Copilot”,明眼人一看就知道,那些理由基本无足轻重。
GitHub Copilot 由于获取了 GitHub 代码,其中一些项目自带各种授权协议,在给 AI 模型喂数据的时候,正如我们人类在查看数据信息一样,人类可以出于版权法和尊重需求,从而备注出处及授权证明,而 AI 模型可没有这些,它只是试图理解人们当前的输入想法,并给出最佳的代码片段,至于是溯源问题则不在其中。
6. 共生
经过几天的体验,两者共生共存是常态。因为 GitHub Copilot 偏向于自动补全全套功能,而 Tabnine 偏向于行内补全。Tabnine 学习本地代码更符合开发者个性化代码习惯,GitHub Copilot 更擅长给人灵感启发,它不需要输入就能自动推测后续整套功能或逻辑层,即便推演不符合个人要求,但也足够给人一些启发性。
7. 历史推演
人工智能发展至今,从诞生时的惊人效果,到最后适配任意人,该过程有无规律可循?我们知道 AI 换脸技术,可以被坏人拿去恶意侵犯他人形象权、更有甚者发动政治冲突,也可以被好人合理的运用到影视创作中,那么问题来了,这一切行为哪种情况下属于合理合法?至少当前环境下,一切都可以被强制为不合法,2019 年的 ZAO 就是案例。换脸技术如此,那么声音克隆技术呢?最近 GitHub 频频登上趋势榜的 5 秒克隆一个声音,现实肯定与 AI 换脸一样,可以被强制为不合法。GitHub Copilot 会有如此命运吗?虽然它使用了海量公共代码,但里面确实存在强授权协议的代码,因此理论上也可以被强制为不合法。那么该如何合理合法的使用呢?让开发者或普通人不用提心吊胆呢?我想谁也给不了答案,正如互联网发展的最初形态那样,只能交给时间来处理,因为当下的我们仍旧惧怕一些新技术,合理合法运用只能等到大众习以为常,见惯不怪的时候。当前能做的只能是学习为目的自用和正当需求下的商用,被举报仍然可以强制为不合法。