ChatPaper.aiChatPaper

Autoria de Código Assistida por IA com Múltiplas Linhas

Multi-line AI-assisted Code Authoring

February 6, 2024
Autores: Omer Dunay, Daniel Cheng, Adam Tait, Parth Thakkar, Peter C Rigby, Andy Chiu, Imad Ahmad, Arun Ganesan, Chandra Maddila, Vijayaraghavan Murali, Ali Tayyebi, Nachiappan Nagappan
cs.AI

Resumo

O CodeCompose é uma ferramenta de autoria de código assistida por IA, alimentada por modelos de linguagem de grande escala (LLMs), que fornece sugestões inline para dezenas de milhares de desenvolvedores na Meta. Neste artigo, apresentamos como escalamos o produto de sugestões de uma única linha para sugestões de múltiplas linhas. Essa evolução exigiu que superássemos vários desafios únicos para melhorar a usabilidade dessas sugestões para os desenvolvedores. Primeiro, discutimos como as sugestões de múltiplas linhas podem ter um efeito "desconcertante", já que as sugestões do LLM constantemente reposicionam o código existente do desenvolvedor, o que poderia resultar em diminuição da produtividade e satisfação. Segundo, as sugestões de múltiplas linhas levam significativamente mais tempo para serem geradas; portanto, apresentamos vários investimentos inovadores que fizemos para reduzir a latência percebida pelos usuários. Essas otimizações no hospedamento do modelo aceleraram a latência das sugestões de múltiplas linhas em 2,5 vezes. Por fim, conduzimos experimentos com dezenas de milhares de engenheiros para entender como as sugestões de múltiplas linhas impactam a experiência do usuário e contrastamos isso com as sugestões de uma única linha. Nossos experimentos revelam que (i) as sugestões de múltiplas linhas representam 42% do total de caracteres aceitos (apesar de representarem apenas 16% das sugestões exibidas) e (ii) as sugestões de múltiplas linhas quase dobraram a porcentagem de teclas economizadas pelos usuários, de 9% para 17%. O CodeCompose com sugestões de múltiplas linhas foi implementado para todos os engenheiros na Meta, e menos de 1% dos engenheiros optaram por desativar as sugestões de múltiplas linhas.
English
CodeCompose is an AI-assisted code authoring tool powered by large language models (LLMs) that provides inline suggestions to 10's of thousands of developers at Meta. In this paper, we present how we scaled the product from displaying single-line suggestions to multi-line suggestions. This evolution required us to overcome several unique challenges in improving the usability of these suggestions for developers. First, we discuss how multi-line suggestions can have a 'jarring' effect, as the LLM's suggestions constantly move around the developer's existing code, which would otherwise result in decreased productivity and satisfaction. Second, multi-line suggestions take significantly longer to generate; hence we present several innovative investments we made to reduce the perceived latency for users. These model-hosting optimizations sped up multi-line suggestion latency by 2.5x. Finally, we conduct experiments on 10's of thousands of engineers to understand how multi-line suggestions impact the user experience and contrast this with single-line suggestions. Our experiments reveal that (i) multi-line suggestions account for 42% of total characters accepted (despite only accounting for 16% for displayed suggestions) (ii) multi-line suggestions almost doubled the percentage of keystrokes saved for users from 9% to 17%. Multi-line CodeCompose has been rolled out to all engineers at Meta, and less than 1% of engineers have opted out of multi-line suggestions.
PDF102February 8, 2026