2026年11月08日 欢迎访问 读到
首页 / 小说书库 / AI辅助编程实战 / 正文
点评
第4章 GitHub Copilot

本章将深入探讨GitHub Copilot,以下简称Copilot。作为AI辅助编程领域的领军产品,Copilot被誉为生成式AI的“杀手级应用”。它为开发者提供了高级的代码建议、代码创建和代码解释功能,极大地提升了开发效率。Copilot通过理解代码上下文和预测编程模式,不仅节约了开发者的编程时间,还助力他们编写更高效、更可靠的代码。

在本章中,我们将细致了解Copilot的各个方面,包括它的定价策略、配置方法,以及它所提供的所有创新功能。同时,我们也会坦诚地讨论它的局限性。为了帮助读者更好地利用Copilot,本章还会提供一些实用的Copilot使用技巧。此外,我们还将介绍Copilot如何通过合作伙伴计划与其他企业进行协作。总而言之,本章旨在全面而深入地介绍Copilot的功能和应用。

2021年6月,微软推出了GitHub Copilot。GitHub首席执行官Nat Friedman在一篇博文中将Copilot形容为“AI编程助手”,Copilot旨在协助开发者更高效地完成编程任务,进而加快开发者的工作进度。

Copilot是微软与OpenAI合作的成果,最初基于Codex构建而来,Codex是为编程专门定制的GPT-3的一个变体。为了增强Codex理解代码上下文的能力,微软引入了一种名为中间填充(Fill-In-the-Middle,FIM)的新方法,从而提高了代码建议的质量和响应速度。随着更先进的GPT-3.5 Turbo的加入,FIM带来的改进进一步提升了代码建议的接受率。

为了增强安全性,Codex结合了AI系统,能够即时识别并阻止潜在的风险编程模式,并特别关注那些常见的漏洞,如硬编码凭证和SQL注入等,从而保障代码的安全性。

Copilot提供30天免费试用服务。试用期结束后,用户有以下3种选择。

个人版Copilot

个人版Copilot月费为10美元,年费为100美元。个人版Copilot提供了一系列功能,如多行函数建议,旨在让编程工作更加流畅。一个特别突出的功能是加速测试生成,这对于确保代码的可靠性和稳定性至关重要。此外,个人版Copilot还具备筛查易受攻击编程模式的能力,并避免提供任何可能涉及版权问题的公共代码建议,从而确保所生成的代码是独特和原创的。

商业版Copilot

商业版Copilot提供的功能更全面,每位用户每月收费19美元。商业版Copilot包括个人版Copilot的所有功能,并增添了一些专为企业设计的额外功能。商业版Copilot简化了许可证管理,这对公司管理订阅和访问权限非常有利。商业版Copilot还具备管理组织政策的功能,有助于统一管理所有项目,保持项目间的一致性。商业版Copilot的另一大亮点是其顶尖的隐私保护措施,这对于确保敏感业务数据的安全至关重要。此外,商业版Copilot还支持企业代理,以确保整个公司网络的连接安全和顺畅。

企业版Copilot

企业版Copilot月费为39美元。企业版Copilot的主要特点是允许在公司内部代码库上对系统进行训练,从而提供更有针对性的代码建议,显著提升开发者的工作效率。企业版Copilot根据开发者的内部编程习惯、偏好使用的API、框架和软件包进行量身定制,有助于推广最佳实践,同时遵守企业安全规则。

企业版Copilot的另一个优势是可以用COBOL和Fortran等传统编程语言进行训练。由于这些编程语言通常缺乏公共资源库中的训练数据,通用LLM可能在这些编程语言上表现不佳。当然,通用LLM也无法了解特定公司的专有编程语言。

GitHub系统会持续扫描公司的软件仓库,以增强企业版Copilot的能力。例如,GitHub系统关注最近的拉取请求、合并操作,以及“赞成”和“反对”等反馈,这些都有助于突出公司正在使用的最新方法和策略。

定制模型有助于在整个组织内传播专业知识。AI可以捕捉并分享代码中隐含的微妙知识。通过持续训练,AI可以跟上代码库的不断变化,使其提供的帮助随着时间的推移变得更加精确。然而,企业在使用AI辅助编程工具的过程中,必须注意处理好隐私和知识产权风险。

