ChatPaper.aiChatPaper

Meerregelige AI-ondersteunde Codecreatie

Multi-line AI-assisted Code Authoring

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

Samenvatting

CodeCompose is een AI-ondersteund hulpmiddel voor het schrijven van code, aangedreven door grote taalmodellen (LLMs), dat inline suggesties biedt aan tienduizenden ontwikkelaars bij Meta. In dit artikel presenteren we hoe we het product hebben opgeschaald van het tonen van suggesties voor één regel naar suggesties voor meerdere regels. Deze evolutie vereiste dat we verschillende unieke uitdagingen overwonnen om de bruikbaarheid van deze suggesties voor ontwikkelaars te verbeteren. Ten eerste bespreken we hoe suggesties voor meerdere regels een 'schokkend' effect kunnen hebben, omdat de suggesties van het LLM constant de bestaande code van de ontwikkelaar verplaatsen, wat anders zou leiden tot verminderde productiviteit en tevredenheid. Ten tweede kost het genereren van suggesties voor meerdere regels aanzienlijk meer tijd; daarom presenteren we verschillende innovatieve investeringen die we hebben gedaan om de waargenomen latentie voor gebruikers te verminderen. Deze optimalisaties voor het hosten van modellen hebben de latentie van suggesties voor meerdere regels met 2,5x versneld. Tot slot voeren we experimenten uit bij tienduizenden ingenieurs om te begrijpen hoe suggesties voor meerdere regels de gebruikerservaring beïnvloeden en vergelijken we dit met suggesties voor één regel. Onze experimenten onthullen dat (i) suggesties voor meerdere regels 42% van de totale geaccepteerde karakters uitmaken (ondanks dat ze slechts 16% van de getoonde suggesties vertegenwoordigen) en (ii) suggesties voor meerdere regels het percentage bespaarde toetsaanslagen bijna verdubbelden van 9% naar 17%. CodeCompose met suggesties voor meerdere regels is uitgerold naar alle ingenieurs bij Meta, en minder dan 1% van de ingenieurs heeft zich afgemeld voor suggesties voor meerdere regels.
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