最近、AIプログラミングツールCursorが爆発的な人気を博し、プログラミング界と人工知能分野の注目を集めています。CursorはVS Codeベースのコードエディターで、AIアシストプログラミングに多くの強力な機能をもたらし、開発者たちの期待を高めています。
最近、著名なポッドキャスト司会者Lex FridmanがCursorチームの4人の創設メンバーと、彼らの革新的な道のりや将来計画について詳細な対談を行いました。
Cursorの物語は2020年に遡ります。当時、OpenAIはスケーリング則に関する論文を発表しました。この論文は、機械学習の未来への期待を高めました。より多くの計算資源とデータが得られれば、モデルのパフォーマンスは向上するというものです。
この考えから、チームメンバーは将来のAIがどのようにして様々な分野の知識労働者の効率向上に役立つのかを想像し始めました。2022年末、CursorチームはGPT-IVの先行利用権を獲得し、これまでの理論的予測が現実になりつつあることを認識しました。この瞬間、彼らはより大きなビジョンを抱き、全てのプログラミング活動がこれらの強力なモデルによって行われるようになると確信しました。
Cursorの大きな特徴の一つは、独自のコード差分機能です。エディターでコードを修正すると、モデルは変更部分を赤と緑でハイライト表示するため、ユーザーはコードの追加と削除を明確に確認できます。
自動補完機能の最適化において、Cursorは開発者がコードを迅速に読む必要がある際に、より効率的に情報を得られるように、高速なdiffインターフェースを設計しました。チームは何度も試行錯誤を重ね、直感的でありながら注意を散漫にさせない最適なユーザーエクスペリエンスデザインを見つけ出しました。
Cursorの強力さを語る上で、その裏にある機械学習技術に触れないわけにはいきません。Cursorは実際には、複数のカスタムメイドの先端モデルを統合したもので、特にTabとApply機能は入念に微調整された成果です。
これらのモデルはコード変更の提案生成において優れたパフォーマンスを示しますが、実際の大規模ファイル処理ではしばしばエラーが発生します。この問題を改善するために、Cursorはまずモデルにコード変更の大まかな案を生成させ、次に別のモデルを使用してこれらの変更を実際のファイルに適用するという戦略を採用しました。これにより、コード変更の効率が向上するだけでなく、モデルがコード生成時に使用するトークン数が削減され、遅延とコストが低減されます。
Cursorの処理速度の向上について、チームは「投機的編集」という概念を紹介しました。この技術により、モデルはトークンを一つずつ生成するのではなく、一度に複数のトークンを処理できます。従来の方法では、小さなモデルでコードを予測し、大きなモデルで検証していましたが、Cursorチームは、生のコード断片をモデルに入力する方が、より迅速なフィードバックが得られることを発見しました。最終的に、モデルが生成したテキストが元のコードと一致しない場合のみ、新しいトークンを生成して更新します。