Skip to main content
QUICK REVIEW

[论文解读] Control Models for In-IDE Code Completion

Aral de Moor, Yana Hrynevich|arXiv (Cornell University)|Jan 28, 2026
Software Engineering Research被引用 0
一句话总结

该论文提出触发器(基于提升或变换器)和过滤器控制模型,以在 JetBrains IDE 中智能地门控由大型语言模型驱动的代码补全,在离线和在线评估中跨多种语言实现大约 20% 的推理节省与更高的补全质量。

ABSTRACT

We introduce control models for LLM-powered code completion in JetBrains IDEs: ML classifiers which trigger inference and filter the generated suggestions to better align them with users and reduce unnecessary requests. To this end, we evaluate boosting- and transformer-based architectures on an offline dataset of real code completions with n=98 users. We further evaluate the offline classification performance of our boosting-based approach on a range of syntactically diverse languages; and perform an A/B study in a production environment where they improve completion efficiency and quality metrics. With this study, we hope to demonstrate the potential in using auxiliary models for smarter in-IDE integration of LLM-driven features, highlight fruitful future directions, and open problems.

研究动机与目标

  • 推动将 LLM 驱动的代码补全与开发者工作流程对齐的必要性,并减少不必要的 IDE 内推理。
  • 提出两种控制模型架构(触发器和过滤器),通过 IDE 内的遥测与代码上下文来门控和改进补全。
  • 在离线和生产环境中的在线实验中评估基于提升的与基于变换器的控制模型。
  • 展示补全效率与质量的潜在提升,并讨论未来方向与挑战。

提出的方法

  • 开发两种模型:一个触发分类器,用于决定何时进行补全推理;一个过滤分类器,用于决定展示哪些生成的补全。
  • 将梯度提升(CatBoost)表格模型与融入代码上下文的变换器分类器进行比较。
  • 使用包含多语言代码上下文(Kotlin、Python、PHP、C#)的离线数据集和 IDE 内遥测来训练和评估模型。
  • 通过离线指标(Symbol Completed(RoCC)、Accept Rate(AR)、Cancel Rate(CR))以及生产中的在线 A/B 实验进行评估。
  • 分析不同假阴性率(FNR)和被过滤的生成百分比对补全质量指标的影响。
Figure 1 . Control Models Problem Setting: Completion Flow with Positive (Accept) and Negative (Reject) Targets.
Figure 1 . Control Models Problem Setting: Completion Flow with Positive (Accept) and Negative (Reject) Targets.

实验结果

研究问题

  • RQ1RQ1:在离线分类中,基于提升的触发/过滤与基于变换器的方法相比表现如何?
  • RQ2RQ2:基于提升的控制模型在多语言(Kotlin、Python、PHP、C#)离线环境中的推理节省和指标表现如何?
  • RQ3RQ3:基于提升的控制模型在生产环境的在线表现如何,通过用户可见指标的 A/B 测试来衡量?

主要发现

  • 基于提升的控制模型在离线分析中大约可减少 20% 的推理请求,同时提升补全质量指标。
  • 基于变换器的模型提供强大的上下文过滤能力,但由于展示的补全数量较少,接受率/取消率的改善可能落后于提升模型。
  • 提升模型在语言上呈现依语言的效应;对某些语言而言,增加触发控制对指标的影响差异显著(如 Kotlin 与 PHP)。
  • 在线 A/B 结果显示过滤模型提升接受率和取消率,但降低已完成代码的比率;而触发模型在某些设置中可将补全数量降幅约 20%,且生成计数并未出现统计显著下降。
  • 离线结果表明,变换器模型可提供更深的上下文收益,但在部署时面临延迟与隐私挑战。
(a) Symbols Completed
(a) Symbols Completed

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。