ChatPaper.aiChatPaper

Mehrzeilige KI-gestützte Code-Erstellung

Multi-line AI-assisted Code Authoring

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

Zusammenfassung

CodeCompose ist ein KI-gestütztes Code-Erstellungstool, das von großen Sprachmodellen (LLMs) angetrieben wird und Inline-Vorschläge für zehntausende Entwickler bei Meta bereitstellt. In diesem Artikel zeigen wir, wie wir das Produkt von der Anzeige von Einzeilen-Vorschlägen auf Mehrzeilen-Vorschläge skaliert haben. Diese Weiterentwicklung erforderte die Bewältigung mehrerer einzigartiger Herausforderungen, um die Benutzerfreundlichkeit dieser Vorschläge für Entwickler zu verbessern. Zunächst erörtern wir, wie Mehrzeilen-Vorschläge einen „erschütternden“ Effekt haben können, da die Vorschläge des LLMs den bestehenden Code des Entwicklers ständig verschieben, was andernfalls zu einer verringerten Produktivität und Zufriedenheit führen würde. Zweitens dauert die Generierung von Mehrzeilen-Vorschlägen deutlich länger; daher stellen wir mehrere innovative Investitionen vor, die wir getätigt haben, um die wahrgenommene Latenz für die Benutzer zu reduzieren. Diese Optimierungen im Modell-Hosting beschleunigten die Latenz von Mehrzeilen-Vorschlägen um das 2,5-fache. Schließlich führen wir Experimente mit zehntausenden Ingenieuren durch, um zu verstehen, wie sich Mehrzeilen-Vorschläge auf das Benutzererlebnis auswirken, und vergleichen dies mit Einzeilen-Vorschlägen. Unsere Experimente zeigen, dass (i) Mehrzeilen-Vorschläge 42 % der insgesamt akzeptierten Zeichen ausmachen (obwohl sie nur 16 % der angezeigten Vorschläge darstellen) und (ii) Mehrzeilen-Vorschläge den Prozentsatz der eingesparten Tastenanschläge für Benutzer nahezu verdoppelt haben, von 9 % auf 17 %. Mehrzeilen-CodeCompose wurde für alle Ingenieure bei Meta eingeführt, und weniger als 1 % der Ingenieure haben sich gegen Mehrzeilen-Vorschläge entschieden.
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.
PDF102December 15, 2024