2023年,Gartner的研究表明,仅有不到10%的大型企业开始使用AI辅助编程工具。企业犹豫不决的态度部分出于对安全性和精确性的担忧。然而,随着AI技术的飞速发展,预计在可预见的未来会有越来越多的企业开始采纳这些工具。总之,AI辅助编程工具带来的好处不容忽视。

在AMD公司的一项有趣案例研究中,我们看到了定制模型的实际应用。成立于1969年的AMD公司是CPU领域的先驱,并且如今已成为数据中心、嵌入式系统、游戏平台和个人计算机半导体领域的领导者。

在深入了解这个案例之前,让我们先回顾一下硬件系统开发的基础知识。硬件系统开发与Web应用程序等软件的开发有着本质上的不同。开发者需要对硬件系统有深刻的理解。与运行在通用计算机上的普通软件不同,固件直接与硬件交互,这要求更高的精确性和兼容性。

在固件中,精确性至关重要,因为固件开发中的任何失误都可能导致严重且代价高昂的后果。一个错误不仅意味着数百万美元的经济损失,还关系到时间因素。修复固件问题通常需要重新检查制造流程,这可能会增加几个月的时间。这种延迟不仅会推迟产品的发布,还会影响产品在市场上的竞争力。

显然,敏捷软件开发中流行的“快速行动,打破常规”的思维模式并不适用于硬件编程。这种方法的风险太大。因此,固件开发者必须投入大量时间和精力来制订详细计划并进行广泛测试。保持谨慎可以确保固件在与硬件配对之前尽可能稳固和无误。

2023年,AMD公司在对Copilot进行研究的过程中设定了非常高的标准,产生了相当多的怀疑,但所有怀疑都是合理的。在一个试点项目中,AMD公司为Verilog和SystemVerilog等各种HDL(Hardware Description Language,硬件描述语言)创建了一个定制版的Copilot。HDL是一种特殊的编程语言,专门用于概述电子电路(尤其是数字逻辑电路)的架构、设计和功能。HDL对不同抽象层次的电子系统建模和仿真至关重要。

实验结果超出预期。令人惊讶的是,Copilot生成的代码实际上比AMD公司的开发者编写的代码更符合AMD公司的标准。如此显著的改进,促使一些开发者从Vim(一种高度可定制的文本编辑器)转而采用Visual Studio Code作为IDE。

另一个有趣的案例发生在Shopify公司。Shopify是一个电商服务平台,旨在让客户轻松建立在线商店。该平台在美国市场占有约10%的份额,在欧洲市场则占有约6%的份额。

显然,为了支持其广泛的业务,Shopify需要庞大的基础设施支持。目前,Shopify公司拥有大约300个公共代码仓库和5000个私有代码仓库。此外,Shopify公司每天对其代码进行大约1500次部署。

Shopify公司是首批拥抱Copilot的公司之一,这一工具极大地改变了该公司的开发流程,提升了开发者的工作效率。目前,Shopify公司有近2000名开发者正在使用Copilot。最引人注目的是,其中70%的开发者认为它非常有用,75%的开发者经常使用它,而且Copilot提供的代码建议约有26%被采纳。

尽管一些功能〔比如与命令行界面(Command Line Interface,CLI)的集成〕尚未普及,但许多开发者已经开始在日常工作中使用代码自动补全和聊天功能。

以下是一些有趣的总结。

代码建议的价值

即使开发者不采用给定的建议,也不会造成完全的损失。任何建议都能激发开发者编写更好代码的灵感。

使用率

随着时间的推移,Copilot的使用率通常会增加,这是意料之中的。开发者需要时间来调整他们的日常工作流程并适应新功能。Copilot也有一个学习曲线。

高级开发者的态度

早期采用Copilot时,经验丰富的开发者并不热衷于使用它,他们倾向于将其视为一款玩具而非严肃的工具。但随着时间的推移,当看到其他开发者取得的实际效果后,高级开发者对Copilot的使用开始变得更加活跃。

