loonggg

读完需要

7

分钟

速读仅需 3 分钟

大家好,我是校长。

这几天微软和 GitHub 推出了一款 AI 程序员智能插件,它自己会编程,会自动生成代码,有人说:

软件开发领域的「第三次工业革命」似乎正缓缓揭开序幕。

01

到底怎么回事?

GitHub、OpenAI、微软联合打造了一个全新的代码生成 AI:GitHub Copilot ,堪称为程序员们送上的编程神器。

以后,我们再也不用面向搜索引擎编程了,未来或许我们也不需要再复制和粘贴了。

Copilot 目前作为 Visual Studio Code 插件,支持在本地或 GitHub Codespaces 上使用。

也就是目前我们可以在 VS Code 上安装这款插件,让它帮我们辅助编程,有人调侃目前 Copilot 就像是程序员的小秘书。

我们程序员这个工作真的是挺好的,累了有程序员鼓励师,现在写代码也来了智能小秘。照这个劲头发展下去,未来,我们程序员可能就被这么舒服的哄着,躺在舒适区丧失了编程技能,从而要被淘汰了,哈哈。

简单来说,Copilot 可以根据程序员的注释写代码,自动补全代码,提供与代码匹配的测试,还能生成多个备选方案的代码供选择。GitHub 表示,Copilot 生成的代码大部分是原创的。

是不是看着很厉害呢?

你确实没看错,它不仅可以自动补全代码,还可以根据你的注释,自动生成你所需要的代码,而且还可以根据你的测试需求,生成测试需要的代码。

02

具体介绍

我之所以说,Copilot 是我们程序员的小秘书,是因为 GitHub 给 Copilot 的官方定义是「AI 结对编程员」。「结对编程」(pair programming)是一种软件开发方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员。两个程序员经常互换角色。

GitHub 认为 Copilot 是进化版的「结对编程」,在未来帮程序员查缺补漏的,将会换成 AI。

目前,Github Copilot 作为 Visual Studio Code 插件,它适用于多种框架和语言,在 Python、JavaScript、TypeScript、Rudy、Go 几种语言上的表现格外突出。

1、它会自动补全,甚至会根据你的代码,提前猜测和预知你要写什么,帮你自动补全代码。

2、根据注释自动生成代码,什么意思呢?就是它能够根据你注释当中描述的意思生成你想要的代码,只需描述出你想要执行的命令,GitHub Copilot 就能自动为你组装代码。

而且,在注释中用简单的英语描述一个函数,Copilot 也可以将其转换为实际代码。

3、模仿能力也很强,可以根据你写的代码例子,快速生成模板和重复的代码。

4、根据测试包,匹配生成测试所需要的代码,就是你只要导入单元测试包,GitHub Copilot 就能给出与代码匹配的测试,真的是很牛逼啊。

5、既然能够做到自动补全和自动提示,当然了,人家也会在你写代码的时候,根据你写代码的情况,提供好几个备选方案的代码供程序员选择,看看哪个更符合你的要求,你就可以使用,减少你的代码量。

此外,据说 Copilot 还能辅导新手写代码,可以帮助他们找出错误、学习新框架,省去大量查资料的时间。

03

它是如何做到的呢?

GitHub Copilot 由 OpenAI Codex 提供支持,可以理解为 GPT-3 的改进版。

科普一下 GPT-3,GPT-3 这个自然语言处理 AI 在去年就已经很出名了,被公认是继 AlphaGo 之后人工智能史上又一里程碑式的东西。

据说它在互联网上阅读了 5000 亿词,模型达到 1750 亿参数,从而变得很通用。

而 OpenAI 则是在 GPT-3 的基础上生成的 Codex 算法,Codex 在从 GitHub 那里提取出来的 TB(terabyte)级公开代码以及英语语言示例中得到训练。基于 Codex 算法,编程 AI Copilot 诞生了。

OpenAI Codex 对于人们的代码使用习惯有着广泛了解,而且它在训练中接触到的大量公共源代码数据集,所以在代码生成能力上远远超过 GPT-3。

GitHub Copilot 会把程序员给出的命令或代码发送到服务器,然后服务器使用 OpenAI Codex 来给出代码或建议。

根据官网所说,它是用数十亿行的代码训练后,才达到了现在的效果。

04

