Copilot 是 GitHub 通过其托管的无数开源项目训练所得到的代码提示工具,它的能力非常强大。如今有了大预言模型的加持,Copilot 更胜以往。最近,微软推出了 Copilot Chat 聊天机器人,与 VSCode 深度绑定,能提供很棒的用户体验。

1. 如何获取 Copilot Chat·

首先声明,GitHub Copilot 插件是需要付费的,但是我们可以通过注册学生大礼包的方式获得免费试用的权限。

GitHub Student Developer Pack

通过上面的链接,使用 EDU 结尾的邮箱注册成功,可以获得一个认证机会。随后,使用浏览器的 webRTC 摄像头功能,把自己的学生证拍照上传 (切记,不是上传图片!),半天就可以通过审核。随后你的 GitHub 账号将变成 Pro 版本。

图 1. 学生认证通过之后,Profiles 页面右边将会出现 GitHub 的 Pro logo.

使用经过认证的账号登录 VSCode GitHub Copilot 插件,即可使用全部功能。

接下来就是 Copilot Chat 功能。该插件依赖 GitHub Copilot,所以先要完成上述的步骤。随后,安装完 Chat 插件,即可直接通过对话的方式使用。

2. 使用技巧·

据说,大模型时代最重要的技能就是使用大模型,但是如何让大模型输出我们想要的答案颇为困难。使用自然语言和它对话,在大多数时候可能管用,但是商业模型为了高效率的推理,激活的参数可能不是很多,因此质量较差。

图 2. Github Copilot Chat 虽然不会讲笑话,但是会听笑话。

图 3. 让 GitHub Copilot Chat 生成可用的代码之后,将其直接放入文件里即可。

我记得阿西莫夫《银河帝国》系列的《机器人》系列前传里,有 Dr. Susan Calvin(苏珊·凯文)博士对金头脑“调教”的故事,颇为生动有趣。对此感兴趣的朋友可以把小说找来读一读。当然,故事里的金头脑作为人类制造的超级人工智能体,比今天的 ChatGPT 强大太多,金头脑有创造能力,而且可以解决许多数学问题,甚至能调动工人完成工业制造。

现在探究大模型的应用潜力已经成为一个流行的学科,Prompt 工程师这个词汇可能并没有想象中那么乏味无聊。但是我认为,在任何时刻,开发技术永远是最重要的,开发者是最了解软件原理的人,因此 AI 时代,开发为王。

3. 如何在 vim 里使用 Copilot 提示器?·

Copilot 是 GitHub 的官方产品,Vim 插件的官方仓库也是由微软 GitHub 部门所维护,想必代码质量还是有保证的。

使用包管理器或者直接 git clone 的方式从官方下载插件,随后即可登录使用。

3.1 登录·

在 Vim 命令行输入 :Copilot status,即可查看当前状态,默认是:

1
Copilot: Not authenticated. Invoke :Copilot setup

这代表 Copilot 还没有登录、认证。

在 Vim 命令行输入 :Copilot auth,即可进入 OAuth 认证阶段,此时提示:

1
2
3
4
First copy your one-time code: 3342-302B
Press ENTER to open GitHub in your browser
Failed to open browser. Visit https://github.com/login/device
Waiting (could take up to 5 seconds)

随后,在浏览器打开此界面,输入上面提示第一行中的 code,即可完成登录、验证。

图 4. 输入代码。

图 5. 确认并验证。

图 6. 登录成功。

4. 局限性·

或许是因为用户体量比较大,Copilot Chat 需要精简一些模型参数,这导致它的效果其实比较一般,有些代码都是有问题的。几天时间的使用让我发觉它无法替代 ChatGPT.

总结·

本文介绍了如何申请免费的 GitHub Copilot 账户,同时使用对应的聊天机器人。AI 时代改变了很多东西,因此需要好好研究一下如何利用 AI.