GitHub Copilot 初体验 —— 它能改变世界
本文最后更新于 676 天前,其中的信息可能已经有所发展或是发生改变。
Ghost_chu's Blog--20220128142124屏幕截图 2022 01 28 222110200 1600x893.png

在加入 waitlist 很久很久以后,昨天(22/01/27)终于收到了 Github 发来的试用 Copilot 的邮件。

GitHub Copilot 的大名早已听闻, 但是只有亲自体验,才能真正感受到恐怖。

我愿称其为 “改变世界” 的产品。

不会让你有机会自己写完一整行代码

只有实践中才能获得真理,安装 GitHub Copilot 后我决定用它去写一个 Mirai 插件。

需要注意的是,我从来没有接触过 Mirai 的 API 和 Kotlin 语言,因此 AI 的提醒至关重要。

然而,我刚刚跟着文档输入了一个 object 后…

Ghost_chu's Blog-11-20220128142711QQ图片20220128222600327.png

我真正受到了震撼,轻轻按一下 TAB,插件的主体结构就完成了。

不过这也不算什么,毕竟每个 Mirai 插件都要有这些要素。

这次的插件是读取 Hypixel API,然后每个小时往我们的项目组群里发送一次 Hypixel 各个类型模式的在线信息。

因此,我决定使用 Quartz 框架作为计时器(后面换成了 Java 的 Timer),来做到这一点。

有写 Javadoc 习惯的我按照常规给 execute 方法添加 Javadoc,然而从这时起我就意识到,这个 AI 它不简单。

Ghost_chu's Blog-22-20220128143047QQ图片20220128223037573.png
GitHub Copilot 正在补全 Javadoc

属实令我虎躯一震,居然本地化的字符串这也能补全上来,太可怕了。

不过转念一想,毕竟 Quartz 就是拿来做定时任务的,大概是用的人多了吧。所以继续。

Ghost_chu's Blog-33-20220128143212QQ图片20220128223149982.png
Copilot 正在补全 JSON 解析部分

除了 API 的 endpoint 为人工指定外,其余部分都是 Copilot 补全或正在补全。

从这时起我真正意识到,Copilot 是知道我正在做什么的。

Ghost_chu's Blog-44-20220128143334屏幕截图 2022 01 28 223313570.png
Hypixel API 的返回结构

没有问题,确实如此。我们继续。

Ghost_chu's Blog-55-20220128143421QQ图片20220128223409282.png
Copilot 在猜测我想获取 Skywars 的人数

不过 Coploit 这次没有猜对,我其实想用循环获取 games 的 players 和 games.mode 下的所有模式的在线人数,所以我决定——

Ghost_chu's Blog-66-20220128143551QQ图片20220128223543726.png
Copilot:你是想这么干对吧?
Ghost_chu's Blog-77-20220128143628QQ图片20220128223620455.jpg

数据获取完之后,我要在 GameDataRecord 里面总结一下,返回一个 String 最后拼接起来形成 QQ 消息。

所以我新建了一个 createReport() 的方法,然后……

Ghost_chu's Blog-88-20220128143739QQ图片20220128223730643.png
Copilot:我帮你想好了
Ghost_chu's Blog-99-20220128145747QQ图片20220128225726950.png

行,那么既然你这么聪明,我打算把 GameDataRecord 里面的一个 HashMap 排个序,要不然你来帮我吧,我记得 Github 的 demo 说我只要告诉你我想要什么,你就能写不是吗?

Ghost_chu's Blog-1010-20220128143914QQ图片20220128223904607.png
帮我排个序

然后令我出乎意料的事——Copilot 知道我想要排序之后生成一份报告,于是帮我把 Builder#append 写好了……

Ghost_chu's Blog-1111-20220128143949QQ图片20220128223934624.png
Copilot:你是想放进 Builder 里对吧?

来点复杂的

在写好createReport后,我需要让 Quartz 帮我调度这个方法(但是我并不会用 Quartz),所以我打算让 Copilot 看看能不能在我什么也不会的情况下帮我写好调度初始化。

Ghost_chu's Blog-1212-20220128144231QQ图片20220128224221862.png
Ghost_chu's Blog-1313-20220128144252QQ图片20220128224233765.png
Ghost_chu's Blog-1414-20220128144315QQ图片20220128224303777.png
Copilot:没问题,注释都帮你写好
Ghost_chu's Blog-1515-20220128144406QQ图片20220128224348590.png
你是想这么干吧

让 Carm 也来试下

Copilot 这么好用,于是我决定分享给 Carm 让 Carm 也来试试看:

Ghost_chu's Blog-1616-20220128144555屏幕截图 2022 01 28 224538895.png
一切就此开始
Ghost_chu's Blog-1717-20220128144840屏幕截图 2022 01 28 224818409.png
Ghost_chu's Blog-1818-20220128144651屏幕截图 2022 01 28 224612372.png
Ghost_chu's Blog-1919-20220128144700屏幕截图 2022 01 28 224622456.png

未来

毫无疑问,Github Copilot 将成为改变世界的东西。

尽管 Github Copilot 还是处于预览测试阶段,但它目前表现出来的实力足以碾压绝大多数所谓 “AI Coding” 的工具。

待完全体出现,定将会颠覆业界,掀起惊天骇浪。

Ghost_chu's Blog-2020-20220128145831屏幕截图 2022 01 28 225316672.png

搞点不正经的

Ghost_chu's Blog-2121-20220128150259QQ图片20220128230255328.png
咳咳
Ghost_chu's Blog-2222-20220128145823屏幕截图 2022 01 28 225657623.png
丢个库
Ghost_chu's Blog-2323-20220128153932动画6987.gif
爬B站

除特殊说明以外,本站原创内容采用 知识共享 署名-非商业性使用 4.0 许可。转载时请注明来源,以及原文链接

评论

  1. HikariLan
    Windows Edge
    2年前
    2022-1-29 13:11:56

    申了,过了,试了,只能说太强了,如果真出商业版相信我也会入手一份的

  2. Windows Edge
    2年前
    2022-1-29 5:37:29

    咱也申请了,但是迟迟没有消息,大概是不够格吧(
    说真的,GitHub长期对个人免费开放,吸引了大量用户,量变引起质变,使其拥有的代码量庞大到了难以想象的程度,这种境界才能做大事,真的厉害
    目前看过的相关体验都是说“不用写完一行,就几乎能猜到你要做什么”,不知道完整体上线之后会不会掀起一场革命(

  3. Windows Edge
    2年前
    2022-1-28 23:50:12

    面向tab编程(๑•̀ㅁ•́ฅ)
    Copilot真的挺聪明的,出人意料的是即使你在写一个md文档,他也能帮上忙
    目前仅处于预览阶段,后续应该会出现商业版
    不过还是要注意不能让copilot主导了,太依赖了不太好

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
呼呼
派蒙
巴巴托斯
上一篇
下一篇