它会取代程序员吗?

就目前来看,Copilot 提供建议的准确率似乎不高。

GitHub 对一组 Python 函数进行了基准测试,测试团队清除了函数并要求 Copilot 填充它们。模型在第一次尝试正确率是 43%,经过 10 次尝试后,正确率达到了 57%。团队表示,之后 Copilot 还将进行多次训练和测试,准确率会进一步提升。

据一些程序员的说法,这种自动生成的代码工具要「好用」有个前提,就是能精确描述了函数需要实现的功能,不然后续的调试会是更耗时的工作。所以,要想让 Copilot 好用,程序员的描述能力,文字功底要到家。

目前据 GitHub 内部的使用情况来看,GitHub 的数百名开发者在编码时,整天都在使用 Copilot 功能,他们中的大多数人都接受了 AI 的建议,没有关闭该功能。

所以,GitHub Copilot 能达到的效果还是十分可观的,许多用过的程序员都说好。

就目前释放的功能来看,取代程序员还是不太现实,但是未来取代初级程序员我感觉还是很有可能的。

但是,对于我们程序员来讲,现在的 Copilot 绝对是一个好帮手,程序员的好秘书。因为,有了它,我们可能再也不要面向搜索引擎编程了,再也不用去 StackOverflow 找答案,去复制粘贴了。

我们都知道,我们程序员很大一部分的时间和精力都浪费到面向搜索引擎,面向 Google 编程上了,大量的在网上复制和粘贴代码。

有了 GitHub Copilot ,真的是可以大大提高我们程序员的生产力。

就目前来讲,是一个好事。

但是,在未来,随着科技的发展,我感觉可能有点不妙,至少初级程序员的生存空间可能就没有了。但是高级程序员应该会很高兴,有了它效率大大提高了,可能拥有了它之后,就不用 996 加班了,可以提前下班了。

GitHub CEO Nat Friedman 在 Hacker News 写道:

软件开发正迎来自己的『第三次工业革命』。第一次革命是编译器、调试器、垃圾收集器以及语言等工具的出现,极大提升了开发者的工作效率;第二次革命则以开源为契机,全球开发者社区得以汇聚起来,并在彼此的开发成果基础之上不断推进;第三次革命就在现在,业界尝试在编程当中使用 AI 技术。在发展成熟之后,开发人员的日常工作将有巨大改变 —— 但仍然有很多工作可做、也只能由人类开发者完成,因此不用太担心。

所以,通过 GitHub CEO 的话我们也可以看出,未来的程序员只有两种:

  1. 一种你只需要会操作就行,不需要你写,这种程序员就像是车间的操作工,身价会大大降低;

  2. 另外一种就是高级程序员,就像是解决难题的技术专家,这事 AI 干不来,只能人来,就像是车间的那种老师傅,少林寺的扫地僧。这种人的价值由于 AI 的帮忙,效率会大大提升,价值也会大大增加。

你们认为呢?

安装地址:https://marketplace.visualstudio.com/items?itemName=GitHub.copilot

最后,推荐一下,我刚刚做的一个新的公众号「涩郎」,只分享知识类, 认知类的文章,都是高质量的干货,目前已经更新了很多文章了,最近几篇如下:

「独立思考」的背后是一个残酷的世界

☞颠覆你的三观

☞人在年轻的时候,最核心的能力是什么?

☞导致我们形不成「自律」的「罪魁祸首」

☞其实,这就是「幸存者偏差」

点击下方公众号卡片,关注我

我们一起挖掘知识,见证彼此成长

点击下方公众号卡片,关注我

在公众号对话框,回复关键字 “1024”

免费领取副业赚钱实操教程

