GitHub Copilot是一款备受国内开发者喜爱的辅助工具,它为开发者提供了巨大的帮助,减少了他们在网络上寻找解决方案的时间。这个基于云的人工智能工具是由GitHub和OpenAI联合开发的,让人们真正感受到了人工智能的力量。
一、六个人的默默研发
Copilot是由一个小团队在不到一年的时间里开发出来的。在这个团队中,只有六位开发者,另外还有一个产品经理和一个负责设计登陆页面和图标的人员。在开始研发之前,GitHub和OpenAI已经达成了关于构建大型训练集群的协议,他们希望通过微调模型,将人工智能应用于编程辅助工具中。
初始阶段的效果并不理想,但团队坚持不懈地进行测试和调整。他们投喂了大量的Python代码数据,并设计了各种测试来评估模型生成的函数是否能够通过测试。起初,通过率非常低,但团队不断尝试并引入一些新的技巧,最终将通过率从不到10%提升到了60%以上。团队还通过改进提示词的设计和使用diffs来提高模型的理解能力。
二、再前进一步
Copilot的首个迭代版本只能生成一些简单测试的代码,随后团队开始尝试生成常用的用户界面(UI)设计。虽然模型的通过率仍然很低,但团队希望通过对模型的微调和测试,实现像Gmail的文本自动补全功能一样好用的功能。
团队经过不断尝试和调整,最终实现了代码自动补全功能。他们在Visual Studio Code(VS Code)中添加了自动补全功能,使开发者可以轻松选择生成的代码片段。团队还尝试了其他几种UI交付方式,例如在空函数中添加按钮或者通过控制键从列表中选择代码。虽然一切仍处于起步阶段,但生成的推荐列表变得越来越丰富。
三、微软推向全球的努力
在发布通用版之前,Copilot经历了公测阶段,为不同用户群体做了优化。团队收集了大量的统计数据,并发现速度是任何用户群体中最重要的指标之一。他们还发现在新功能发布的头几个月,印度使用完成率是最低的——不确定为什么,但完成率确实明显低于欧洲。”
后来团队发现,这是因为 OpenAI 只有一处数据中心,而且位于美国得克萨斯州。可以想见,如果数据需要从印度穿过欧洲和大西洋再最终抵达得克萨斯,那来来回回的延迟肯定令人抓狂。这就会导致提示节奏和输入节奏脱节,功能完成率必然会受影响。
在找到症结之后,团队成员们也就释然了。而跟得州不远的用户们纷纷给出好评,比如有人会评论说,“我不会编程,但出于工作需要,我想了解怎么编写某个 100 行长的脚本。”事实证明,AI 模型特别擅长这种开发模式,而在找到模式之后,设计出来的 UI 就能派上用场。
后面就迎来了团队的“高光时刻”:发布成果,获得市场好评,然后尽快再更新和迭代。
“有客户表示,他们听说 Azure 打算在未来半年内全面承接 OpenAI,但他们等不及了,最好下个月就开放。”Alex 说道,团队当时就想办法满足这些要求,比如在欧洲和亚洲提供基础设施,把 AI 模型拉近到西海岸、得克萨斯乃至欧洲所有用户身边。微软在这方面投入了巨大努力,而在设施准备就绪并投入运行之后,Copilot 就这样正式跟大家见面了。
”Alex 表示,“没有 OpenAI 的天才和有原则的 VSCode 编辑人员,Copilot 是不可能的。
四、引发开发者社区的讨论
Copilot 发布后,很快引发了广泛的开发者社区讨论。一方面,许多开发者对这一创新工具表示了欢迎和赞赏。他们认为Copilot可以显著提高开发效率,减少繁琐的编码工作,同时提供了有用的代码片段和提示,大大减少了在互联网上搜索解决方案的时间。Copilot为开发者提供了一种全新的编程体验,使他们能够更专注于核心逻辑的实现。
另一方面,也有一些开发者对Copilot表示了担忧和质疑。他们担心Copilot的存在会导致开发者变得懒惰,依赖过度的代码生成,从而降低编程技能和创造力。他们担心Copilot生成的代码可能存在漏洞和不完善之处,需要开发者自己进行进一步的检查和修改。此外,也有人对Copilot的代码版权和法律责任问题提出了质疑。
针对这些担忧和质疑,Copilot团队表示他们非常重视开发者的反馈和意见,并将不断改进和优化Copilot的功能。他们强调Copilot只是一个辅助工具,开发者仍然需要运用自己的判断和编程能力来审查和修改生成的代码。此外,他们也会加强对版权和法律问题的考虑,确保Copilot的使用符合相关法规和规定。
五、Copilot的未来展望
对于Copilot的未来展望,Copilot团队充满信心。他们计划进一步扩展Copilot的语言和框架支持,使其适用于更广泛的开发领域。他们还计划引入更多的AI技术和算法,提升Copilot的代码生成能力和质量。
此外,Copilot团队还希望与开发者社区进行更紧密的合作,收集更多的反馈和需求,不断改进和优化Copilot的功能。他们鼓励开发者积极参与到Copilot的发展中来,共同打造一个更强大、更智能的开发辅助工具。
六、总结
GitHub Copilot是一款由GitHub和OpenAI共同开发的基于云的人工智能工具。通过小团队的默默研发,Copilot逐步提高了自身的代码生成能力和质量。它带来了开发效率的提升和编程体验的改变。然而,Copilot也面临一些挑战和争议。其中,一些开发者担心Copilot的存在会降低他们的编程技能和创造力,使他们变得过于依赖代码生成。此外,Copilot生成的代码可能存在漏洞和不完善之处,需要开发者自行检查和修改。
为了解决这些问题,Copilot团队承诺将继续改进和优化工具的功能,并加强对版权和法律问题的考虑。他们强调Copilot只是一个辅助工具,开发者仍需运用自己的判断和编程能力来审查和修改生成的代码。
在未来,Copilot团队计划扩展工具的语言和框架支持,以覆盖更广泛的开发领域。他们还打算引入更多的AI技术和算法,以提升代码生成的能力和质量。
与此同时,Copilot团队也鼓励开发者社区积极参与工具的发展,提供反馈和需求,并共同打造一个更强大、更智能的开发辅助工具。
总的来说,GitHub Copilot的发布引起了广泛的讨论,并带来了开发效率的提升。然而,它也面临一些挑战和争议,需要持续改进和解决相关问题。通过与开发者社区的紧密合作,Copilot有望成为一个有益的开发工具,提升编程体验并促进创新。