No. 401 聊一下github Copilot X最新支持聊天的功能,每个程序员都应该试一下人工智能辅助编程当机长的感觉

上两期我做了一下测评,测评这几个辅助写软件的机器人怎么样,当时我申请了Copilot X聊天的功能,但是没有审批通过,没想到才做完不久,我内测的申请就通过了,我就饿虎扑食一样的马上试用了。先是下载Visual Studio Code的测试版,然后再下载GitHub Copilot Nightly版本。

为什么被称之为夜间版呢?因为程序员的夜间生活跟别的行业不同。别的行业,人家都是夜色朦胧中,干点好玩的事情,程序员则是构建版本,让人测试。

“Nightly”(夜间版)通常指软件的每日构建版本,这些版本在每天晚上(通常在开发者工作日结束后)自动生成并发布。这些版本包含最新的代码更改和修复,因此包含的功能和性能可能会有所不同,也可能会比稳定版本更不稳定。

测试版被称为Nightly的一个原因可能是因为这些版本通常是在开发者工作日结束后生成,而测试人员会在第二天的工作日开始前进行测试和反馈。此外,由于这些版本包含最新更改,开发者通常会在晚上花费更多的时间来编写和测试代码,以便第二天早上可以开始测试。因此,这些版本被称为”Nightly”。

唉,程序员真是睡的比鸡晚,起的比鸭早。

大概用了半个月了吧,我测试下来的结果是:有聊天的比没聊天的要好用一些,加了聊天功能以后,基本上算是如虎添翼了。我就把我本人最关心的功能列举一下吧:

聊天功能能不能代替GPT4

宣传也已经说了,这个版本的copilot x是基于GPT4的。那是不是可以代替GPT4呢?我测试的结果表明,与GPT4还是有很大的区别,copilot x可以聊天,但是主要是聊编程的,如果你问其它的问题他也会回答,比如我问了一下“今年的英超冠军是谁?”,它给出的答案是:现在是2021年9月,冠军还没有产生。我又问它今天的日期,它给我回答今天是2021年9月23日。感觉数据更新太不及时了。而且在这里,你问与编程无关的问题,他有很大的可能是回答他是一个AI程序助手,不回答这个问题。所以,我觉得想花一份钱的朋友,估计目前还是要花钱才能用GPT4。

增加了哪些功能

目前我使用的这个版本,增加了一些指令,当输入反斜杠的时候,会弹出一个菜单,这个菜单目前有7个功能,以后正式版可能会有相应的增删。这7个功能中,有几个功能特别好,第一个是解释代码,当鼠标选中一个函数,或者一段代码的时候,可以让它解释一下这段代码是什么意思。有没有可能会出错呢?当然有了!不光Copilot会出错,就算你把写这段代码的程序员叫过来,让他解释一下这段代码什么意思,他也可能会出错,因为咱们都会复制粘贴,谁能记得两个月前这段代码从哪个地方复制粘贴过来的呢?

任何新技术出现之后,总有一股“不服”的力量,在AI领域也是如此。这让我想起了多年以前,大家都是手写汇编,那时候出现了高级语言,比如C语言,虽然现在大家都觉得C语言相当低级了,但是在当年也是高级语言。C语言会编译成汇编语言,当时很多程序员低不下自己高贵的头颅,觉得编译器生成的汇编代码,怎么可能比我精心构建的汇编语言完美呢?时过境迁,现在已经没有什么人写汇编了,因为编译器生成的代码,已经足够好了。同样的事情又发生在AI身上,又有一批高贵的程序员认为AI生成的代码不如他自己写的代码好,这么说我也认同,毕竟AI才起步,但是AI可以快速的学习,假以时日,超过程序员的平均水平,我认为一点问题没有。

前几天看人争论,AI的自动驾驶功能比人开车好么?我认为,应该比90%的人好。就有人不服,说有本事让AI去开F1赛车,虽然这事没发生,但是我认为,让AI去开F1赛车,我认为非常有可能这个星球上最NB的赛车手,可能都赢不了AI。当然了,争论归争论,希望有一天会有人做这个实验吧。人的反应能力再快,也是肉身凡胎,我觉得也应该不如AI快,AI可以达到光速,并且AI又不怕死,玩命开呗。希望有一天,那个马斯克买下法拉利车队,上面装个AI车手,看看人厉害还是AI厉害。

