写点什么

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:447907

评论

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

2025年3月文章一览

codists

Python

Mac电脑必备文件管理器推荐,MacBook文件资源管理软件哪家强?

阿拉灯神丁

MacBook CleanMyMac Mac软件 文件管理软件 Path Finder

轻帆云智能ITSM应用最佳实践,助力IT共享服务中心高效运营

云智慧AIOps社区

数字货币交易所开发中的常见问题与解决方案

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

SpringAI用嵌入模型操作向量数据库!

王磊

OASA 厂商三未信安完成与 Anolis OS 及其衍生版适配,密码卡性能与稳定性获验证

OpenAnolis小助手

操作系统 龙蜥社区 龙蜥生态

征程 6 系统 power 状态机介绍

地平线开发者

自动驾驶 算法工具链 地平线征程6 底层软件

通义灵码助力技术求职:如何成为笔试面试冲刺的“超级助手”

阿里巴巴云原生

阿里云 云原生

通义灵码助力技术求职:如何成为笔试面试冲刺的“超级助手”

阿里云云效

阿里云 云原生

MindSpeed细粒度DualPipe通信掩盖,实现AllToAll和EP通信双掩盖,内存优化40%

科技热闻

非凸科技走进北大汇丰,揭秘数智交易前沿技术与人才密码

非凸科技

ShareSDK全面适配鸿蒙NEXT

MobTech袤博科技

sharesdk mobtech 鸿蒙 os

AI思维导图生成器哪个好?5个导图软件大盘点!

职场工具箱

思维导图 办公软件 AI软件 AIGC 思维导图软件

携手龙蜥,Alinux 最佳 AI 镜像服务商公布,堡塔、飞致云等 6 家企业实力登榜

OpenAnolis小助手

AI 操作系统 龙蜥社区 Alibaba Cloud Linux

【征程 6】工具链 VP 示例为什么能运行

地平线开发者

自动驾驶 算法工具链 地平线征程6 底层软件

从Curl到文档发布:Apipost让接口调试与文档协同更优雅

数据追梦人

CAD中绘制带宽度属性的多段线方法

极客天地

SysOM AI 可观测体系:零侵入、低开销,让系统透明化

OpenAnolis小助手

AI 运维 操作系统 龙蜥社区 AI可观测

中小企业数字化转型痛点与解决方案

天津汇柏科技有限公司

数字化转型

电机控制的数字化升级:基于DSP和FPGA的仿真与实现

DevOps和数字孪生

1688代采系统到底牛在哪?揭秘核心功能和技术硬骨头

代码忍者

如何编写更好的单元测试

俞凡

最佳实践 软件测试

探讨React Native与小程序结合的技术架构

xuyinyin

「摩根士丹利」最新人形机器人研报:头部人形机器人公司梳理和趋势分析(附报告)

机器人头条

科技 大模型 人形机器人 具身智能

国产化替代是个伪命题?被误解多年的开源软件,如今怎么样了

禅道项目管理

信创 企业安全 开源软件 项目管理软件 国产化替代

布鲁可第3届BFC创作赛第2季度「破茧赛季」正式启幕,赛事体系迎来新升级

财见

《华为云确定性运维专刊》第六期正式发布!

华为云开发者联盟

运维 华为云

天润云2024财报:AI收入增长72.5%,营收毛利再创新高!

天润融通

BSO收购InterCloud,强化高性能云连接解决方案

财见

SITA收购CCM,通过将旅游技术与高端设计相结合

财见

什么是DNS劫持?DNS劫持如何预防和应对?(国科云)

国科云

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