GitHub AI 工具如何帮助您有效编码

如果你是一名程序员,你很可能已经因为编写冗长的程序而筋疲力尽(或者你会!)而且你可能想知道,“如果有人和我坐在一起帮助我创建这些程序会怎样? ?”

现在您拥有 GitHub Copilot,这是一种人工智能工具,可帮助您更有效地编写脚本。 GitHub Copilot 可以建议代码行,甚至可以完成您的功能。

在本文中,您将详细了解 GitHub CoPilot 以及它可以为您做什么。让我们开始吧!

什么是 GitHub CoPilot,它是如何工作的?

GitHub 是微软的子公司,它与 OpenAI(一家人工智能研究初创公司)合作开发 GitHub Copilot。您可以将 Copilot 作为扩展安装或通过 GitHub Codespaces 在线使用它。它还可以与 Visual Studio 代码无缝协作。

认识 GitHub Copilot – 您的 AI 配对程序员。 https://t.co/eWPueAXTFt pic.twitter.com/NPua5K2vFS

— GitHub (@github) 2021 年 6 月 29 日

AI 从开放平台和 GitHub 存储库上提供的数十亿源代码中学习,为您提供代码行或有时整个功能的建议。开发人员将 Copilot 设计为从开发人员的程序中学习,以随着时间的推移提高其准确性和精确度。

Copilot 将根据您前面的行、函数名称和其他因素为您的程序建议最合适的代码。您可以接受 Copilot 提出的建议、探索它提出的其他建议、修改您获得的代码或完全忽略它;由你决定。

需要明确的是,Copilot 不是一个简单的自动完成程序,它不会为您创建整个程序。它更像是一个上下文感知工具,充当伴侣,观察您的工作进度并在您编码时提供建议。

副驾驶会为你做什么?

不,CoPilot 不是来自未来的具有所有答案的机器。它会查看您正在编写的代码,回忆它从数十亿其他程序中学到的东西,然后推荐您接下来应该编写的内容。

根据 GitHub 的说法,CoPilot 能够理解各种框架和语言,并且可以很好地使用它们。开发人员对学习 AI 工具进行了训练,以了解多种框架和语言以及来自 GitHub 存储库的源代码。

技术预览显示它将很好地帮助您使用 Python、JavaScript、TypeScript、Ruby 和 Go。

您的智能虚拟编程合作伙伴将从您编写的代码中提取上下文,并使用您在程序中使用的函数生成类似的代码。它试图理解你的意图并建议最好的代码。但是,这些建议可能并不总是最合适的。

相关:如何在 Github 上创建您的第一个存储库

根据您对其建议的批准和拒绝,它会向您和数百万其他开发人员学习,以更好地适应您的编码风格。它根据您对在给定程序中尝试实现的内容的描述,将不同的代码片段组合在一起。当您的程序中有重复的短语时,它会自动填充代码,这将使您免于一次又一次地输入相同的代码。不仅如此,它还可以根据您的程序可能产生的可能错误来推荐测试。

Copilot 的发布让开发者们议论纷纷。许多人渴望使用 AI 工具,看看它可以提供什么。

开发人员如何评价 Copilot?

世界各地的开发人员表示,Copilot 将使他们的工作更轻松,节省大量时间,并帮助他们专注于工作。

开发人员一直在不同的社交媒体平台上分享他们使用新 AI 工具的经验。据一位在隐私和安全行业工作的开发人员称,Copilot 的建议是准确的,这为他在明显和重复的代码上节省了大量时间。

过去两周我一直在 Alpha 中测试#GitHubCopilot 。它提出的一些代码建议非常好。

这是一个线程,其中包含一些我发现令人惊讶的示例。将随着时间的推移更新新示例。 https://t.co/lD5xYEV76Z

– Feross (@feross) 2021 年 6 月 30 日

“Copilot 是 2020 年代三大技术创新之一,”一位一直在关注 GitHub 和 OpenAI 的 Copilot 开发的微软高级研究员在一系列推文中分享道。

太激动了,终于讨论了 Copilot!

我已经在 MSR 内部使用它几个月了,观察它的发展,并讨论了合作。

[免责声明:技术来自令人惊叹的@github / @openai ,我是一个知情的观察者。]

毫不夸张地说,Copilot 将进入 2020 年代的前 3 名技术发展 https://t.co/aoQMfpSgtT

– Alex Polozov (@Skiminok) 2021 年 6 月 29 日

开发人员认为 AI 自动完成是有益的,并且会继续存在。然而,他们怀疑 Copilot 等人工智能工具将完成多少工作。开发人员也仍然担心它最终可能会取代它们。

Copilot 会取代您成为开发人员吗?

GitHub 首席执行官 Nat Friedman 表示,Copilot 是一种生产力工具,可为您提供代码完成功能和想法,以便在您的代码中实现。他认为,借助 Copilot 等人工智能工具,软件开发正在进入下一个生产力变革阶段。 Friedman 提到,过去编译器、调试器、垃圾收集器和语言使开发人员的工作效率更高。然后开发人员分享彼此的工作以改进他们的代码。现在你可以使用人工智能来编码,但问题陈述总是由人类来解决。

AI 可以根据您已经在程序中编写的内容建议模式匹配代码。但是,要有效且成功地使用它,您必须了解程序的每一行。

作为开发人员,您的工作不仅是开发代码,还要针对您要解决的问题的要求和规范创建特定的代码。 Copilot 等 AI 工具将帮助您比自己开发代码更快。

但是您必须告诉 AI 工具您希望它在您的程序中做什么。作为开发人员,您始终负责您的程序。它是一种类似于电子邮件、即时消息、对话式 AI 以及让我们的生活更轻松的所有技术的工具。

虽然人工智能是编码的未来,但人工智能完全主导并自行设计程序的时代还有很长的路要走。

CoPilot 将协助开发人员

作为开发人员,您总是在截止日期前,还有什么比建议代码行并自动填充重复代码以按时完成工作的编码伙伴更好的了。

Copilot 在早期就显示出了最初的希望,但即使是 GitHub 对其适用性也持谨慎态度。 GitHub 表示,有时 CoPilot 的建议可能对您的程序没有意义或有益。您应该始终交叉检查、测试和查看从 Copilot 或任何其他 AI 工具获得的编码建议。

因为没有什么是完美的,所以 Copilot 总是有可能犯错。但是,学习 AI 工具将使开发人员更容易编码。从长远来看,评论它将如何影响开发人员社区还为时过早。甚至会不会很危险?