eBay在开发过程中应用生成式AI的经验总结
eBay近期分享了在开发过程中应用生成式AI的经验,揭示了提升开发者生产力的三大关键途径:集成商业产品、微调现有大语言模型(LLMs)以及利用内部知识网络。
1. 集成商业AI解决方案
eBay通过引入GitHub Copilot等商业AI解决方案,显著提升了开发者的生产力。在一项精心设计的A/B测试中,使用Copilot的开发者表现出更高的代码接受率(通过Copilot遥测数据报告为27%),生成的代码准确率达到60%。此外,GitHub Copilot的引入还减少了约17%的PR(Pull Request)和约12%的变更前置时间。然而,由于提示大小的限制,eBay需要针对其庞大的代码库定制解决方案。
2. 微调开源LLMs
eBay通过对开源LLMs(如Code Llama 13B)进行后训练和微调,开辟了新的途径来简化劳动密集型任务并减少代码重复。eBay开发了定制模型eBayCoder,该模型基于组织的专有数据(代码库和文档)进行训练,展示了LLM定制在解决eBay生态系统独特挑战中的潜力。这种方法在解决某些耗时任务(如更新库以修复漏洞)方面表现良好。
3. 利用内部知识网络
鉴于eBay庞大且多样化的代码库,传统的商业LLM可能只访问与特定查询直接相关的数据和代码,通常包括附近文件、当前存储库和少量依赖库。然而,这些模型可能会忽略其他团队管理的替代内部服务或非依赖库,即使它们提供与当前开发相同的功能。这往往导致显著的代码冗余。相比之下,经过微调的LLM可以访问更广泛的上下文,从而减少代码重复。
eBay还认识到简化访问内部知识的重要性,因此实施了一个基于GPT的内部查询系统。该系统利用检索增强生成(RAG)技术,与现有文档源无缝集成,为开发者提供及时且相关的见解。尽管响应质量偶尔存在问题,但通过基于人类反馈的强化学习(RLHF)进行持续优化,eBay正在逐步改进这一GPT驱动的查询系统。
eBay在技术进步中的探索证明了AI集成在推动开发者和组织取得实质性成果方面的潜力。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。