如果你还不知道“GitHub Copilot”,它是GitHub推出“AI程序员”插件,可以根据你在VS Code输入的部分代码或注释,自动生成完整的代码。在我上次的文章中,演示了GitHub Copilot是如何工作的。
刚开始,我对能够试用GitHub Copilot感到很兴奋:“哇,太棒了!可以自动生成代码,好厉害!”
但是,随着它的负面消息出现,我也开始深思,它真的是一个好工具吗?
在仔细研究过它的“常见问题”后,我得出了3点不建议你使用的理由:
1.可能让你承担法律责任
如果你将生成的代码放入商业软件中,你有可能会被起诉侵权。
因为之前已有新闻报道过,Copilot原样复制了经典射击游戏《雷神之锤》里的代码,因此给你的代码也可能是受版权保护的。
你可能会说,“只复制了0.1%的代码啊”。
那你可以回顾一下甲骨文对谷歌的侵权诉讼,争议的焦点在于一个名为rangeCheck的函数上。在甲骨文测试的共1500万行代码中,只有这一个是被“完全复制”的,雷同到每一个字母。
虽然最后谷歌胜诉了,但谁能保证同样情况下你也能呢?
2.你的代码可能被泄露
当然,你的代码会被上传并存储和分析。但是除此之外,居然还有人可以阅读你的代码?!
问题在于,我们根本不确定哪些内容被上传了。
好消息是,他们不会和其他用户共享你的私人代码——至少他们是这么说的。
3.代码质量堪忧
Copilot自己也承认了,这意味着建议代码可能并不总是有效,毕竟训练集来自公共代码,良莠不齐;甚至完全没有意义,就像我在试用时看到的那样:
过去,从Stack Overflow复制和粘贴代码,起码你还必须付出一些努力去查找和筛选,才能获得正确的代码。
现在,代码已经放到你碗里了,就像用谷歌翻译后的中文,你还愿意做到认真审查吗?
结论
总而言之,如果将GitHub Copilot用于实际工作,我不认为这是一个好主意。
“不要单飞”暂时还不太可能,至少不要和GitHub Copilot一起飞。
如果觉得这篇文章对你有所启发,请关注我的个人公众号”My IO“,记住我!