学习和强化

Shopify公司注意到,Copilot擅长引导开发者尝试新的编程语言或框架。例如,Rust的采用率明显上升。

Shopify公司的代码库中有大约100万行代码是用Copilot编写的,这表明Copilot对该公司的业务具有重大意义。

埃森哲咨询公司是一个大型专业服务机构,其通过创新的技术和系统来帮助客户改善运营和实现增长。该公司在全球120多个国家拥有733000多名员工。

2023年,埃森哲咨询公司对内部450名开发者进行了Copilot测试。该公司没有设定任何具体的任务或目标。经理们只是要求每个人像往常一样工作。

埃森哲咨询公司对Copilot的试用长达6个月,结果如下。

·在编程方面,Copilot建议的接受率为35%,其中88%的修改甚至在经过代码审查后仍然有效。

·生产力得到显著增强。拉取请求增加了50%,合并率提高了15%。

·效率得到大幅提升,构建次数增加了50%,成功率提高了45%。

·开发者非常满意:高达96%的开发者认为他们从第一天起就取得了成功。

看到这些结果后,埃森哲咨询公司呼吁在全球范围内向50000名开发者推出Copilot。

Gartner的一项调查研究了2000多名首席信息官(Cheif Information Officer,CIO),发现其中66%的CIO计划在2023年将网络和信息安全作为主要投资领域。这一趋势已经持续了多年。

在当今世界,网络威胁日益复杂和普遍,安全漏洞可能导致巨大的经济损失、声誉损害、法律纠纷和运营中断。此外,随着数据隐私法规变得日益严格,CIO必须保持对合规性的警觉,以避免罚款并维护客户的信任。

因此,GitHub将安全性作为Copilot计划的一个重点。GitHub开发了一套基于LLM的系统,能够在不安全的编程模式出现时立即检测并修复它们。

此外,GitHub还推出了Copilot辅助的高级安全功能,具体如下。

扫描代码

实时扫描安全漏洞和编程错误。

扫描敏感数据

根除已提交到私有存储库的密钥和令牌等敏感信息。

审查依赖

展示依赖项变更的影响,并在合并拉取请求时提供漏洞的详细信息。

对于学生、教师和流行开源项目的维护者,Copilot是免费的,但他们需要完成身份验证过程。

在开始使用Copilot之前,首先需要创建GitHub账户。GitHub是一个支持版本控制和协同软件开发的在线服务。它建立在Git的基础上,是一款提供代码审查和项目管理功能的工具。

设置完GitHub账户后,单击屏幕右上方的个人照片,你会看到一个下拉菜单,如图4-1所示。单击Your Copilot命令以启用你的Copilot。你可以选择计划类型,然后单击Continue按钮。如果不符合免费账户的条件,则需要提供付款详情。

图4-1 单击个人照片后弹出的下拉菜单

Copilot有两种使用方法。一种方法是通过Codespaces进行访问。这是一种基于云的开发环境,运行在Visual Studio Code(简称VS Code)上,可直接在GitHub网站上使用。

另一种方法是使用VS Code桌面版,当然,也可以选择VS Code Copilot扩展。本书将重点介绍如何使用VS Code Copilot扩展。

VS Code本身是免费的。图4-2显示了VS Code的主界面。VS Code可以运行在各种平台上,包括Windows操作系统(如Windows 7、8、10和11)、macOS和各种Linux发行版(如Ubuntu、Debian、Fedora等)。

图4-2 VS Code的主界面

VS Code主界面的左侧是活动栏,里面有一堆图标。你可以使用它们来加载文件和文件夹。你还可以选择其中的第5个图标,进入安装扩展的区域,如图4-3所示。

你将看到输出“Hello, Copilot!”的代码。这是使用以下提示创建的,Copilot会将其转换为代码。

图4-3 可以在VS Code中安装扩展,例如Copilot扩展

提示:#写一个“Hello, Copilot!”的程序。

字符#声明了这是一条注释。这是指示Copilot生成代码的方法之一。

