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 9 programming languages and several coding surfaces. We present our experience in making design decisions about the model and system architecture for CodeCompose that addresses these challenges. To release a LLM model at this scale, we needed to first ensure that it is sufficiently accurate. In a random sample of 20K source code files, depending on the language, we are able to reproduce hidden lines between 40% and 58% of the time, an improvement of 1.4x and 4.1x over a model trained only on public data. We gradually rolled CodeCompose out to developers. At the time of this writing, 16K developers have used it with 8% of their code coming directly from CodeCompose. To triangulate our numerical findings, we conduct a thematic analysis on the feedback from 70 developers. We find that 91.5% of the feedback is positive, with the most common themes being discovering APIs, dealing with boilerplate code, and accelerating coding. Meta continues to integrate this feedback into CodeCompose.
翻译:生成式大语言模型(LLM)已被证明能够有效驱动基于AI的代码创作工具,在代码编写过程中建议完整的代码语句或代码块。本文介绍了CodeCompose——一个在Meta内部开发并部署的AI辅助代码创作工具。CodeCompose基于InCoder LLM,该模型融合了生成能力与双向性。我们已将CodeCompose扩展到为Meta内部数万名开发者提供服务,覆盖9种编程语言和多个编码场景。本文分享了我们在模型与系统架构设计决策方面的经验,以应对相关挑战。要发布如此规模的LLM模型,首先需要确保其足够准确。在随机抽样的2万个源代码文件中,根据语言不同,我们能够在40%至58%的情况下复现隐藏行,相较于仅在公开数据上训练的模型提升了1.4倍至4.1倍。我们逐步向开发者推广CodeCompose。截至本文撰写时,已有1.6万名开发者使用该工具,其8%的代码直接来自CodeCompose。为验证数值结果的准确性,我们对70名开发者的反馈进行了主题分析。结果显示,91.5%的反馈为正面,最常提及的主题包括发现API、处理样板代码以及加速编码。Meta正持续将这些反馈整合到CodeCompose中。