news

強化学習によるコード提案の革新:Cursor Tabがより賢く、あなたをより理解するようになるまで

September 12, 2025
Updated Sep 12
1 min read

AIコードエディタのCursorが、オンライン強化学習(RL)技術をどのように活用して、まったく新しいTabモデルを構築したかをご覧ください。新しいモデルは、提案数を21%削減しただけでなく、受け入れ率を28%も大幅に向上させ、開発者によりスムーズで、より邪魔の少ないコーディング体験をもたらします。


開発者にとって、究極の生産性の追求は永遠の課題です。AIの時代において、優れたコードエディタは非常に重要な役割を果たします。Cursorでは、開発者の生産性を向上させることがチームの核となる目標であり、その中で重要な役割を担っているのがCursor Tabです。これは、開発者がコードベース全体で次に行うことを予測するインテリジェントなシステムです。

ユーザーが文字を入力したり、カーソルを移動したりするたびに、Cursor Tabが作動し、その意図を予測しようとします。システムが十分に自信を持っている場合は、灰色のテキストで提案を表示し、ユーザーはTabキーを押すだけで受け入れることができます。

このシステムは1日に4億件以上のリクエストを処理しており、これはCursorがどの提案がユーザーに喜んで受け入れられ、どの提案が無情にも無視されたかについて、膨大なデータを保有していることを意味します。この記事では、Cursorがこの貴重なデータをどのように活用し、「オンライン強化学習」を通じてCursor Tabをかつてないほど賢くしたかを明らかにします。

Cursorのアプローチは、少し型破りかもしれません。ほとんどの大規模言語モデル(LLM)のプロバイダーは、静的なデータセットや有料のラベラーを使用してモデルをトレーニングし、数ヶ月に一度、いわゆる「メジャーバージョンアップデート」をリリースすることに慣れています。しかし、Cursorのモデルは異なり、チームは毎日頻繁に新しい微調整されたモデルをユーザーに展開し、リアルタイムデータを使用してトレーニングを行い、AIの進化を真に「生きた」ものにしています。

より賢くなるだけでなく、いつ「黙る」べきかを知る

どんな開発者でも、AIアシスタントが絶えず無関係な提案をポップアップさせ、スムーズな思考の流れを妨げ、イライラさせた経験があるでしょう。これが「ノイズの多い提案」の問題です。

提案の「受け入れ率」を高く維持することは非常に重要です。受け入れ率が低すぎると、システムが間違った提案を多すぎることになり、これは役に立たないだけでなく、開発者のフロー状態を妨げます。

高い受け入れ率を達成するためには、モデルをより賢くするだけでなく、いつ黙るべきかを教えることがさらに重要です。コードのコンテキスト情報が不十分な場合、完璧な知識と推論能力を持つAIでさえ、ユーザーの意図を推測することはできません。このような場合、最善の策は、何も提案しないことです。

古い方法を捨て去る:Cursorが「方策勾配」でAIを訓練する方法

迷惑な低品質の提案をフィルタリングする最も直感的な方法は、分類器をトレーニングすることかもしれません。たとえば、ある調査によると、GitHub Copilotは同様の方法を使用しており、ロジスティック回帰モデルを使用して、プログラミング言語や前の提案が受け入れられたかどうかなど、11の機能に基づいて提案をスコアリングしていました。スコアがしきい値(たとえば15%)を下回ると、提案は表示されませんでした。

この方法は機能しますが、Cursorはより根本的でエレガントな解決策を望んでいました。目標は、モデルが悪い提案を生成した後にそれらをフィルタリングするのではなく、Tabモデルが最初から悪い提案を生成しないようにすることです。

ここで「方策勾配」法が登場します。

簡単に言うと、方策勾配は「報酬」を最大化することを目標に「方策」を最適化する方法です。この文脈では、

  • 方策(Policy):Tabモデルそのもの。
  • 報酬(Reward):モデルが実行した各アクションに割り当てられるスコア。

このアルゴリズムはフィードバックループのように動作します。モデルがさまざまなアクション(提案を表示するかしないか)をランダムに試すことを許可し、どのアクションが高い報酬(ユーザーが提案を受け入れた)につながり、どのアクションが低い報酬(ユーザーが提案を拒否した)につながるかを観察します。次に、高い報酬をもたらした行動を正に強化し、低い報酬をもたらした行動を抑制します。

この目的のために、Cursorは一連の報酬ルールを設計しました。たとえば、モデルが期待される受け入れ率が25%を超える場合にのみ提案を行うことを目標とする場合、報酬は次のように設定できます。

  • 提案が受け入れられた:報酬+0.75
  • 提案が拒否された:ペナルティ-0.25
  • 提案が表示されなかった:報酬0

このメカニズムを通じて、モデルは総報酬を最大化するために、受け入れ率が十分に高いと推定した場合にのみ行動することを学習します。受け入れ率に関する独自の判断モデルを内部に構築し、残りは最適化アルゴリズムに任せます。

絶えず進化するAI:Cursorのオンライン学習ループ

方策勾配法には前提条件があります。トレーニングに使用されるデータは、最適化されているモデルから取得する必要があるということです。これは、モデルが更新されると、古いモデルのデータはもはや使用できなくなることを意味します。なぜなら、それはすでに「時代遅れ」の情報だからです。

最新かつ最も効果的な「オンポリシー」サンプルを取得するために、Cursorは新しいモデルを迅速にユーザーに展開し、そのパフォーマンスを観察し、この新しいインタラクションデータをすぐに次のトレーニングラウンドに投入する必要があります。

これはCursorのインフラストラクチャにとってかなりの挑戦です。システム全体には、ユーザーから提案のインタラクションデータを受信してから、そのデータが次のモデルのトレーニングに使用されるまでの時間を可能な限り短くする効率的なループが必要です。現在、Cursorが新しいモデルのチェックポイントを展開し、次のラウンドのデータを収集するのに約1.5〜2時間かかります。これはAI業界ではすでにかなり速い速度ですが、Cursorは将来さらに改善の余地があると考えています。

より少ない邪魔、より高い効率:新しいTabモデルの目覚ましい成果

上記の方法を用いて、Cursorはまったく新しいTabモデルのトレーニングに成功し、現在ではCursorエディタのデフォルトオプションになっています。結果は非常に重要であり、データから直接見ることができます。

メトリック旧モデル新しいRLモデル変更
提案表示率ベースラインベースライン-21%
提案受け入れ率ベースラインベースライン+28%

要するに、新しいTabモデルは、より適切なタイミングで提案を行うことを学習したため、邪魔を21%削減し、同時に提案の品質が高いため、受け入れ率が28%大幅に向上しました。

Cursorは、この改善が開発者のコーディング体験を大幅に向上させることを期待しており、将来的にはこれらの方法の適用をさらに深化させる予定です。これは単なるモデルの更新ではなく、究極の開発者ツールを構築するというチームのコミットメントの証です。

記事の出典

https://cursor.com/en/blog/tab-rl

シェアする:
Featured Partners

© 2026 Communeify. All rights reserved.