值得关注的是,代码是用Python语言编写的。这是如何实现的呢?原因在于文件的扩展名为.py。Copilot根据文件的扩展名来判断并采用相应的编程语言。

VS Code主界面的右上方有一个运行程序的图标。单击它,VS Code将启动终端。你将看到输出到终端的信息。

在VS Code中使用Copilot的方法非常简单。当你开始输入代码时,Copilot就会启动,为你提供代码建议,并根据你的输入生成代码片段。

假设你在Python中输入如下函数头。

def find_factorial(number):

Copilot会立即提供一个完整的函数体,如图4-4所示。生成的编码称为幽灵文本(ghost text),以灰色高亮显示。

图4-4 当用户输入函数头时,Copilot建议的代码

Copilot建议的代码在你的机器上可能有些不同,这很正常,因为底层LLM是根据一组复杂的概率来工作的。

GitHub知道你想写一个基于参数计算阶乘的函数,因此,它向你推荐了获得正确结果所需的if-else结构。

你可以按Tab键接受代码建议。但如果Copilot建议的代码不是你所期望的,你可以按Esc键跳过它们。

将鼠标指针悬停在生成的代码上,你会看到更多选项,如图4-5所示。

图4-5 将鼠标指针悬停在生成的代码上,右上方会出现更多选项

你可以单击Accept(接受)按钮接受代码建议,就像按Tab键一样;也可以单击Accept World(接受单词)按钮,一次选择代码中的一个单词。如果单击上面有3个点的按钮,就会出现一个菜单,你可以选择接受一行或始终显示工具栏。

通过单击工具栏左侧的“1/2”按钮,你可以浏览Copilot为所生成的代码提供的备选方案。如图4-5所示,存在两个备选方案,当前展示的是第一个方案。单击“>”按钮将切换至第二个方案,而单击“<”按钮则会返回至第一个方案。

你还可以使用表4-1所列的快捷键来导航代码建议。

表4-1 用于浏览代码建议的快捷键

如果按Ctrl + Enter快捷键,VS Code将创建一个新的选项卡并显示10个备选方案(见图4-6)。

图4-6 VS Code显示了10个备选方案

要选择其中一个备选方案,请单击相应代码上方的Accept Solution(接受方案),否则关闭选项卡以拒绝所有的代码建议。

4.2.1节介绍了如何使用一个或多个注释来提示Copilot生成代码。但我们需要用当前使用的编程语言的语法来指明注释才能提示Copilot生成代码。

此外,你还可以做得更多。你可以使用注释与AI系统交互,请看下面的示例。

提示:#q:在面向对象编程中,什么是“类”?

Copilot:#a:类是创建对象的蓝图。对象具有与之相关的属性和方法(函数)。在Python 中,几乎所有东西都是对象。

如你所见,答案与所使用的编程语言有关。现在,假设你向Copilot询问系统是如何工作的。

提示:#q:接受内联建议的快捷方式是什么?

Copilot:#a:Tab键。

你可以向Copilot询问VS Code的功能。

提示:#q:VS Code中用于用户设置的快捷方式是什么?

Copilot:#a:Ctrl+。

你还可以向Copilot询问其他IDE的快捷键。

提示:#q:Atom编辑器中创建新文件的快捷键是什么?

Copilot:#a:Ctrl+N。

需要注意的是,Copilot能够识别出我是在Windows操作系统上进行开发的,并据此提供了适用于Windows操作系统环境的代码建议。

Copilot Chat类似于ChatGPT,是专为编程环境设计的对话工具。无论是需要澄清语法问题、解决软件缺陷、梳理测试用例,还是仅仅想要探讨不同的编程概念,Copilot Chat都能方便地与你进行代码相关的讨论。Copilot Chat由OpenAI的GPT-4和GPT-3.5 Turbo提供支持,并结合了微软自研的LLM。

你可以从GitHub网站直接访问Copilot Chat。它非常适合于代码分析、处理拉取请求、审查文档或解答编程相关问题。此外,GitHub应用程序的iOS和Android版本都已经集成了聊天功能,使得编程交流更加便捷,随时随地都能进行。

