GitHub Copilot - 伴读书童

1,043 阅读4分钟

GitHub Copilot

image.png

他对于我们当前环境来说是不可用状态,在围绕复用的大前提下,他会生成更多冗余的代码,在安全的前提下,会把上下文上传分析,然后给出对应的推荐代码,这个操作对于一个公司来说是极度危险的。当然他也不是完全的糟糕,下面让我们来了解一下GitHub Copilot。

什么是GitHub Copilot ?

GitHub Copilot 是一个 AI 配对程序员,可在编写代码时提供自动完成样式的建议。 可以从 GitHub Copilot 接收建议,方法是开始编写要使用的代码,或者编写描述代码要执行的操作的自然语言注释。 GitHub Copilot 会分析你正在编辑的文件以及相关文件中的上下文,并在文本编辑器中提供建议。 GitHub Copilot 由 OpenAI Codex 提供支持,OpenAI Codex 是一个由 OpenAI 创建的新 AI 系统。

以上是GitHub Copilot官方给出的意思,简单来说就是根据你的上下文来分析你下面可能要写的内容推荐。

GitHub Copilot是怎么工作的?

graph TD
编码 --> 插件读取上下文环境 --> copilot服务器 --> 分析和推荐代码 --> 展示到编辑器
GitHub开源库 --> AI训练 --> copilot服务器

简单的原理概要图,我们的上下文会被上传分析,然后AI给出建议一个或多个建议,我们可以进行选择使用或者无视。

如何使用GitHub Copilot?

以下我以vscode为示例展示

  • 首先我在vscode的插件市场中去搜了copilot,直接安装了下来(是的,为了测这玩意我还在我的电脑上安装了工作相关的东西,玷污了我的游戏电脑,它已经不再干净了)。
  • 安装完插件它提示我要登陆github, 根据提示继续登录。
  • 登陆完成github之后又要copilot的授权,奈何怎么都无法授权成功,看到官网才发现这玩意还要钱????

image.png

  • 在github官网经过一顿授权银行卡后,成功选择了10刀/每月,好在可以免费体验2个月。(一定记得提醒我关了这玩意,已婚男人的私房钱可是弥足珍贵的)
  • 重新返回vscode后重新让copilot授权即可,授权成功。让我们大爽特爽吧

使用感受如何?

当完成了以上的步骤以及看了很多相关的文档吹的天花乱坠的,我开始体验,打开之后却不知道要写什么,自然而然把别人觉得吊的地方先试验了试验。

首先是变量定义方面,当你定了一个之后他开始预测你下面的代码,于是分、时、日、月就这么按tab完成了。你别说还真可以,甚是惊喜。

image.png

于是我给出了方法名称,copilot也给出了下面完整方法的补全,我的妈呀,这完全不用手撸代码了啊,马上转行tab工程师,指点江山即可。

image.png

紧接着我给出了注释,让copilot生成一个react组件,它开始疯狂编码,然后生成了如下的代码,我还在好奇为什么加了定时器,突然反应过来以上的内容我是在一个文件内测试的,所以它结合了我上面定义的方法来生成的组件,预测了我以为要展示一个实时时间。小伙子有点东西,但是有点莽撞了。

image.png

随即我又试了试相对不熟悉的vue编码,甚至我不知道如何引入,如何使用API。我只根据了注释部分就让copilot生成了下面的内容

image.png

优点

  • 根据注释、上下文、函数名称来推荐,促进了使用者本身会对于注释、函数这些描述的更加准确,否则copilot还是不能分析出你想要做什么,这算一个正向优化

缺点

  • 不知道是否因为国内的原因,提示的响应相对较慢,在用户比较熟悉的代码甚至已有思路下,它的响应总是来得有点晚,甚至没有反应过来,这可能也跟编码习惯有关。用了copilot就该走走停停
  • 很大胆的去预测,但是有时候给的方向却有点偏离,有可能是因为上下文不充足

总结