ChatPaper.aiChatPaper

CodeCompose : Un déploiement industriel à grande échelle de la rédaction de code assistée par l'IA

CodeCompose: A Large-Scale Industrial Deployment of AI-assisted Code Authoring

May 20, 2023
Auteurs: Vijayaraghavan Murali, Chandra Maddila, Imad Ahmad, Michael Bolin, Daniel Cheng, Negar Ghorbani, Renuka Fernandez, Nachiappan Nagappan
cs.AI

Résumé

L'essor des grands modèles de langage (LLMs) a ouvert la voie à diverses applications de cette technologie dans le développement de logiciels. En particulier, les LLMs génératifs se sont révélés efficaces pour alimenter des outils de rédaction de code basés sur l'IA, capables de suggérer des instructions ou des blocs de code entiers lors de la rédaction. Dans cet article, nous présentons CodeCompose, un outil de rédaction de code assisté par l'IA développé et déployé en interne chez Meta. CodeCompose repose sur le LLM InCoder, qui combine des capacités génératives avec une bidirectionnalité. Nous avons mis à l'échelle CodeCompose pour servir des dizaines de milliers de développeurs chez Meta, couvrant plus de 10 langages de programmation et plusieurs environnements de codage. Nous abordons les défis uniques en termes d'expérience utilisateur et de métriques qui surviennent lors du déploiement de tels outils dans des contextes industriels à grande échelle. Nous partageons notre expérience dans la prise de décisions de conception concernant le modèle et l'architecture système de CodeCompose pour relever ces défis. Enfin, nous présentons les métriques issues de notre déploiement à grande échelle de CodeCompose, montrant son impact sur l'expérience de rédaction de code interne à Meta sur une période de 15 jours, durant laquelle 4,5 millions de suggestions ont été faites par CodeCompose. Les métriques quantitatives révèlent que (i) CodeCompose affiche un taux d'acceptation de 22 % pour plusieurs langages, et (ii) 8 % du code saisi par les utilisateurs de CodeCompose provient de l'acceptation de suggestions de code de l'outil. Les retours qualitatifs indiquent une réception positive écrasante de 91,5 % pour CodeCompose. En plus d'assister dans la rédaction de code, CodeCompose introduit également d'autres effets positifs, tels que l'encouragement des développeurs à générer davantage de documentation dans le code et l'aide à la découverte de nouvelles API.
English
The rise of large language models (LLMs) has unlocked various applications of this technology in software development. In particular, generative LLMs have been shown to effectively power AI-based code authoring tools that can suggest entire statements or blocks of code during code authoring. In this paper we present CodeCompose, an AI-assisted code authoring tool developed and deployed at Meta internally. CodeCompose is based on the InCoder LLM that merges generative capabilities with bi-directionality. We have scaled up CodeCompose to serve tens of thousands of developers at Meta, across 10+ programming languages and several coding surfaces. We discuss unique challenges in terms of user experience and metrics that arise when deploying such tools in large-scale industrial settings. We present our experience in making design decisions about the model and system architecture for CodeCompose that addresses these challenges. Finally, we present metrics from our large-scale deployment of CodeCompose that shows its impact on Meta's internal code authoring experience over a 15-day time window, where 4.5 million suggestions were made by CodeCompose. Quantitative metrics reveal that (i) CodeCompose has an acceptance rate of 22% across several languages, and (ii) 8% of the code typed by users of CodeCompose is through accepting code suggestions from CodeCompose. Qualitative feedback indicates an overwhelming 91.5% positive reception for CodeCompose. In addition to assisting with code authoring, CodeCompose is also introducing other positive side effects such as encouraging developers to generate more in-code documentation, helping them with the discovery of new APIs, etc.
PDF20December 15, 2024