接下来,我们将重点讨论如何在VS Code中启用和使用Copilot Chat。这涉及添加一个新的扩展。要在VS Code中使用Copilot Chat,你需要打开扩展面板,搜索并找到“GitHub Copilot Chat”。安装完成后,你会在屏幕左侧看到一个新的图标,如图4-7所示,这表示Copilot Chat已经准备好与你进行互动了。

图4-7 屏幕左侧出现聊天图标

在聊天面板的顶部有一组图标。其中的第一个图标用于清除所有聊天内容。这个功能与对话上下文紧密相关。当你输入一个提示时,LLM会参考之前的对话历史来生成回答。如果聊天内容涉及多个杂乱的主题,则可能导致模型提供不太有用的答案。因此,保持每次聊天专注于单一主题,并在需要讨论新主题时开始新的聊天会更为有效。

第二个图标则允许你直接发送关于系统的反馈。紧接着是一个历史按钮,它采用时钟图标的设计,可以让你回顾之前的聊天主题。

单击上面有3个点的图标,便可以在编辑器内部访问和使用聊天功能,这里提供了进行深入交流的更宽敞的空间。

聊天系统还配备了一系列快捷方式来提升效率。例如,快捷方式“@workspace”指向工作区中当前打开的文件。通过使用这些快捷方式,你可以更快速、更精确地与系统交互。下面是一个示例。

如果已打开一个Python计算器程序,可以输入如下提示。

提示:@workspace /explain

图4-8显示聊天系统已经分析了程序文件并提供了详细解释。

你可以只要求聊天系统解释部分代码。选中感兴趣的代码,然后右击,将弹出一个菜单,如图4-9所示。

▲图4-8 Copilot Chat可用于解释代码

▲图4-9 选中代码并右击,即可将聊天焦点集中在选中的代码上

当聊天系统只关注部分代码时,它不仅可以解释代码,还可以修复代码、生成文档或创建测试。

另一个有用的快捷方式是“/new”,用于为新的项目或功能创建“脚手架”。例如下面的提示。

提示:/new创建一个Python脚本,用于从网站上抓取数据。

提示:/new为学生生成一个Java类,包含姓名、年龄和年级字段。

提示:/new使用Flask构建简单的RESTful API。

提示:/new创建一个JavaScript函数,对数字数组进行升序排列。

提示:/new为博客设计SQL数据库模式,其中包含用户、帖子和评论。

根据这些提示,聊天系统将显示主要步骤,然后提供代码清单。你还可以选择如何处理代码。如图4-10所示,代码清单的顶部有一些关于如何处理代码的选项。

图4-10 在聊天系统的代码清单的顶部有一些关于如何处理代码的选项

其中的第一个图标用于复制代码;第二个图标用于将代码插入文件中光标所在的位置(也可以按Ctrl+Enter快捷键)。如果单击上面有3个点的图标,代码将被插入新的文件或输出到终端。

聊天系统提供了创建Jupyter Notebook的快捷方式“/newNotebook”。但你需要说明希望Jupyter Notebook做什么。

以下是一些提示范例。

提示:/newNotebook创建一个Jupyter Notebook,使用matplotlib将CSV文件中的数据可视化。

提示:/newNotebook创建一个Jupyter Notebook,预处理和清理机器学习数据集。

提示:/newNotebook创建一个Jupyter Notebook,使用scikit-learn实现简单的线性回归模型。

提示:/newNotebook创建一个Jupyter Notebook,用于分析时间序列数据。

提示:/newNotebook创建一个Jupyter Notebook,用于从网站上抓取数据并进行分析。

聊天系统还提供了“/terminal”快捷方式。有了它,你可以就终端或命令行操作提问或寻求帮助,例如导航目录、运行脚本或安装软件包。

以下是一些提示范例。

提示:/terminal列出所有环境变量的命令是什么?

提示:/terminal如何使用grep在多个文件中查找特定文本?

提示:/terminal如何使用find命令按权限搜索文件?

提示:/terminal如何将命令输出重定向到文件?

提示:/terminal如何使用awk处理文本文件?

接下来介绍快捷方式“@vscode”。有了它,你可以就VS Code的某些方面(如功能、导航、配置或扩展)提出问题或寻求帮助。

