Leçons apprises par eBay sur l’IA générative dans la productivité du développement de logiciels
eBay a récemment divulgué les enseignements tirés de l’application de l’IA générative dans le processus de développement. Les efforts d’eBay en matière d’IA ont découvert trois voies essentielles vers l’amélioration de la productivité des développeurs : l’intégration d’offres commerciales, l’ajustement des grands modèles linguistiques (LLM) existants et l’exploitation d’un réseau de connaissances interne.
L’adoption de solutions commerciales d’IA telles que GitHub Copilot a donné des résultats prometteurs pour la communauté des développeurs d’eBay. Dans un test A/B méticuleusement conçu, les développeurs utilisant Copilot ont démontré une productivité accrue, marquée par une augmentation notable des taux d’acceptation du code (taux d’acceptation du code de 27 % signalé via la télémétrie Copilot) et des mesures d’efficacité : 60 % de précision pour le code généré. L’introduction de Github Copilot permet également une diminution des PR (environ 17 %) et une diminution (environ 12 %) du Lead time for Change. Cependant, des limitations telles que les contraintes de taille des invites soulignent la nécessité de solutions sur mesure dans le contexte de la vaste base de code d’eBay.
En post-formation et en affinant les LLM open source comme Code Llama, et en particulier Code Lllama 13B, eBay a dévoilé de nouvelles voies pour rationaliser les tâches à forte intensité de main-d’œuvre et atténuer la duplication de code. Le développement d’eBayCoder, un modèle sur mesure formé sur les données propriétaires de l’organisation (base de code et documentation), met en valeur le potentiel de personnalisation LLM pour relever des défis nuancés propres à l’écosystème d’eBay. Cette approche a bien fonctionné pour certaines tâches qui prenaient auparavant beaucoup de temps, comme la mise à jour des bibliothèques pour corriger une vulnérabilité.
Compte tenu de la base de code étendue et diversifiée d’eBay, un modèle commercial classique en grand langage ne peut accéder qu’aux données et au code directement pertinents pour une requête spécifique. Généralement, cela inclut les fichiers à proximité, le référentiel actuel et une poignée de bibliothèques dépendantes. Cependant, de tels modèles peuvent négliger des services internes alternatifs ou des bibliothèques non dépendantes gérées par d’autres équipes, même s’ils fournissent des fonctionnalités identiques actuellement en cours de développement. Par conséquent, cela entraîne souvent une redondance importante du code. En revanche, un LLM finement réglé peut accéder à un contexte plus large, atténuant potentiellement l’apparition de duplication de code.
Conscient de l’importance d’un accès simplifié aux connaissances internes, eBay a mis en place un système de requête interne basé sur les GPT. Tirant parti des techniques de génération augmentée de récupération (RAG), ce système s’intègre de manière transparente aux sources de documentation existantes, offrant aux développeurs des informations opportunes et pertinentes. Malgré des problèmes occasionnels dans la qualité des réponses, les efforts d’amélioration continus via l’apprentissage par renforcement à partir des commentaires humains (RLHF) permettent à eBay d’améliorer le système de requêtes basé sur GPT au fil du temps.
Dans le paysage dynamique du progrès technologique, le parcours d’eBay témoigne de l’introduction de l’intégration de l’IA pour générer des résultats tangibles pour les développeurs et les organisations.