郑州%公司 网站建设,WordPress显示时间函数,app广告推广,类似站酷的设计网站大家好#xff0c;我是良许。
这几天#xff0c;GitHub 上有个很火的插件在抖音刷屏了——Copilot。
这个神器有啥用呢#xff1f;简单来讲#xff0c;它就是一款由人工智能打造的编程辅助工具。
我们来看看它有啥用。
首先就是代码补全功能#xff0c;你只要给出函数…大家好我是良许。
这几天GitHub 上有个很火的插件在抖音刷屏了——Copilot。
这个神器有啥用呢简单来讲它就是一款由人工智能打造的编程辅助工具。
我们来看看它有啥用。
首先就是代码补全功能你只要给出函数名和参数Copilot 就会自动帮你补全代码。 第二个功能就是它可以根据注释来写代码。也就是说你只要把注释写好它就会自动帮你生成对应的代码吓人吧~ 除此之外它还可以自动生成重复性代码、自动生成测试代码同时也可以生成多套代码方案供你选择。
目前支持多种开发语言包括 Python, JavaScript, TypeScript, Ruby, Java, Go等等支持VS CodeNeovimJetBrains 等 IDE。
目前还没有完全开放处于邀请制状态。前几天我看到了这个插件并申请了但是目前还没通过所以想看演示的话大家可以上 B 站很多大佬做了测评。
看到这个插件这么强大的功能很多程序员已经吓傻了这么强大AI 都已经可以帮你写代码了程序员是不是要下岗了
但在我看来这个插件目前还只是个高级的玩具而已。
1. 只是帮你百度一下
这个插件的本质是利用人工智能通过开源社区里的大量代码进行训练从而实现自动写代码的效果。
所以对于通用性的代码它的生成准确性还是比较高的。
比如我们在写两个日期之间的天数你写来写去无非就是这样写以 Python 为例
def days(str1,str2):date1datetime.datetime.strptime(str1[0:10],%Y-%m-%d)date2datetime.datetime.strptime(str2[0:10],%Y-%m-%d)num(date1-date2).daysreturn num
这种代码说白了其实没有多少创造性写熟练了可能根本都不需要经过大脑都形成肌肉记忆了无非就是函数名、变量不太一样其余的几乎都一样。
类似的我们还有一些算法比如冒泡排序、工具比如哈希校验其实也都是重复性非常高的代码它也可以帮你完成得很好。
重复性的工作都有可能被替代的。
在这种情况下Copilot 的作用就相当于帮你百度一下然后再帮你 CV 一下。如果没有这个插件我们一样也能做只是花点时间而已。
2. 业务代码质量不高
Copilot 自己也承认他们会尝试了解程序员的意图并「尽可能」生成最好的代码但生成的代码并不总是有效有时甚至还没有意义。
毕竟训练集来自公共代码良莠不齐甚至完全没有意义。
这点在 B 站大神的测试下也得到了印证有时候确实也生成了一堆不知所云的代码。
毕竟我们的业务需求一直都是复杂多变的有时我们自己都不太能实现一些功能需求还指望机器帮你写别太幻想了
而且它自动补全业务代码的前提是你已经需要有一定的代码量供它参考它才可以去猜测你接下来准备写什么。
也就是说你还是需要写一些代码有这些代码了它才会写得更准确一些。而且你提供的代码量越少它的推荐就越不准确。
也有人说了它会根据注释写代码啊。但是实际上注释你都写好了你自己其实也已经差不多把代码都写好了。
再说了程序员都知道读别人的代码是一件很痛苦的事情Copilot 帮你写好了代码你敢直接就用吗你阅读并理解它的代码的时间也许自己早就写完了。
所以你说它会完全帮你写代码吗肯定不行至少目前不会。就算能帮你写部分业务代码也不一定写得好。
3. 有一定的安全问题
Copilot 它的原理就是利用大量的代码进行训练样本越多自然就越准确。
那么问题来了他们自己宣称这些样本是来自开源的社区但你使用了它们的插件你敢保证你写的代码不会成为他们的样本
而且如果它们生成的代码不合你的要求你手动修改了它更加理解了你的意图这对 Copilot 的训练简直是神助啊他们难道真的不会考虑利用一下使用者的免费劳动力
凡是使用第三方插件而且还是不开源的谁都无法保证你的数据是否真的没有被泄漏出去。
自己练习的代码肯定是无所谓了但是如果涉及到公司的商业机密那就可能会有法律问题了。
而且更可怕的是Copilot 生成的代码有 0.1% 的概率会原封不动复制训练集的样本。如果这些样本没版权也没事但要是有版权有可能也会吃官司。
之前已有新闻报道过Copilot 原样复制了经典射击游戏《雷神之锤》里的代码而这些代码是受法律保护的使用者也因此受到了一些麻烦。
所以现在不少公司已经明确规定禁止使用 Copilot 插件
4. 照相机的出现不会让画家下岗
照相机被发明出来的时候曾经一度也有人开始唱衰画家这样的岗位。但时过境迁这么多年过去了画家的岗位消失了吗不仅没消失反而现在技术精湛的画家身价一涨再涨。
相机只是把画家的一部分重复性工作取代了比如画肖像、风景等等。它只会机械地一比一还原现实。而现在的画家更多是作为艺术创作这部分相机短时间内是无法取代的。
现在也有 AI 艺术创作但还很难说取代
Copilot 何其不是这样的存在呢我大胆预测Copilot 只会取代部分基础的、重复性的编程工作说它会让程序员下岗我觉得这肯定是天大的笑话。
相机再智能你也需要具备一定的美术、审美基础才能拍出好看的照片。 同样的Copilot 帮你写了一堆代码你如果没有一定的编程基础的话你连改都不会改。
5. 展望
我还是那句话Copilot 的出现不会让程序员下岗只会取代部分工作而已。
工具的出现只是会让我们从重复性的劳动中解放出来从而让我们的大脑有更多时间思考。但思考和创作本身很难被取代。
我个人是非常欢迎 Copilot 这样的工具出现可以让我们减少很多不必要的工作。
作为程序员都知道我们每天都需要花费很多时间在百度/谷歌上面并且各种搬运轮子。这种工作就是机械的重复性工作如果能有工具让我们从这样的工作中解放出来肯定会为我们节约很多时间。
而且Copilot 这个单词本身也明确了自己的定位那就是「副驾驶」人家已经很明确自己的位置根本就没想着成为主驾驶。
所以Copilot的出现大家不要如临大敌而是要合理利用工具善于利用工具让工具真正为我们所服务。 学习编程千万不要急于求成一定要多读一些经典书籍多看源码多下苦功夫去死磕代码这样技术才能长进。给大家分享一些程序员必读经典书籍一定要多读几遍 有收获希望老铁们来个三连击给更多的人看到这篇文章
推荐阅读
干货 | 程序员进阶架构师必备资源免费送 刷题 | LeetCode算法刷题神器看完 BAT 随你挑
欢迎关注我的博客良许Linux教程网满满都是干货