还有一个功能是写测试,只需要输入/test,就可以自动写测试,一点废话也没有。

有时候你可能觉得自己写的代码不够好,你可以让copilot优化你的代码,选定你想优化的代码以后,在对话框中输入:optimize the selected code。然后这个copilot会全方位的优化你的代码,从变量名到程序流程,还能把一大堆if … else语句优化成switch语句,我是真的服了。

还有一个功能是vscode的功能,你可以问你能想到的vscode怎么用,copilot就告诉你。如果你是Neovim用户的话,目前没办法使用测试版,官方目前只支持vscode和visual studio,我现在用的是vscode。

我觉得现在更新以后的功能更加的自然,在没有聊天功能的时候,基本流程是这样的,当我在写代码的时候,有两种情况下会生成代码。一种情况是我写了注释,比如说我要计算摄氏度和华氏度之间的转换,我就在注释里写我要干什么,于是生成了代码。还有一种情况是我没写注释,直接写代码,当我在写函数名的时候,copilot猜到了我要干什么,于是给出相应的代码。这对我来说已经很好了。但是有了聊天的功能以后,会更好,因为你可以跟copilot聊天,让它主动给出一些思路,然后再给出相应的代码,给出的代码,点一下就复制粘贴过来了。反正我是非常的喜欢。

以前的时候也可以聊天,但是流程没有现在这么丝滑。以前的时候,要在注释中写上q:,这个q代表question的意思,然后copilot会回答你一些问题。现在直接在聊天框中输入,流程更加的合理。

我们再来看看他们的宣传:Your AI pair programmer,主打的是一个结对编程人员。copilot的英文意思是副驾驶员,虽然我没开过飞机,但是我打过飞机……不,不,不,我看过别人打飞机,开飞机,看过别人开飞机,我是Discovery空中浩劫的忠实观众,在客机前面,坐着两个人,一个是机长,另一个是副飞行员。两个人的分工基本上是飞行员基本不做什么事,都是副飞行员操作。然后飞上天后,两个人就是瞎聊天。以后我们写软件也应该如此,基本上我们给出一个思路,让copilot,副飞行员来写代码。咱们程序员就是机长,负责大体方向上的把控,细节问题让copilot来做。这也是本期播客的标题,我们的目标是当机长。有很多程序员的目标不是当机长,而是当舰长,在B站上给跳舞的小姐姐每个月刷198当舰长,刚刷完了198元的舰长,又开始在群里抱怨github copilot一个月70元钱,微软是真黑啊!70元每个月的copilot黑,198元的舰长,不应该更黑么?为什么刷的那么开心,难道是粉的么?有经验的听众可以给我答疑解惑!不想当机长的程序员,不是好舰长!

我并不是给微软做广告,我这点流量,人家看不上。我只是觉得,程序员,作为新时代的纺织工,农民工,当珍妮纺纱机出现的时候,历史的进程就已经改变了。用司马迁的话来说:夫阴阳四时、八位、十二度、二十四节各有教令,顺之者昌,逆之者不死则亡。希望各位听众想一想,你是想做使用珍妮纺纱机的那一批人,还是做拿着锤头把珍妮纺纱机砸烂,绝望的试图保住自己传统手工纺纱工的工作。世界的大势已经清晰,不要像2000年前秦朝穿越过来的人一样,闭上眼睛,捂住耳朵,以为不听,不看,世界就不存在一样,试图忽略世界的大势,把自己活成一个笑话。

5 2 投票数
文章评分
订阅评论
提醒

2 评论
最旧
最新 最多投票
内联反馈
查看所有评论
1 年 前

微软老大

卯金刀
1 年 前

栋哥能做成视频吗

2
0
希望看到您的想法,请您发表评论x
滚动至顶部