ChatPaper.aiChatPaper

다중 라인 AI 지원 코드 작성

Multi-line AI-assisted Code Authoring

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

초록

CodeCompose는 대규모 언어 모델(LLMs)을 기반으로 한 AI 지원 코드 작성 도구로, Meta의 수만 명의 개발자에게 인라인 제안을 제공합니다. 본 논문에서는 단일 라인 제안에서 다중 라인 제안으로 제품을 확장한 과정을 소개합니다. 이러한 진화는 개발자들이 이러한 제안을 더욱 효과적으로 사용할 수 있도록 하기 위해 여러 독특한 도전 과제를 극복해야 했습니다. 첫째, 다중 라인 제안이 개발자의 기존 코드를 지속적으로 이동시키는 '불편한' 효과를 가질 수 있다는 점을 논의합니다. 이는 생산성과 만족도를 저하시킬 수 있습니다. 둘째, 다중 라인 제안은 생성하는 데 상당히 더 많은 시간이 소요되므로, 사용자가 체감하는 지연 시간을 줄이기 위해 여러 혁신적인 투자를 소개합니다. 이러한 모델 호스팅 최적화로 다중 라인 제안의 지연 시간을 2.5배 단축했습니다. 마지막으로, 수만 명의 엔지니어를 대상으로 실험을 진행하여 다중 라인 제안이 사용자 경험에 미치는 영향을 이해하고 이를 단일 라인 제안과 대조합니다. 실험 결과, (i) 다중 라인 제안이 전체 수락된 문자 수의 42%를 차지하며(표시된 제안의 16%만 차지함에도 불구하고), (ii) 다중 라인 제안이 사용자의 키 입력 절약 비율을 9%에서 17%로 거의 두 배로 증가시킨다는 것을 확인했습니다. 다중 라인 CodeCompose는 Meta의 모든 엔지니어에게 배포되었으며, 다중 라인 제안을 사용하지 않기로 선택한 엔지니어는 1% 미만입니다.
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