最近,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 翻译,未经许可禁止转载。
评论