QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

GitHub 基于大语言模型构建 Copilot 的经验和教训

作者:Matt Saunders

  • 2023-10-10
    北京
  • 本文字数:1375 字

    阅读完需:约 5 分钟

大小:748.24K时长:04:15
GitHub基于大语言模型构建Copilot的经验和教训

GitHub在一篇文章中分享了他们在构建和扩展GitHub Copilot——一个使用大语言模型的企业应用——过程中所学到的经验教训。


在 GitHub 的一篇博文中,GitHub 的 AI 产品负责人Shuyin Zhao描述了他们如何在三年多的时间里历经三个阶段——“Find it”、“Nail it”和“Scale it”——成功推出了 GitHub Copilot。


在“Find it”阶段,他们专注于找到 AI 可以有效解决的问题,通过一种足够专注的方式快速推向市场,并且足以产生影响。


这包括确定到底是为了谁而解决问题——帮助开发人员更快地编写代码,减少上下文切换。此外,他们只关注SDLC的一部分:IDE中的编码功能,并结合当下的 LLM 的能力。这样他们就可以专注于让工具提供代码建议,而不是生成全部代码。他们还致力于确保他们所做的是对现有工具进行增强,不要求开发人员改变已有的工作流程。


“在设计产品时,我们不仅要考虑输出需要人类进行评估的模型,也要考虑正在学习如何与 AI 互动的人类。”


——Idan Gazit,GitHub Next 高级研发总监


在“Nail it”阶段,他们基于从A/B测试中获得的真实用户反馈进行迭代式产品开发。他们进行快速迭代、试错和学习。在使用 Copilot 的 Web 接口进行了简短的实验后,他们将重点转向了 IDE,以减少在编辑器和 Web 浏览器之间切换,并让 AI 在后台运行。在进一步的迭代中,通过观察开发人员在编码时打开的多个 IDE 选项卡,GitHub Copilot 可以同时处理多个文件。


随着生成式 AI 的迅速发展,他们开始重新审视过去所做出的决策,技术的进步和用户对它的熟悉程度有时会让过去的决策变得过时。于是,提供交互式聊天的想法开始活跃起来,他们需要基于沉没成本谬论改变决策,例如,当大语言模型的进步允许一个模型处理多种语言时,就需要改变为每种语言构建 AI 模型的想法。


最后,在“Scale it”阶段,他们致力于确保 AI 模型结果的一致性、管理用户反馈,并定义了关键性能指标,以实现应用程序的普遍可用性(GA)。他们还考虑了安全性和 AI 责任问题,使用过滤器来避免为用户建议不安全或具有冒犯性的代码。


改进质量和可靠性方面的工作包括缓解大语言模型的幻觉,即答案可能是不可预测的,并且每次查询都有所不同。解决这个问题的策略包括修改发送给大语言模型的参数,以减少响应的随机性,并缓存频繁的响应以减少变化和提高性能。


GitHub 使用等待列表来管理技术预览版的早期用户。这意味着他们可以获得来自一小群早期采用者的评论和反馈。对真实用户反馈的深入分析使得 GitHub 团队能够识别出有问题的更新,并改进产品的关键性能指标,例如开发人员保留了多少由 Copilot 生成的代码。


最后,他们确保开发人员生成的代码是安全的,并通过过滤器来拒绝可能引入安全问题(如 SQL 注入)的代码建议。社区也提出了一些问题,例如 Copilot 的代码建议与公开的代码相重叠可能会产生许可问题或其他影响。他们为此提供了一个代码参考工具,帮助开发人员做出明智的选择。


在市场策略方面,他们向一些有影响力的社区成员展示了技术预览版,并且面向的是个人用户而不是企业。这有助于在正式发布时获得广泛的支持,从而促使企业采用它。


关键在于展示专注于特定问题的重要性、整合实验结果和用户反馈,以及在应用扩展时优先考虑用户需求。


由于生成式 AI 的采用仍处于早起阶段,GitHub 也在密切关注市场对生成式 AI 工具的需求。感兴趣的读者可在 GitHub 的博客上阅读全文


原文链接

https://www.infoq.com/news/2023/10/github-copilot-lessons/

2023-10-10 09:447678

评论

发布
暂无评论
发现更多内容

面经分享:字节跳动Android开发大佬的百度,美团,快手等大厂Offer收割之旅

android 程序员 移动开发

阿里面试官:Android面试这些原理都给我讲明白了,最低都是20k起步!

android 程序员 移动开发

金九银十,你需要的不仅仅只是大厂面试题,记得把每一次面试当做经验积累!

android 程序员 移动开发

阿里面试官:说说多线程并发问题

android 程序员 移动开发

面试了15位来自985211高校的2020届研究生之后,思考良久,写下此文。 掘金技术征文

android 程序员 移动开发

这里有一份史上最详细仿QQ未读消息拖拽粘性效果的实现,快来收藏!

android 程序员 移动开发

算法入门-归并排序

ES_her0

11月日更

金九银十跳槽季余温过后,记录以往走过的面试经历

android 程序员 移动开发

07 K8S 之命令行应用编排

穿过生命散发芬芳

k8s 11月日更

分享一个免费的思维导图软件GitMind

IT蜗壳-Tango

11月日更

面挂了腾讯、阿里巴巴、美团Android客户端,我有一份避坑指南分享给你

android 程序员 移动开发

面试官又双叒叕“突袭”:如何优化一个网络请求

android 程序员 移动开发

那些三十五岁失业的安卓程序员,后来都干什么去了?

android 程序员 移动开发

架构实战营模块毕业总结

seawolflin

架构实战营

TCP/IP中的通信,三次握手是如何工作的

卢卡多多

三次握手 11月日更

金九银十面经分享,1-3年的Android开发工程师看过来(已拿offer)(1)

android 程序员 移动开发

链表问题不会做?LC狂刷50道链表算法总结出这9道典型题,套路很简单(二

android 程序员 移动开发

阿里、华为、字节跳动,大厂面试算法题

android 程序员 移动开发

阿里面试难吗,应该如何应对?

android 程序员 移动开发

面试半年,上个月成功拿到字节跳动offer,全靠我啃烂了这份2020最新面试题!

android 程序员 移动开发

这是你从未见过的组件库----手写一款女朋友欲罢不能的Android-手绘风格组件

android 程序员 移动开发

面试官教你做人:字节跳动在招2000人,招聘要求让人窒息…

android 程序员 移动开发

那匆匆2014年,明明想静静

android 程序员 移动开发

阿里技术分享:APP启动提速方法总结

android 程序员 移动开发

遭遇技术瓶颈?分享Android 资深架构师的成长之路(技术详细介绍)

android 程序员 移动开发

金三银四Android面试的一些感受,附加面试题

android 程序员 移动开发

郭霖说Jetpack新成员:App-Startup一篇就懂

android 程序员 移动开发

都2020年了,你竟然还在搞Android开发?我劝你早点认清现实吧

android 程序员 移动开发

金九银十面经分享,1-3年的Android开发工程师看过来(已拿offer)

android 程序员 移动开发

阿里巴巴:-给你一个Demo-你如何快速定位ANR

android 程序员 移动开发

迷茫的程序员

android 程序员 移动开发

GitHub基于大语言模型构建Copilot的经验和教训_生成式 AI_InfoQ精选文章