以下是一些提示范例。

提示:@vscode如何将编辑器分成多个窗口?

提示:@vscode如何定制键盘快捷键?

提示:@vscode如何设置多根工作区(multi-root workspace)?

提示:@vscode如何在VS Code中配置任务自动化?

提示:@vscode如何在VS Code中设置和使用Docker?

最后介绍快捷方式“/api”。有了它,你可以就API的开发或使用(包括创建、测试和集成API)提出问题或寻求帮助。

以下是一些提示范例。

提示:/api如何在Node.js中通过JSON数据发出POST请求?

提示:/api如何处理Express.js API中的CORS问题?

提示:/api如何在Django RESTful API中对用户进行身份验证?

提示:/api如何在Rails API中对结果进行分页?

提示:/api如何在ASP.NET Core中对API进行版本控制?

你还可以在VS Code上下文中使用快捷方式“/api”。

以下是一些提示范例。

提示:@vscode /api如何在VS Code扩展中创建新命令?

提示:@vscode /api如何读取和写入VS Code扩展中的设置?

提示:@vscode /api如何在VS Code扩展中创建新的webview面板?

提示:@vscode /api如何与VS Code扩展中的文件系统交互?

提示:@vscode /api如何将新的选项添加到VS Code扩展的活动栏中?

如果你想清除聊天内容,可以使用快捷方式“/clear”。

在代码清单中,你可以便捷地使用聊天功能。首先高亮选择想要讨论的代码片段,然后在Windows操作系统中按Ctrl+I快捷键,或者在macOS中按Cmd+I快捷键,随后将弹出一个对话框,如图4-11所示。

图4-11 内联聊天功能允许你在代码清单中聊天

GitHub称,内联聊天已经成为一项广受欢迎的功能,因为它使开发者能够在工作流程中直接与Copilot Chat进行沟通。

利用前面提到的快捷方式,开发者可以就代码提出问题,而相关的解释和讨论将会直接显示在聊天面板上,开发者的交互体验更好。

需要注意的是,代码的旁边会有一个橙色闪光的图标。单击这个图标后,就会展开几个实用的选项,它们提供了修复代码、解释代码或重写代码的功能,如图4-12所示。

图4-12 单击橙色闪光的图标即可直接与代码交互

下面我们尝试使用内联聊天功能。你可以使用以下提示来开始对话。

提示:创建一个冒泡排序函数。

这将指导聊天系统根据提示创建一个冒泡排序函数。现在,假设你想要探索是否存在更高效的排序方法。你可以通过选择已生成的冒泡排序函数,然后激活内联聊天功能来提出问题,如图4-13所示。

图4-13 内联聊天功能响应了你的请求,找到了比冒泡排序算法更快的排序算法

聊天系统提出了快速排序(Quick Sort)算法作为替代,并以差异对比模式(diff mode)展示了新旧代码之间的差异。你既可以接受全部新代码,也可以只接受部分代码。

在开发标准的软件项目时,IDE往往会涉及众多文件,每个文件都在应用程序的架构中承担着特定的功能。以一个采用React的Web项目为例,你可能会看到多个用于不同组件的.jsx文件和.js文件,以及用于页面结构的HTML文件和用于样式设计的CSS文件。此外,还有许多常见的配置文件,如.json文件和.env文件。

文件角色的区分为Copilot的工作提供了很大的帮助。Copilot对环境的理解越深入,它的表现就越出色。它会综合考虑当前编辑文件中的所有内容,并提供相应的辅助。至于其他打开的文件,LLM不会全部扫描,而是专注于与当前工作直接相关的部分。此外,Copilot 不会浏览项目中的其余文件(出于对隐私的尊重)。

Copilot可以在CLI中使用。CLI的主要功能有两个——解释命令和提供建议。

为此,你需要先安装GitHub CLI,然后登录GitHub账户。

gh auth login

接下来安装Copilot。

gh extension install github/gh-copilot

也可以升级扩展Copilot。

gh extension upgrade gh-copilot

以下是请求Copilot解释CLI命令的提示。

