ChatPaper.aiChatPaper

CodeCompose: Uma Implantação Industrial em Grande Escala de Autoria de Código Assistida por IA

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

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

Resumo

O surgimento de grandes modelos de linguagem (LLMs, na sigla em inglês) desbloqueou diversas aplicações dessa tecnologia no desenvolvimento de software. Em particular, os LLMs generativos têm se mostrado eficazes no fornecimento de ferramentas de autoria de código baseadas em IA, capazes de sugerir instruções ou blocos inteiros de código durante a escrita de programas. Neste artigo, apresentamos o CodeCompose, uma ferramenta de autoria de código assistida por IA desenvolvida e implantada internamente na Meta. O CodeCompose é baseado no LLM InCoder, que combina capacidades generativas com bidirecionalidade. Escalamos o CodeCompose para atender dezenas de milhares de desenvolvedores na Meta, abrangendo mais de 10 linguagens de programação e diversas superfícies de codificação. Discutimos desafios únicos em termos de experiência do usuário e métricas que surgem ao implantar tais ferramentas em ambientes industriais de grande escala. Apresentamos nossa experiência na tomada de decisões de design sobre o modelo e a arquitetura do sistema do CodeCompose, que abordam esses desafios. Por fim, apresentamos métricas de nossa implantação em larga escala do CodeCompose, mostrando seu impacto na experiência de autoria de código interna da Meta durante um período de 15 dias, no qual 4,5 milhões de sugestões foram feitas pelo CodeCompose. Métricas quantitativas revelam que (i) o CodeCompose tem uma taxa de aceitação de 22% em várias linguagens e (ii) 8% do código digitado pelos usuários do CodeCompose é proveniente da aceitação de sugestões da ferramenta. Feedback qualitativo indica uma recepção positiva esmagadora de 91,5% para o CodeCompose. Além de auxiliar na autoria de código, o CodeCompose também está introduzindo outros efeitos positivos, como incentivar os desenvolvedores a gerar mais documentação no código e ajudá-los na descoberta de novas APIs, entre outros.
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