← 最新论文
💻 computer science

Control Models for In-IDE Code Completion

本文介绍并评估了用于优化 JetBrains IDE 中由大语言模型(LLM)驱动的代码补全的控制模型,具体为机器学习分类器,通过触发推理和过滤建议,通过离线分析和生产环境 A/B 测试证明了其在效率和质量方面的提升。

原作者: Aral de Moor, Yana Hrynevich, Hleb Badzeika, Vladyslav Furda, Marko Kojic, Artem Savelev, Kostadin Cvejoski, Darya Rovdo, Ekaterina Garanina

发布于 2026-01-29
📖 1 分钟阅读☕ 轻松阅读

原作者: Aral de Moor, Yana Hrynevich, Hleb Badzeika, Vladyslav Furda, Marko Kojic, Artem Savelev, Kostadin Cvejoski, Darya Rovdo, Ekaterina Garanina

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下你是一位正在忙碌厨房(IDE)中工作的厨师(开发者)。你有一位超级聪明的副厨(AI),在你切菜时,他会不断地大声喊出菜谱创意和食材建议。

有时,这位副厨非常出色,能为你节省时间。但通常情况下,这位副厨有点过于急躁:

  • 他在你做汤的时候建议做甜点(时机不对)。
  • 他建议了你已经有的食材(多此一举)。
  • 他建议了一些味道很糟糕的东西(糟糕的代码)。

这种不断的叫喊令人分心。它破坏了你的“心流”(flow),浪费了厨房的能量(计算能力),并让你感到烦躁而非受到帮助。

问题所在:
JetBrains 团队(本文作者)注意到,他们的 AI 生成的建议被开发者忽略或拒绝的比例高达约 70%。他们浪费了大量的资金和精力在那些没人想要的建议上。

解决方案:“控制模型”(聪明的保镖)
与其仅仅让 AI 更聪明地猜测菜谱,团队构建了一个名为**“控制模型”的新智能层。你可以把它想象成一个站在 AI 与厨师之间门口的聪明的保镖**。

这个保镖有两个职责:

  1. 触发器(“等待”信号): 在 AI 开始制作建议之前,保镖会先检查厨师的情绪。厨师是在快速打字吗?他们是否正处于句子的中间?如果时机不对,保镖会说:“不,先别去打扰 AI。”
  2. 过滤器(“垃圾桶”): 如果 AI 确实 做出了一个建议,保镖会先尝一下。如果它看起来很奇怪或者不符合当前的菜肴,保镖会在厨师看到它之前就把它扔进垃圾桶。

他们是如何测试的
团队使用来自数千名使用 JetBrains 软件(如 IntelliJ IDEA)的开发者的真实数据进行了实验。他们测试了两种类型的保镖:

  • “提升型”(Boosting)保镖: 一个快速、轻量级的模型,观察简单的统计数据(如打字速度和光标位置)。这就像是一个只看一眼你的身份证件就快速做出决定的保镖。
  • “Transformer”保镖: 一个沉重、复杂的模型,它会阅读实际的代码并理解深层的上下文。这就像是一个在让你进入之前,会先读完整本菜谱的保镖。

测试结果

  • 节省资金: 通过使用“提升型”保镖,他们拦截了约 20% 的不必要 AI 请求。这节省了大量的计算资源(推理成本)。
  • 提高质量: 由于过滤掉了糟糕的建议,最终到达开发者面前的建议质量更高了。开发者更频繁地接受它们,拒绝它们的次数也减少了。
  • 权衡: 有趣的是,虽然他们过滤掉了很多坏主意,但开发者输入的总字数并没有下降多少。这是因为当开发者不再被糟糕的建议干扰时,他们实际上会自己输入更多的代码,从而创造了 AI 帮助他们的新机会。

难点(为什么不使用那个高级保镖?)
“Transformer”保镖(那个阅读代码的保镖)在过滤方面表现得非常好,但它运行起来太慢,且需要消耗过多的计算能力来在每个人的笔记本电脑上运行。它还引发了隐私担忧,因为它需要读取实际的代码才能做出决策。因此,团队决定目前坚持使用更快、更轻量的“提升型”保镖。

大局观
论文总结道,要让 AI 在编程中变得有用,我们不能仅仅让 AI 更擅长编写代码。我们还需要构建智能守门员,来决定何时以及如何展示这些代码。这能确保 AI 是在辅助开发者的心流,而不是干扰它。

简而言之: 他们构建了一个智能过滤器,阻止 AI 用糟糕的主意去烦扰开发者,从而节省了资金,并让编程体验更加顺畅。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →