编程中遇到问题,Google一下, 复制、粘贴、调试......  估计很多人都有这样的经历吧。

今天看到一个VS Code的插件,叫做GitHub Copilot, 它展示出的功能震撼到我了,举几个例子:

1. 自动生成代码,计算两个date之间的天数


这个功能对于小白来说不是那么容易实现的, 现在只要写上函数名,这个插件就能猜出你的意图,完成整个函数。

2. 根据你的文字描述,创建一个简单的HTTP 服务器

如果是初学Go语言,必须得去文档中看这些API,搜实例代码,然后才可能写出来,用这个插件可以帮助自动生成一个相当不错的代码版本。 

3. 根据注释,生成代码

这个插件很聪明地猜出了你要做的事情,并且根据上面的注释,自动生成了代码,相当智能。 

4. 自动写测试用例

5.  推测你要做的事情,自动生成代码

如果你在尝试使用一个新的API,例如获取一个人的Tweet, 这个插件也可以自动生成代码,省去你搜索文档的时间

我看了一下,现在这个插件对Python, JavaScript, TypeScript, Ruby, 和Go支持得比较好,但它宣传“可以支持所有你热爱的语言”。 

这个强大的插件背后是怎么工作的呢?  

不难想到,这时AI的功劳, 后台是一个叫做OpenAI Codex 的模型, 学习了海量的代码和自然语言,可以同时理解编程语言和自然语言。 

我们写的代码和注释会被给这个插件发到服务器端, 那里的GitHub Copilot service 进行计算,迅速给出代码建议,自动生成代码和函数。 

那这个玩意有什么用呢? 

GitHub Copilot 只能生成代码片段,肯定无法替代程序员的工作,顶多是辅助编程,根据程序员的行为模式、上下文来推测出程序员想写的代码,由于正确性无法100%保证,所以必须要再仔细审查。 

你看它的宣传口号也是“Your AI pair programmer”,即你的AI结对编程程序员。 

其次,它的确是个好帮手,当我学习新语言,新框架的时候,能描述需求,让它生成代码,省去我查找文档,查找API,搜索实例代码的时间。这家伙学了这么多代码,应该能自动给出比较好的代码片段。 

到目前为止,我看到的都是英文的场景,如果我输入中文的注释,我估计它理解不了。

GitHub Copilot还没有开放注册,虽然可以安装VS Code插件,但需要申请,进入等待列表,等待通知才能使用。 等到我的账号申请下来,我试试中文, 以后再给大家汇报中文的情况吧。 


我有一种强烈的感觉:前几年人工智能非常火爆,大有替代一切人工之势,现在看来,AI并没有那么强,它只是弱人工智能,只能部分地替代人类的工作,要想完全替代,还得等理论的突破。 

既然如此,把它定位到人工的好帮手,找到合适的应用场景,产生价值,才是正道,就像这个GitHub Copilot一样。 

(完)

谨防失联, 我开了个小号“想躺平的程序员”,详情参见《谨防失联,请保存》, 小伙伴们一定要关注啊!

这个号不会空着, 我会时不时地发点儿轻松幽默的随性的想到哪儿就写到哪儿的东西, 毕竟他的名称叫做“想躺平的程序员”嘛 !

起这个名称也是和码农翻身对应,一个翻身,一个躺平,你可以随意选择,哈哈。 

码农翻身的调调比较严肃, 这个号就比较随意洒脱了,搞不好你会更喜欢它呢!

更多推荐

以后再也不用面向Google编程了!