GitHub是一个在线开发者平台,允许用户创建、存储、管理和共享他们的代码。在ChatGPT或Copilot广泛向公众开放之前,GitHub就已经走上了生成式人工智能(genA)之旅。
通过与微软的早期合作,两年半前,开发平台采用了Copilot,并对其进行了调整,创建了自己的版本——GitHub Copilot。
基于genai的会话聊天界面现在被用作GitHub用户和内部员工协助代码开发的工具,以及自动帮助台工具。
有些人认为,随着genAI的不断发展,可以根据用户的请求生成更多的代码,开发人员将不再需要。正如英伟达首席执行官黄仁勋上周所说,因为人工智能,“现在世界上每个人都是程序员。”这就是人工智能的奇迹。”
比起软件开发,黄认为人类应该专注于更重要的技能,如生物学、教育、制造业或农业,编程语言现在是人类的语言。

凯尔·戴格尔(Kyle Daigle)在GitHub工作了11年,大约一年前接任首席运营官。他一直是genAI开发战略的一部分,该战略的重点是发现这项技术如何使其大约3000名员工(包括开发人员和非开发人员)以及外部开发人员社区的用户受益。他说,到目前为止,genAI使开发人员的生产力提高了55%。
Daigle在接受《Computerworld》采访时谈到了genAI创造效率并帮助开发者和非开发者的各种方式。以下是采访中的专家:
你什么时候启用副驾驶的?为什么?它使GitHub能够做什么?“到目前为止,我们已经与副驾驶进行了大约两年半的旅程。通过与微软的合作,我们获得了早期使用OpenAI模型的机会,于是我们开始开发Copilot。与现在的许多公司类似,主要问题是我们如何充分利用这些法学硕士?我们花了一点时间才弄清楚副驾驶的秘密武器。最初,当我们使用模型时,我们认为我们将构建记录代码的工具。你给它你的存储库,它就会吐出代码做了什么。
“但通过实验,‘幽灵文本’的想法——类似于Copilot所做的那种完成模型,它向你展示单个信息的完整内容,而不是单行——是一种巨大的突破,它能够最大限度地利用一个强大的工具。”所以,快进,现在我们有超过一百万GitHub用户每天使用Copilot。我们的统计数据显示,它使他们的工作效率提高了55%,并且编写了大约60%的代码;我们希望随着时间的推移,在许多语言中,这一比例能达到80%左右。
“我认为最重要的是,这让开发者感到更有成就感,这也是我们与内部团队经常讨论的问题。它允许他们做更多的创造性工作,而不是辛苦的工作。而不是寻找基因来做创造性的工作,我们允许人类作为开发者坐在飞行员的座位上。
“所以,我们在这段时间里取得了很大的成功,让世界上的每个开发人员都允许GitHub帮助他们编写代码。
“在内部,我们一直专注于吸取Copilot的经验教训,并将其应用到我们使用人工智能工具的其他地方,包括软件开发用例之外的Copilot。当然,当其他专用工具进入市场时,它们会帮助我们所有人提高生产力。”
协助代码开发似乎是您的genAI平台解决的最早的唾手可得的成果之一。你用它来辅助代码制作有多久了?它对哪些语言有帮助?“在我们早期的实验中,我们用Python、Javascript等语言做了很多工作。GitHub主要是一家Ruby公司,但我们也用Go、C和FirGit编写代码。所以我们扩展了我们的用例,用不同的语言使用它。但总的来说,Copilot能够在公共领域的绝大多数语言上工作。
“如果你有一种专有语言,它可以模仿该语言,因为它可以查看存储库中的代码,并且可以很好地找出它需要使用什么来提供下一行代码或下一个方法。
“所以,我们已经从几个测试语言发展到基本上所有现代编程语言,这些语言在开源和互联网中都有足够的背景。”
Copilot在完成代码方面做得怎么样?“就代码完成率而言,我们所说的是在某些情况下,当使用Copilot编写代码时,它可能会完成一行代码,但也可能会完成整个方法;它可能会完成整个文件或类,具体取决于您使用的语言。
“有了像Copilot Chat这样的东西,你可以和Copilot聊天,说‘这就是我想解决的问题’,它可能会为你生成完整的文件。然后你可以说,‘我不想让它是蓝色的,我想让它是红色的。或者我想让它使用这个或那个API' -那些调整。
“当我们谈论生成的代码量时,我们谈论的是Copilot提供的代码量以及用户长期保留的代码量。显然,当你得到一个完成时,你可能会想,“哦,这不对。”或者如果你是一名开发人员,你可能会让它写一堆代码然后意识到我现在可以重构它;这并不完全正确。
“我们看到的是,Copilot生成的绝大多数代码都被保留了下来。然后,在你编写代码,提交PR,运行持续集成之后,接下来的步骤也会更快。所以,对由Copilot和开发人员编写的代码进行代码审查往往会更快,因为代码最终会更正确。持续集成在第一次构建时往往是绿色的,而不是红色的,因为代码往往更正确。因此,当你能够将Copilot作为开发人员工作流程的一部分时,下游也会产生许多有趣的影响。”
在使用副驾驶时,你发现任何问题了吗?“我们提供给你的代码也在模仿它在你的存储库中看到的代码。所以在某些情况下,如果它有一个较旧的代码库,它会考虑到这一点,可能会做一个不再现代的实践,比如变量的大小写,或者如果你有一个库,它会调用因为它试图模仿你现有的项目以及底层模型。所以对一些开发者来说,他们的做法是使用Copilot聊天系统说,‘嘿,我们现在正在积极升级这个系统,所以我想使用新方法。’这是我们度过难关的一种方式。
“但同时,我们也在利用我们在Copilot上拥有的很多技术,以及我们在其基础上的人工智能模型,并找到其他地方,我们可以通过修复漏洞来帮助开发人员保持安全。因此,我们在去年11月的GitHub Universe大会上分享了一个名为Security Autofix的东西,它使用了类似的底层人工智能技术。所以,当你告诉它你意识到一个弱点时……在代码库中,我们不仅会告诉你有一个需要修复的漏洞;我们也要在这里做修复。你所要做的就是说,‘是的,我可以走了。’
“所以,副驾驶仍然坐在‘副驾驶座位上’。你仍然需要遵循最佳做法。无论如何,您仍然需要进行安全扫描和秘密扫描,以及所有对于良好的软件开发实践来说都是正确的事情。但我们正在努力让人工智能贯穿于GitHub软件开发的整个生命周期来帮助你。所以当你编写代码时,它不仅仅存在于你的IDE中。”
科技行业的一些人担心,人工智能自动生成代码的能力可能会淘汰开发人员。你要吃什么?“我认为在整个现代历史中,有很多时候,当一项技术进入世界,比如印刷机,每个人都在想,等一下,我的工作将何去何从?”但真正发生的情况是,许多原本不再经济的工作和机会突然变得经济起来,因为你不再让开发者花费60%到70%的时间来解决那些已经解决过几十次、数百次甚至数千次的问题。
“所以,现实是……GitHub Copilot让开发人员的工作效率提高了55%。有些客户的反应是,“这是否意味着我只收回了55%的开发时间?”现实情况是,你的开发人员所获得的是解决更困难问题的能力,而不是他们之前必须自己完成所有死记硬背的工作。
“所以在GitHub,我们仍在招聘开发人员。我们现在正在招聘。实际上,我们发现,我们把更多的时间放在了前期的讨论上,或者架构和我们正在与客户解决的问题上。因为随着编码变得越来越快,你把时间花在创造性地解决问题上变得越来越重要,而不是像我们在职业生涯中所做的那样死记硬背。
“我对人工智能开始给我们带来的机会感到更兴奋,因为我们能够编写比以前更多的代码,所以我们可以做得比以前更多。因此,我们可以解决以前不可能解决的更大的问题,比如重新编写你的应用程序。许多客户一再推迟,因为你怎么能负担得起。但是,如果它便宜50%,也许你可以转向新技术,你可以用新技术更快地解决下一批问题。
“我认为我们还有很多工作要做。根据世界上每个分析师的每一个衡量标准,世界上没有足够的开发人员。所以,在我们担心开发商没有足够的工作可做之前,我们还有很长的路要走。”
非开发团队从genAI中看到了什么好处?“副驾驶被低估的一个主要方面是学习和发展的能力,或者在工作中提高技能。你有一个新角色,新公司,新语言的人,他可以进来,你可以问他问题,你可以和他一起写代码,并通过Copilot获得即时反馈。
“不只是新人。在很多情况下,我们拥有的最资深的开发者会被安排在那些对业务非常重要的旧项目中,但却只是被放在后面壁橱的架子上维持着一切的运行。当他们需要进入这些项目并进行更新时,L&D方面的作用非常大,因为他们可以进去说,‘我懂Java,但我不懂Scala。或者我懂Java,但不懂。net之类的。你能告诉我下一步是什么吗?
“同样,我们也将Copilot的重点放在用户体验上,即你只要开始打字就可以了。没有真正的实现;不需要学习,也不需要操作按钮。
“所以,我吸取了这两个教训,我们开始在内部寻找其他我们认为有困难的地方,以及我们可以在不启用人工智能的情况下实施人工智能的地方。这才是真正的秘密。如果你必须教人们如何使用它,它并不比你所能做出的任何其他技术选择好多少。
那么,你的其他重大成就是什么?“我们在GitHub取得的第一个重大胜利之一,我在其他地方也看到过,就是将人工智能引入it环境。我们有3000多名Hubbers (GitHub员工),他们在旧系统中输入了成百上千的(帮助台)票,以获得有关笔记本电脑无法工作的原因、如何访问VPN等方面的帮助。
“GitHub基本上是在Slack中运行的。我们是一家远程优先的公司。我们的员工遍布世界各地;我们不是一家返工公司。我们所做的是说,如果我们都在Slack上,为什么不让Slack上的IT互动也由人工智能驱动呢?
“因此,我们不需要进入门户网站提交申请,而是有一个名为IT Help Desk的频道,在这个频道中有一个我们称之为OctoBot的机器人。当你问一个问题时,我们合作的一家名为MoveWorks的供应商…看到这个问题,章鱼机器人就会过来说,‘是的,我知道你需要做什么。这是你接下来的步骤。”在很多情况下,我们甚至可以自动化工作流程。“我们会在其他系统中为你设置这个。”
“也许这是每个开发者都想要的,这是你的笔记本电脑升级的日子,你已经等了两年了。点击这个机器人,我们会把你的新笔记本电脑寄给你,因为我们没有创建一个新的系统,也不需要教任何人关于一个新的门户,我们已经看到了巨大的进步。现在,章鱼机器人一开始就解决了30%的问题。我们每天节省了每个IT员工的时间,我们可以将这些时间再投资于其他人工智能计划。
本文来自作者[admin]投稿,不代表kvoge号立场,如若转载,请注明出处:https://wap.kvoge.cn/keji/202507-1717.html
评论列表(4条)
我是kvoge号的签约作者“admin”!
希望本篇文章《问答:GitHub首席运营官谈genAI如何提高开发效率(并可以自动化帮助台)》能对你有所帮助!
本站[kvoge号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育
本文概览:GitHub是一个在线开发者平台,允许用户创建、存储、管理和共享他们的代码。在ChatGPT或Copilot广泛向公众开放之前,GitHub就已经走上了生成...