提示:gh copilot explain xcopy

Copilot的响应如图4-14所示。

以下是让Copilot提供建议的提示。

提示:gh copilot suggest

图4-14 Copilot在CLI中解释了xcopy命令

接下来,Copilot会询问你需要哪一种命令的帮助,如通用shell命令、gh命令或git命令。然后,它会询问你希望该命令执行什么操作。下面是一个示例。

提示:查看和设置系统环境变量的命令有哪些?

图4-15显示了Copilot的响应,其中包括使用命令的建议。你可以复制提示或向Copilot寻求更多帮助,例如解释命令或修改命令。

图4-15 Copilot的响应中包含了使用命令的建议

开发者经常利用第三方工具来丰富应用程序的功能,并从数据中提取更多洞见。以Splunk为例,这是一款广受欢迎的日志挖掘和数据分析工具。它为开发者提供了强大的搜索与报告功能,旨在帮助他们监控应用程序并迅速定位问题。

另一个例子是New Relic,它能确保应用程序顺畅运行。New Relic提供实时的洞察和诊断功能,使开发者能够发现并解决性能问题,从而提升应用程序的运行效率,优化用户体验。

Datadog也是一款关键工具,专注于监控基础设施和应用程序。通过其广泛的集成能力,Datadog使开发者能够从多个来源收集、聚合并展示数据,辅助他们在性能优化和资源管理方面做出明智的决策。

鉴于第三方系统的重要性,GitHub推出了Copilot合作伙伴计划。该计划的特点是不断扩大与流行集成平台的合作,允许所有平台通过扩展进行访问。

DataStax公司作为该计划的早期合作伙伴之一,是Astra DB的开发商。Astra DB是一个专为构建高级AI应用而设计的向量数据库。只需要通过一个扩展,开发者就可以利用Copilot Chat加快数据库的创建过程。例如,Copilot Chat能够根据编程标准为数据库的结构和元数据提供代码建议,使得开发者编写的代码更加整洁、更易于维护。

在Copilot Chat的辅助下,开发者编写的代码将变得更加简洁、规范,同时也更易于维护和理解。

可以使用快捷方式“@datastax”提出问题,以下是一些实用的提示。

提示:告诉我chat_prod数据库的信息。

提示:告诉我数据表的模式。

提示:编写SQL查询以从聊天表中读取数据。

Mary-Brenda Akoda,一位AI研究员,在眼科人工智能领域拥有专利,并且是Copilot的忠实拥趸。她分享了自己使用Copilot的体验:“曾经有一次,我利用Copilot不到1小时就编写出整个模型开发流程的代码。这通常是一项需要投入更多时间和精力才能完成的任务。有趣的是,当我不得不在一个不支持Copilot的在线IDE中工作时,我才真正意识到没有Copilot,开发过程会是多么枯燥和缓慢。”

Copilot迅速崛起,成为编程领域不可或缺的AI工具,显著提升了开发者的工作效率和代码质量。本章深入探讨了Copilot的核心功能:从智能建议复杂代码块的能力到可靠的安全特性,再到令人印象深刻的性能表现,以及Copilot在VS Code中的便捷使用体验。Copilot还引入了聊天和内联聊天功能,允许开发者在编程过程中与AI进行互动交流。

尽管Copilot仍须人工指导,但它无疑标志着AI驱动编程新时代的到来。

[7]原英文图书从编写到出版已有一段时间,其间,像Copilot这样的工具可能已经进行过多次更新,其版本和费用政策也可能随之发生变化。作者在书中提供的版本详情和费用信息可能与当前最新的实际情况不完全一致。此处保留了作者提供的信息。——译者注

目录
加书签
详情
加书架
打赏
投票
自动滚动
设置
夜间

评论 0条

加载中...

设置

阅读主题
正文字体
字体大小
18
页面宽度
滚动速度
5
语音朗读
翻页模式
💎

余额不足

您的水晶或能量余额不足,请充值后再试。

立即前往充值

🎫 投月票

1 张月票 = 1.00 水晶。感谢支持!

🎁 打赏作品

打赏将直接扣除水晶余额,鼓励作者创作。