拨开迷雾:我们关于生成式AI与开发者生产力的三点经验

拨开迷雾:我们关于生成式AI与开发者生产力的三点经验

💡 原文英文,约1500词,阅读约需6分钟。
📝

内容提要

eBay通过使用商业产品(如GitHub Copilot)、微调大型语言模型(LLM)和建立内部知识库来提升开发者的生产力。Copilot提高了开发者的感知生产力和代码接受率,但存在局限性。微调LLM能够更有效地处理公司内部数据,减少代码重复。内部GPT系统帮助开发者快速获取所需信息,提升工作效率。生成式AI的应用正在改变软件开发方式。

🔎

延伸解读

三条路径并非互斥,可组合使用

eBay将生成式AI提升开发者生产力分为三条路径:使用商业产品(如GitHub Copilot)、微调开源大模型(如Code Llama)、构建内部知识库(内部GPT)。文章强调,这三条路径并非“好、更好、最好”的排序,而是可以单独或任意组合使用,各自有优缺点。企业可根据自身需求灵活选择,不必拘泥于单一方案。

Copilot的成效与局限:数据说话

在eBay的A/B测试中,使用Copilot的开发者感知生产力提升,代码接受率达27%,生成文档准确率70%,生成代码准确率60%。此外,拉取请求创建到合并时间减少17%,变更前置时间减少12%,而代码质量(Sonar测量)保持不变。但Copilot存在提示大小限制,无法处理需要整个代码库知识的任务,这对大型企业如eBay构成挑战。

微调LLM:解决内部数据与代码重复问题

eBay基于Code Llama 13B微调出eBayCoder,利用内部代码库和文档训练。微调后的模型能更高效地处理软件升级等维护任务,并减少代码重复。因为商业LLM通常只能访问当前仓库和少量依赖库,可能不知道其他团队已实现的相同功能,而微调LLM可以访问更广泛的内部上下文,从而避免重复造轮子。

内部知识库:用RAG提升信息获取效率

eBay构建了基于检索增强生成(RAG)的内部GPT,从GitHub Markdown、Google Docs、Jira、Slack和Wiki等来源提取数据,通过向量相似度匹配回答开发者问题。该系统能快速提供准确信息,减少查找答案所需的时间和会议。早期反馈积极,但有时会给出无意义答案,eBay通过用户反馈和RLHF持续改进。

❓

Q&A

eBay如何利用生成式AI提升开发者的生产力?

eBay通过使用商业产品、微调大型语言模型和建立内部知识库来提升开发者的生产力。

GitHub Copilot在eBay的使用效果如何?

使用GitHub Copilot的开发者感知生产力提高,代码接受率增加27%,但存在处理数据量的局限性。

微调大型语言模型对开发者的帮助是什么?

微调的LLM能够更有效地处理公司内部数据,减少代码重复,提高开发效率。

eBay内部知识库的作用是什么?

内部知识库帮助开发者快速获取所需信息,减少调查时间,提高工作效率。

生成式AI如何改变软件开发方式?

生成式AI的应用正在改变软件开发方式,带来累积效益,提升开发者的生产力。

eBay在使用生成式AI时遇到了哪些挑战?

eBay面临的挑战包括Copilot的提示大小限制和内部GPT有时提供无效答案的问题。

🏷️

标签

➡️

继续阅读