可怕!程序员要被革命了,微软推出自己会编程的 “AI 程序员” 插件相关推荐

  1. 程序员要被革命了,微软推出自己会编程的“AI 程序员”插件

    这几天微软和 GitHub 推出了一款 AI 程序员智能插件,它自己会编程,会自动生成代码,有人说: 软件开发领域的「第三次工业革命」似乎正缓缓揭开序幕. 01 到底怎么回事? GitHub.Open ...

  2. .NET 程序员有家了,微软推出官方技术社区论坛

    11 月 7 日消息,微软近日发布博客,推出 .NET 官方社区论坛,为开发者提供一个官方的交流平台. .NET 是一个统一平台,使开发人员能够跨操作系统和平台构建世界一流的应用程序.微软表示,有数百 ...

  3. 安卓9 怎么运行老程序_PLC怎么连接电脑?怎么把在电脑编程好的程序放入PLC运行?...

    点击上方蓝字关注, 回复数字"100"领取电工经典电路图100例 今天给大家介绍三菱FX系列PLC如何接线和如何通过RS232进行下载程序,简单的说明帮助大家能快速与PLC通讯,并 ...

  4. 微软推出的那些好用的微信小程序

    微软推出的那些好用的微信小程序 说起微软,大家可能对其 Windows 操作系统以及 Office 办公软件非常熟悉.但是在移动端,微软产品的市场占有率却少之又少.随着微信小程序的兴起,微软也乘势推出 ...

  5. 微软,您的.net为中国程序员带来了什么?

    往事如烟:2003年,那时我还在念大三,像中国大多数学生一样,为到底是投诚Java还是效忠.net日夜争论,上下求索,迷茫中特别渴望有一盏明灯照亮我辈学子的前程,当时,各大媒体的报道是市场中.net和 ...

  6. 转 程序员学习的革命-如何使用大脑

    本文链接地址:http://blog.csdn.net/thefirstwind/archive/2006/12/13/1440965.aspx 标题:程序员学习的革命,教你如何使用大脑 作者:邢晓宁 ...

  7. 英语很差,可能不会阻止你成为一名程序员,但一定会限制你成为一名“优秀的”程序员...

    作者 l 会点代码的大叔(CodeDaShu) 我在很多平台上发表技术类的文章,收到过很多朋友的私信,问一些技术类和程序员职业发展类的问题,常见的问题比如"我已经 XX 岁了,想转行做程序员 ...

  8. 开发的AI程序员“抄”代码,被骂惨的GitHub到底冤不冤?

    荣伟 发自 凹非寺 量子位 报道 | 公众号 QbitAI Copilot"抄袭"风波,大家想必瓜吃得够饱了. 这回我们来聊点严肃的. GitHub在没有版权持有者许可的情况下,用 ...

  9. GitHub的AI程序员“抄袭”算法大神代码,连原版注释都抄上了

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 本周GitHub官方和OpenAI联合发布了一款代码神器AI--GitHub Copilot,只需输入注释,即可自动生成代码,堪称一位&q ...

最新文章

  1. Kubernetes:实现应用不停机更新
  2. mysql怎么对比表结构_mysql查看表结构2种方式对比
  3. jQuery 属性操作 - toggleClass() 方法
  4. 第四十七t天 how can i 坚持
  5. Image Upload based on jQuery
  6. Oracle DML NOLOGGING
  7. 最长双重叠字符串java_java – 重复但重叠的字符串的算法
  8. php:兄弟连之面向对象版图形计算器2
  9. 文本分割器TXTSpliter
  10. cnpm下载依赖包速度快的原理探究
  11. C++在windows下获得运行主机的硬件信息:CPU序列号、MAC地址、硬盘序列号、主板序列号
  12. 【转】SD-WAN,到底是什么*****
  13. 工控网络安全分支-电力行业网络安全建设
  14. SpringCloud微服务---学习笔记(二)--多级缓存
  15. Kali安装中文输入法
  16. Docker配置远程访问
  17. Android判断是否为模拟器(实测夜神通过)
  18. 用python画多啦a梦源码_python 画多啦A梦
  19. 汉语言专家级C1,汉语言文学专业审核(文科生均可参考)
  20. 分布式id php,PHP生成类MongoId的分布式主键

热门文章

  1. 狮子、豹、狼-----看管理
  2. 二手市场三大顽疾背后:支付宝小程序能成闲鱼下一个流量跳板吗?
  3. Java 基础 —— Java 中的值类型与引用类型
  4. 给我5个带”富“字的成语
  5. 用最直白的方式告诉你 什么是前后端分离
  6. ASP.NET Core 部署到docker
  7. Windows 的 docker 删除容器后 WSL2 磁盘空间不释放的问题
  8. 初中计算机怎么打根号,电脑怎么打根号符号(EXCEL符号输入的小技巧)
  9. CSS学习笔记---字体文本
  10. windows python + flask + nginx同局域下开放接口