在加入 waitlist 很久很久以后,昨天(22/01/27)终于收到了 Github 发来的试用 Copilot 的邮件。
GitHub Copilot 的大名早已听闻, 但是只有亲自体验,才能真正感受到恐怖。
我愿称其为 “改变世界” 的产品。
不会让你有机会自己写完一整行代码
只有实践中才能获得真理,安装 GitHub Copilot 后我决定用它去写一个 Mirai 插件。
需要注意的是,我从来没有接触过 Mirai 的 API 和 Kotlin 语言,因此 AI 的提醒至关重要。
然而,我刚刚跟着文档输入了一个 object 后…
我真正受到了震撼,轻轻按一下 TAB,插件的主体结构就完成了。
不过这也不算什么,毕竟每个 Mirai 插件都要有这些要素。
这次的插件是读取 Hypixel API,然后每个小时往我们的项目组群里发送一次 Hypixel 各个类型模式的在线信息。
因此,我决定使用 Quartz 框架作为计时器(后面换成了 Java 的 Timer),来做到这一点。
有写 Javadoc 习惯的我按照常规给 execute 方法添加 Javadoc,然而从这时起我就意识到,这个 AI 它不简单。
属实令我虎躯一震,居然本地化的字符串这也能补全上来,太可怕了。
不过转念一想,毕竟 Quartz 就是拿来做定时任务的,大概是用的人多了吧。所以继续。
除了 API 的 endpoint 为人工指定外,其余部分都是 Copilot 补全或正在补全。
从这时起我真正意识到,Copilot 是知道我正在做什么的。
没有问题,确实如此。我们继续。
不过 Coploit 这次没有猜对,我其实想用循环获取 games 的 players 和 games.mode 下的所有模式的在线人数,所以我决定——
数据获取完之后,我要在 GameDataRecord 里面总结一下,返回一个 String 最后拼接起来形成 QQ 消息。
所以我新建了一个 createReport()
的方法,然后……
行,那么既然你这么聪明,我打算把 GameDataRecord 里面的一个 HashMap 排个序,要不然你来帮我吧,我记得 Github 的 demo 说我只要告诉你我想要什么,你就能写不是吗?
然后令我出乎意料的事——Copilot 知道我想要排序之后生成一份报告,于是帮我把 Builder#append 写好了……
来点复杂的
在写好createReport后,我需要让 Quartz 帮我调度这个方法(但是我并不会用 Quartz),所以我打算让 Copilot 看看能不能在我什么也不会的情况下帮我写好调度初始化。
让 Carm 也来试下
Copilot 这么好用,于是我决定分享给 Carm 让 Carm 也来试试看:
未来
毫无疑问,Github Copilot 将成为改变世界的东西。
尽管 Github Copilot 还是处于预览测试阶段,但它目前表现出来的实力足以碾压绝大多数所谓 “AI Coding” 的工具。
待完全体出现,定将会颠覆业界,掀起惊天骇浪。
面向tab编程(๑•̀ㅁ•́ฅ)
Copilot真的挺聪明的,出人意料的是即使你在写一个md文档,他也能帮上忙
目前仅处于预览阶段,后续应该会出现商业版
不过还是要注意不能让copilot主导了,太依赖了不太好咱也申请了,但是迟迟没有消息,大概是不够格吧(
说真的,GitHub长期对个人免费开放,吸引了大量用户,量变引起质变,使其拥有的代码量庞大到了难以想象的程度,这种境界才能做大事,真的厉害
目前看过的相关体验都是说“不用写完一行,就几乎能猜到你要做什么”,不知道完整体上线之后会不会掀起一场革命(
申了,过了,试了,只能说太强了,如果真出商业版相信我也会入手一份的