AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

eBay 在软件开发生产率方面使用生成式 AI 的经验

Claudio Masolo

  • 2024-04-05
    北京
  • 本文字数:1019 字

    阅读完需:约 3 分钟

eBay 在软件开发生产率方面使用生成式AI的经验

最近,eBay 披露了在开发过程中使用生成式 AI 的经验教训。eBay 在通过 AI 提高开发人员的工作效率方面发现了三个关键途径,即集成商业产品、微调现有的大语言模型(Large Language Models,LLMs) 以及利用内部的知识网络。


采用 GitHub Copilot 等商业 AI 解决方案为 eBay 的开发人员社区带来了可喜的成果。在一项经过精心设计的 A/B 测试中,使用 Copilot 的开发人员展现出了更高的工作效率,代码接受率(通过 Copilot 遥测报告的代码接受率为 27%)和效率指标更高:生成代码的准确率为 60%。Github Copilot 的引入还降低了 PR(大约 17%),减少了变更的准备时间(大约 12%)。但是,像提示(prompt)大小限制等问题凸显了在 eBay 的庞大代码库背景下定制解决方案的必要性。


通过对 Code Llama(尤其是 Code Lllama 13B)等开源 LLM 进行后期培训和微调,eBay 开辟了一条新的途径,以简化劳动密集型任务和减少代码重复。eBayCoder 是一个基于组织专有数据(代码库和文档)训练而成的定制模型,它的开发成功证明了 LLM 定制在解决 eBay 生态系统特有的挑战方面的潜力。这种方式很好地解决了一些以往需要花费大量时间的任务,比如更新库以修复安全漏洞。


鉴于 eBay 代码库的广泛性和多样性,典型的商业大语言模型有可能只能访问与特性查询直接相关的数据和代码。通常情况下,这包括紧密相关的文件、当前的仓库和少量的依赖库。但是,这类模型可能会忽略其他团队管理的内部服务或非依赖库,即便它们提供了与当前开发完全一致的功能。因此,这往往会导致大量的代码冗余。与之不同,经过专门调整的 LLM 可以访问更广泛的环境,从而减少代码重复情况的出现。


eBay 认识到了简化内部知识访问的重要性,因此实现了内部 GPT 驱动的查询系统。借助检索增强生成(Retrieval Augmented Generation,RAG) 技术,该系统能够与现有的文档源无缝集成,使开发人员获得及时且相关性更强的见解。尽管在响应质量方面偶尔还会有小问题,但是通过从人类反馈中强化学习(Reinforcement Learning from Human Feedback,RLHF),随着时间的推移,eBay 能够使 GPT 驱动的查询变得更好。


在技术不断进步的动态环境中,eBay 的发展历程证明了 AI 集成的引入能够为开发人员和组织带来卓有成效的成果。


查看英文原文:

eBay’s Lessons Learned about Generative AI in Software Development Productivity (https://www.infoq.com/news/2024/03/ebay-generative-ai-development/)


声明:本文为 InfoQ 翻译,未经许可禁止转载。

2024-04-05 08:006766

评论

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

Flowable 定时器的各种玩法

江南一点雨

Java spring springboot flowable JavaEE

问:你是如何进行react状态管理方案选择的?

beifeng1996

React

React源码分析(一)Fiber

goClient1992

React

Spring 5(四)JdbcTemplate

浅辄

Java Spring5 11月月更

深入react源码看setState究竟做了什么?

flyzz177

React

经常会采坑的javascript原型应试题

loveX001

JavaScript

20道前端高频面试题(附答案)

loveX001

JavaScript

CSS知识框架(一)

默默的成长

CSS 前端 11月月更

Python进阶(三十六)Web框架Django项目搭建全过程

No Silver Bullet

Python django 11月月更

Spring 5(三)AOP

浅辄

Java Spring5 11月月更

Ubuntu部署和体验Nexus3

程序员欣宸

Docker 11月月更 nexus3

谈谈前端性能优化-面试版

loveX001

JavaScript

Python进阶(三十四)Python3多线程解读

No Silver Bullet

多线程 Python3 11月月更

说说你对Vue的keep-alive的理解

bb_xiaxia1998

Vue

中高级前端开发需要掌握的vue知识点

bb_xiaxia1998

Vue

说说Vue响应式系统中的Watcher和Dep的关系-面试进阶

bb_xiaxia1998

Vue

一份vue面试考点清单

bb_xiaxia1998

Vue

Map接口的子类HashMap和LinkedHashMap

共饮一杯无

Java 11月月更 Map集合

React-Hooks源码深度解读

goClient1992

React

【设计模式】原型模式:猴头,我叫你一声你敢答应吗?

游坦之

11月月更

Git学习笔记

lxmoe

git 学习笔记 常用命令 11月月更

HTML知识框架 二

默默的成长

html 前端 11月月更

高频react面试题自检

beifeng1996

React

看透react源码之感受react的进化

goClient1992

React

问:React的useState和setState到底是同步还是异步呢?

beifeng1996

React

图学习初探Paddle Graph Learning 构建属于自己的图【系列三】

汀丶人工智能

图神经网络 11月月更 随机游走算法 异质图

【C语言】float 关键字

謓泽

11月月更

Python进阶(三十五)Fiddler命令行和HTTP断点调试

No Silver Bullet

Python fiddler 11月月更

前端高频面试题合集(中高级必备)

loveX001

JavaScript

Map接口概述和基本使用

共饮一杯无

Java map 11月月更

一天梳理完react面试题

beifeng1996

React

eBay 在软件开发生产率方面使用生成式AI的经验_AI&大模型_InfoQ精选文章