Copilot初体验

AI、Artificial Intelligence、人工智能,已经家喻户晓了。手机上的“小爱同学”、Siri,电脑上的“Cortana小娜”,还有什么智能音箱,甚至各种信息流App例如某头条、某音里的“猜你喜欢”,都是AI的现实应用。

GitHub Copilot是一款基于AI的、应用于写程序场景的工具,其作用是在程序员写程序的过程中,帮忙写出接下来的一句或者一段代码。我等了两天便等到了测试资格,赶快上手体验了两个小时。下面这个是用时 7秒 完成的,你没看错,是七秒

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package mount3;
public class halo {
public static void main(String[] args) {
java.util.Date date = new java.util.Date();
System.out.println(date);
//输出main1的结果
main1(args);
}

//写一个测试性别的类
public static void main1(String[] args) {
Person person = new Person();
person.setName("张三");
person.setAge(99);
person.setSex("男");
System.out.println(person.getName() + " " + person.getAge() + " " + person.getSex());
}
}

下图是官方的一个展示,一开始只写了一句话注释表明我想干什么,然后Copilot自己便生成了一整段正确的代码。(网站上的展示有很多,大家可以上 https://copilot.github.com 自行观看)

最开始看到官方一些展示和国外的评测的时候,我感觉虽然很惊艳但是对我不太有用,毕竟我既不会用英文写注释,也不会用英文去表达一个函数方法名。

但在两个小时的体验中,我持续不断地经受着视觉冲击,不断在心里涌现出“天啊”“这也行”“太可怕了”的感受。

在上图里,都是要我先用各种方式——无论是注释还是函数名——描述自己接下来想做什么,然后它给出建议。这让我觉得有点刻意和割裂感,可能是因为我习惯先写代码后写注释。

但实际体验完全不止这样:它在我停止敲键盘的任何一刻,就给出了接下来的对本行代码内容补全的建议;亦或在我敲下回车的时候,就给出了下一行的代码内容;亦或是我先写了几行代码,然后想再写类似的、换了个别词语的几行,它就能直接给出来。

这便是视觉冲击所在,只要我停下来,它就会蹦出来它认为我接下来想写的内容,而且延迟基本不会慢于我的思考速度。最让人震惊的是,它帮我写的内容70、80%是我想要的,甚至还有备选项的功能,如果不是我想要的结果还能再换一个。