本文同步宣布于我的微信公众号,微信查找 郭霖 即可关注,每个作业日都有文章更新。
说实话,这是一篇我早就应该写的文章,我也不知道为什么我能拖这么久。
但如同历来也没有读者朋友们催我写过这类文章,这为我的拖更提供了很好的理由。
为什么说我早就应该写这篇文章了呢?
主要仍是由于上一年年末的时分,OpenAI推出了一个火遍全球的爆炸性产品,ChatGPT。
在此之前,我都历来不认为OpenAI跟微软会有什么关系。直到后来我查询了一下OpenAI的股权结构,才发现微软的持股份额居然高达49%,是OpenAI的最大单一股东。
这就不古怪为什么谷歌百度看到ChatGPT后如临大敌一般了。而且马斯克还在推特上吐槽,OpenAI现已偏离了他创立时的开源初衷,成为了一家被微软控制的盈余机构,
事实上,OpenAI和微软的协作的确十分紧密。
在ChatGPT推出后不久,OpenAI就将自己更高档的GPT4提供给了必应运用,咱们在内部体验了新必应的才能后,的确都感觉到大为震撼。
别的新必应还和Edge浏览器进行了深度绑定,那段时间为了能够快速推出带有新必应功用的Edge浏览器版别,咱们组着实有几位搭档周末都在加班。
这种自己做的产品莫名其妙就卷入到了国际最中心热门的感觉还挺美妙的,我在抖音上刷到一些科技博主介绍新必应功用时,乃至还能看到自己做的新版Edge浏览器的主页界面。
其实那个时分我就想写一篇文章,也来介绍介绍ChatGPT和新必应了。可是由于咱们是内部体验资历,领导特意在邮件里阐明了,不要将截图流出到外部。虽然那个时分现已有外部博主也能体验到新必应了,我想了想怕把控欠好度,就仍是作罢了。
其实ChatGPT发展到这儿,我也不知道未来会持续走向什么方向,乃至我觉得或许过段时间,这波AI的热度就过去了。
没想到就在不久之后,微软又推出了一个王炸型产品,Microsoft 365 Copilot。这次是将GPT4的才能运用到了Office范畴当中。
众所周知,微软Office系列的功用莫测高深,绝大多数的用户乃至连其中10%的功用都运用不到。
而有了Microsoft 365 Copilot,你再也不需求去网上查找那些高档的Word用法,复杂的Excel公式,精美的PPT制作方法了。你只需求用文字告知Copilot你想要什么,它就会依照你的需求自动生成你想要的一切,然后让每个用户都能轻松解锁Office剩下90%的功用。
这就属于我彻底预料不到的发展方向了,由于ChatGPT虽强,但现在还只是能处理文字层面的问题问答,或许还不足以对以往的作业形式带来翻天覆地的改变。
但Microsoft 365 Copilot这次直接将AI延申到了一个全新的范畴,这带来的或许是生产力的聚变。再夸张点说,乃至或许会是一次新工业革命的开端。
这波我持续看好AI。
Microsoft 365 Copilot在最近的确赚足了眼球,但今天我要介绍的并不是它。其实早在两年前,微软就推出了别的一个版别的Copilot,叫GitHub Copilot。
这儿为了避免有些小伙伴还不知道,特意阐明一下,微软在2018年就收买了GitHub。
那么什么是GitHub Copilot呢?
简单一句话归纳,那便是凭借AI的才能,让程序员能够愈加轻松高效地完结自己的编码作业,然后提升生产力。
咱们都知道,GitHub并不是一家AI公司。因此,GitHub Copilot背面接入的其实便是OpenAI的Codex。
那么Codex又是什么呢?这是OpenAI研宣布的一个具有人类自然言语模型编程才能的人工智能接口。简单点说,便是答应咱们运用人类言语来写代码了,你告知它你想要什么功用,Codex会自动将其翻译成对应的编程言语。
这个功用后来也被ChatGPT接入了,信任有不少朋友早已体验过了ChatGPT强壮的编程才能,其实背面便是由Codex在默默地帮助咱们写代码。
GitHub Copilot我在之前就现已被搭档重复安利过了很屡次,却迟迟一直没有运用。究其原因仍是懒,懒得去对一些新些事物进行测验和学习,这个习气的确欠好。
后来我终究仍是没能抵过微软职工能够免费运用GitHub Copilot的引诱,也开端用了起来,于是就有了这篇文章。
是的,GitHub Copilot是没有免费版别的,个人版需求付出10美元/月,企业版需求付出19美元/人月。
不过咱们也不必这么快就被劝退了,个人版是有60天免费试用期的,因此我觉得至少能够去体验和了解一下。
购买完结之后,接下来在你常用的IDE商店去下载装置GitHub Copilot插件即可,像JetBrains旗下所有的IDE、微软的VS Code等都是支撑的。
插件装置完结后,咱们就能够去体验GitHub Copilot强壮的编程才能了。
方才有说过,Codex是能够运用人类自然言语来进行编程的,那么就来试一试吧。
创立一个新的Android项目,并翻开activity_main.xml,咱们经过编写注释的方法来描绘咱们的需求:
能够看到,需求描绘完之后,GitHub Copilot就会自动依据咱们的需求给出代码提示主张。这时只要按一下Tab键,就能让这些提示主张上屏了。
这种功用假如是放到半年前的话,信任足以让绝大部分的人感到震惊。可是现在咱们都现已见识过ChatGPT的强壮编程才能了,所以这种程度的代码提示或许也就见怪不怪了。
但不得不说,虽然GitHub Copilot和ChatGPT背面对接的都是Codex,但GitHub Copilot仍是有它的优势的,由于它会具有愈加充沛的代码上下文环境,这是ChatGPT所不具备的。
是的,假如你再仔细调查一下上图,你会发现,GitHub Copilot是知道咱们是在ConstraintLayout中编写布局的,所以给出的代码主张也是依照ConstraintLayout的语法规矩来写的。
而假如咱们将同样的注释放在Compose环境下再去描绘一遍,得到的成果如下图所示:
因此,GitHub Copilot总是能够依据当前的代码环境给出相应的代码主张。这些代码纷歧定能确保是彻底正确的,可是依据我的调查,通常都是比较有参考价值的。
说到代码的正确性,前段时间文心一言刚刚发布,我在抖音上刷到一个博主,他给文心一言出了道题,让它运用php编写一段生成1万个8位数邀请码的代码,成果如下:
最离谱的是,这位博主居然说这段代码彻底正确,也真是让人哭笑不得。
由此可见,不管是ChatGPT仍是文心一言,它的才能再强也需求一个懂行的人掌舵。外行人乃至连对错都无法区分,说能取代程序员仍是为时过早了。
不过我的确猎奇Codex是否能够很好地处理这道题目呢?我经过GitHub Copilot进行了一下验证,正确性咱们自己来看吧。
除了自动告知GitHub Copilot要写什么代码外,其实更多状况下它会自动在咱们编写代码时给出一些交心的主张,然后让你的编码作业更轻松。
咱们都知道,GitHub Copilot只能依据大数据的机器学习练习进行智能的代码引荐,它是不或许了解咱们的事务需求的。
比方最近我在编写一个Compose的布局时,希望让每个子元素的宽度都充满父布局。
GitHub Copilot不或许知道我心里所想的需求,所以一开端给出的都是一些并非我想要的主张。
可是一旦我完结了第一个子元素的编写,GitHub Copilot就如同忽然懂得了我的需求一样,后边的每个子元素都能给出准确的主张了,如下图所示:
这种状况会十分常见,由于绝大多数状况下,咱们是不太需求自动想着怎么去运用GitHub Copilot的,但它总是能够在咱们的编码进程当中适时地给出一些能够让你会心一笑的主张。这儿我无法给出太多具体的场景示例,可是只要你用过了之后,一定能理解我在说什么。
除了进步编码功率之外,GitHub Copilot还能够用于快速完结一些之前很多程序员不太乐意做的琐碎的作业,比方说写注释、写单元测试等等。
为你的代码写好具体的注释这是一个十分好的习气,但或许并没有太多程序员能真实做好这一点,都觉得写注释太麻烦了。
而GitHub Copilot能够依据代码的逻辑自动生成相应的注释,咱们或许只需求略微引导和调整一下生成的内容就行了,这就让这些本来琐碎的作业变得十分轻松。
这儿我仍是拿方才生成1万个8位数邀请码的代码进行举例,这次咱们反过来,让GitHub Copilot依据现有的代码逻辑自动帮咱们生成注释,如下图所示:
能够看到,作用仍是十分好的。我只需求进行略微的用词引导,GitHub Copilot就能马上理解我的目的,并进行剩下的注释补全。
我的搭档之前也开玩笑地说过,自己写代码时的思路时不时就被GitHub Copilot拿捏了,副机长的技能比机长还好怎么办。
的确,我信任现在国际上没有任何一个程序员的技能能比Codex更高了,但副机长技能再好也只能是给主张,最终拍板以及确保代码正确性的仍是只能靠咱们自己。
看到这儿,信任你现已能够体会到GitHub Copilot强壮的功用了,那么它难道就没有什么缺点吗?
这当然是不或许的。
首要,GitHub Copilot无法做到每次都给出精确无比的主张,满嘴跑火车的状况并不在少数。ChatGPT也有很多相似的状况,信任咱们用过的应该都能感受到。
除此之外,我个人觉得GitHub Copilot最让人感到不行聪明的一点是,它的一切数据都来自于云端大数据的练习,而没有本地学习的才能。
我举一个例子吧,输入法咱们肯定每天都在用,假如咱们有一些频频输入的词汇,打得次数多了,输入法就会愈加倾向于将这些词汇的排序提早。这应该是再基础不过的才能了吧?
但GitHub Copilot却并没有这样的功用,某些我本地特有的代码模板,即便我敲了再多遍,下次再换一个文件输入时,GitHub Copilot仍然不知道我想要的是什么,由于它的云端练习不到我本地特有的这些代码。
从作业原理的角度上讲,这种状况我彻底能理解。不过每逢产生时,我的确会在这一瞬间感觉它还不行聪明。
好了,以上便是我对GitHub Copilot所想要介绍的一切了。
看完之后你的感触是什么?
每个人或许都会有不同的主意,我个人的主意是,GitHub Copilot很好,可是我或许并不会乐意为其付出每个月10美元的费用。
由于GitHub Copilot进步的只是作业功率,我并不觉得它能够帮助进步我的编程才能。相反,运用GitHub Copilot之后,很多原本需求思考和分析的代码,现在都能够省掉了。
而假如你是一个企业老板,那么我会大力引荐你,一定要为每个职工都购买一份GitHub Copilot,这是真的能够进步你的企业生产力的东西,而且它的费用比较于程序员的薪水来讲简直能够忽略不计。
别的,本文全篇介绍的其实都仍是上一个年代的GitHub Copilot版别。现在GitHub又推出了一个愈加强壮的Copilot X,我还没有拿到内测名额,所以不知道具体有多么的强壮。
但这个崭新的AI年代真的在以一日千里的速度改变着,让咱们一起来见证吧。