ChatPaper.aiChatPaper

Creazione di Codice Assistita da IA su Più Righe

Multi-line AI-assisted Code Authoring

February 6, 2024
Autori: 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

Abstract

CodeCompose è uno strumento di creazione di codice assistito dall'intelligenza artificiale, alimentato da modelli linguistici di grandi dimensioni (LLM), che fornisce suggerimenti in linea a decine di migliaia di sviluppatori presso Meta. In questo articolo, presentiamo come abbiamo scalato il prodotto passando dalla visualizzazione di suggerimenti a una singola riga a suggerimenti multi-riga. Questa evoluzione ci ha richiesto di superare diverse sfide uniche per migliorare l'usabilità di questi suggerimenti per gli sviluppatori. In primo luogo, discutiamo come i suggerimenti multi-riga possano avere un effetto "disorientante", poiché i suggerimenti dell'LLM si spostano continuamente attorno al codice esistente dello sviluppatore, il che altrimenti porterebbe a una riduzione della produttività e della soddisfazione. In secondo luogo, i suggerimenti multi-riga richiedono un tempo significativamente maggiore per essere generati; pertanto, presentiamo diversi investimenti innovativi che abbiamo fatto per ridurre la latenza percepita dagli utenti. Queste ottimizzazioni nell'hosting del modello hanno accelerato la latenza dei suggerimenti multi-riga di 2,5 volte. Infine, conduciamo esperimenti su decine di migliaia di ingegneri per comprendere come i suggerimenti multi-riga influenzino l'esperienza utente e confrontiamo questo con i suggerimenti a una singola riga. I nostri esperimenti rivelano che (i) i suggerimenti multi-riga rappresentano il 42% dei caratteri totali accettati (nonostante rappresentino solo il 16% dei suggerimenti visualizzati) e (ii) i suggerimenti multi-riga hanno quasi raddoppiato la percentuale di battute di tastiera risparmiate per gli utenti, passando dal 9% al 17%. CodeCompose con suggerimenti multi-riga è stato implementato per tutti gli ingegneri di Meta, e meno dell'1% degli ingegneri ha scelto di disattivare i suggerimenti multi-riga.
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