ChatPaper.aiChatPaper

CodeCompose: Крупномасштабное промышленное внедрение ИИ-ассистированного создания кода Автор

CodeCompose: A Large-Scale Industrial Deployment of AI-assisted Code Authoring

May 20, 2023
Авторы: Vijayaraghavan Murali, Chandra Maddila, Imad Ahmad, Michael Bolin, Daniel Cheng, Negar Ghorbani, Renuka Fernandez, Nachiappan Nagappan
cs.AI

Аннотация

Рост крупных языковых моделей (LLM) открыл множество возможностей для применения этой технологии в разработке программного обеспечения. В частности, генеративные LLM доказали свою эффективность в создании инструментов для написания кода на основе ИИ, которые могут предлагать целые выражения или блоки кода в процессе написания. В данной статье мы представляем CodeCompose — инструмент для написания кода с поддержкой ИИ, разработанный и внедренный внутри компании Meta. CodeCompose основан на модели InCoder LLM, которая объединяет генеративные возможности с двунаправленностью. Мы масштабировали CodeCompose для обслуживания десятков тысяч разработчиков в Meta, поддерживая более 10 языков программирования и несколько сред разработки. Мы обсуждаем уникальные проблемы, связанные с пользовательским опытом и метриками, которые возникают при внедрении таких инструментов в крупных промышленных условиях. Мы делимся опытом принятия решений по проектированию модели и архитектуры системы для CodeCompose, которые позволяют решать эти проблемы. Наконец, мы представляем метрики из нашего масштабного внедрения CodeCompose, демонстрирующие его влияние на процесс написания кода внутри Meta за 15-дневный период, в течение которого CodeCompose сделал 4,5 миллиона предложений. Количественные метрики показывают, что (i) уровень принятия предложений CodeCompose составляет 22% для нескольких языков, и (ii) 8% кода, написанного пользователями CodeCompose, было создано путем принятия предложений от инструмента. Качественные отзывы указывают на ошеломляющие 91,5% положительного восприятия CodeCompose. Помимо помощи в написании кода, CodeCompose также способствует другим положительным эффектам, таким как стимулирование разработчиков к созданию большего количества документации в коде, помощь в открытии новых API и т.д.
English
The rise of large language models (LLMs) has unlocked various applications of this technology in software development. In particular, generative LLMs have been shown to effectively power AI-based code authoring tools that can suggest entire statements or blocks of code during code authoring. In this paper we present CodeCompose, an AI-assisted code authoring tool developed and deployed at Meta internally. CodeCompose is based on the InCoder LLM that merges generative capabilities with bi-directionality. We have scaled up CodeCompose to serve tens of thousands of developers at Meta, across 10+ programming languages and several coding surfaces. We discuss unique challenges in terms of user experience and metrics that arise when deploying such tools in large-scale industrial settings. We present our experience in making design decisions about the model and system architecture for CodeCompose that addresses these challenges. Finally, we present metrics from our large-scale deployment of CodeCompose that shows its impact on Meta's internal code authoring experience over a 15-day time window, where 4.5 million suggestions were made by CodeCompose. Quantitative metrics reveal that (i) CodeCompose has an acceptance rate of 22% across several languages, and (ii) 8% of the code typed by users of CodeCompose is through accepting code suggestions from CodeCompose. Qualitative feedback indicates an overwhelming 91.5% positive reception for CodeCompose. In addition to assisting with code authoring, CodeCompose is also introducing other positive side effects such as encouraging developers to generate more in-code documentation, helping them with the discovery of new APIs, etc.
PDF20December 15, 2024