Skip to main content
QUICK REVIEW

[논문 리뷰] Control Models for In-IDE Code Completion

Aral de Moor, Yana Hrynevich|arXiv (Cornell University)|2026. 01. 28.
Software Engineering Research인용 수 0
한 줄 요약

이 논문은 JetBrains IDE에서 LLM 기반 코드 자동완성을 스마트하게 게이트하기 위한 트리거(부스팅 기반 또는 트랜스포머)와 필터 제어 모델을 제시하여, 오프라인 및 온라인 평가에서 여러 언어에 걸쳐 약 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 내 텔레메트리와 코드 맥락을 활용하여 자동완성을 게이트하고 다듬기 위한 두 가지 제어 모델(트리거 및 필터) 아키텍처를 제안한다.
  • 부스팅 기반과 트랜스포머 기반 제어 모델을 오프라인 및 운영 환경에서 온라인으로 평가한다.
  • 자동완성의 효율성과 품질 향상의 잠재적 개선을 보여주고 향후 방향과 도전과제를 논의한다.]
  • methodRequestedFieldsForTranslateOr
  • method0To5Ungraded:Develop two models: a trigger classifier to decide when to infer a completion and a filter classifier to decide which generated completions to show.
  • method1:Compare gradient-boosting (CatBoost) tabular models with transformer-based classifiers that incorporate code context.
  • method2:Use offline datasets with multilingual code contexts (Kotlin, Python, PHP, C#) and in-IDE telemetry to train and evaluate models.
  • method3:Evaluate via offline metrics such as Symbols Completed (RoCC), Accept Rate (AR), and Cancel Rate (CR), and through online A/B experiments in production.
  • method4:Analyze impact of different false-negative rates (FNR) and percentage of generations filtered on completion quality metrics.

제안 방법

  • 두 가지 모델 개발: 자동완성을 추론할 시점을 결정하는 트리거 분류기와 생성된 자동완성 중 어떤 것을 보여줄지 결정하는 필터 분류기.
  • 코드 맥_context를 포함하는 그래디언트 부스팅(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% 정도 감소시키고 완료 품질 지표를 향상시킬 수 있다.
  • 트랜스포머 기반 모델은 강력한 맥락 필터링을 제공하지만 표시되는 완성의 수가 적어 수락률(Accept Rate) 및 취소율(Cancel Rate) 개선에서 부스팅 모델에 뒤처질 수 있다.
  • 부스팅 모델은 언어 의존적 효과를 보이며, 일부 언어에서 트리거 컨트롤의 증가가 메트릭에 다르게 큰 영향을 준다(예: Kotlin vs PHP).
  • 온라인 A/B 결과에서 필터 모델은 Accept Rate와 Cancel Rate를 개선하지만 완료된 코드의 비율(Ratio of Completed Code)을 감소시키고, 트리거 모델은 일부 설정에서 생성 수의 통계적으로 유의한 감소 없이 약 20% 정도 자동완성 수를 줄인다.
  • 오프라인 결과는 트랜스포머 모델이 더 깊은 맥락 이점을 제공할 수 있음을 시사하지만 배포 시 지연(latency) 및 프라이버시 문제에 직면한다.
(a) Symbols Completed
(a) Symbols Completed

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.