2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

评论

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

AngularJS进阶(三十四)Angular数据更新不及时问题探讨

No Silver Bullet

angular 数据更新 12月月更

开往春天的自动驾驶,从特斯拉和毫末智行的AI技术探索说起

脑极体

鹅厂28K程序员,不会微服务,一周就被优化了?

小小怪下士

Java 程序员 面试 微服务

IT机构哪家Java培训比较好

小谷哥

前端培训学习后程序员的就业前景怎么样?

小谷哥

全面上新!阿里2023版(Java岗)面试突击手册,Github已标星37K

Java永远的神

程序员 架构 程序人生 后端 java面试

随机方法性能差异

FunTester

【精彩剧透】PyCon China 2022 邀您共赴技术Party!

PyChina

Python 开源 开发者 技术日

已帮助数万程序员找到工作的阿里巴巴面试参考指南到底有什么魅力?

Java全栈架构师

程序员 程序人生 后端 java面试 八股文

数据库日常实操优质文章分享(含Oracle、MySQL等) | 11月刊

墨天轮

MySQL 数据库 oracle 性能优化 SQL语句

ZBC登录iZUMi Finance双挖池APY高达189%,极致通缩的典范

股市老人

读书破万“卷”,《软件研发效能度量规范》的先进认知与开源实现

思码逸研发效能

研发效能 效能度量

KCL v0.4.4 发布!自定义 YAML Manifests 输出以及 Python SDK!

Peefy

编程语言 Configuration Kubernetes Serverless #DevOps

南京哪个java培训机构好?

小谷哥

大数据培训前景怎样

小谷哥

ClickHouse在自助行为分析场景的实践应用

转转技术团队

Clickhouse MPP 大数据分析 OLAP 场景实践

用一张图说一说 ChatGPT 内部技术工作流程

非喵鱼

Java 人工智能 AI 12 月 PK 榜 ChatGPT

已经看过这本书的“眼替”,带你探索广告投放的秘密!“照着操作,果然就能有效果!”

图灵社区

流量

Redis缓存雪崩、击穿、穿透、双写一致性、并发竞争、热点key重建优化、BigKey的优化 等解决方案

C++后台开发

redis 中间件 后端开发 C++开发 redis缓存

大数据培训出来后就业好吗?

小谷哥

StarRocks技术内幕 | 打造一款强大成熟的数据库有多难?

StarRocks

数据库·

WorkPlus SE专业版:政企值得托付即时通讯移动办公平台

BeeWorks

【异常】window 10 安装node.js时遇到2502 2503错误解决方法

No8g攻城狮

nodejs Node node,js

美团四面:如何保障 MySQL 和 Redis 的数据一致性?

Java永远的神

Java MySQL 数据库 redis 后端

泰山众筹NFT版系统开发合约部署

薇電13242772558

智能合约

用友降运维成本实践:OceanBase替换MySQL,实现高可用

OceanBase 数据库

数据库 oceanbase

极客时间运维进阶训练营第七周作业

好吃不贵

揭秘倚天实例背后的硬核实力

阿里技术

云计算 云原生

企业即时通讯软件哪个比较好用?

BeeWorks

2022年双碳背景下汽车行业发展洞察

易观分析

汽车 双碳

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