Cursor - AI搭載コードエディター

について触れました。弊社でも内部で使用しており、フィードバックは非常に良好です。

でも彼らのことを紹介しています。

Solopreneur(独立起業家)であるLeo兄貴にCursorの使用感について尋ねたところ、「試してみたけど、今はbolt.newの方が優秀だね。前回、Cursorにコードを一括で修正してもらおうとしたんだが、検索による置き換えでは対応できないような修正だった。しかしCursorは400行を超えると処理できなかった。僕の場合、10個のPythonファイルがあり、その中で最も長いものは1万行もあるんだ。」とのことでした。

ただ今日はまずCursorを紹介し、明日はbolt.newについて話しましょう。

機能

強力な自動補完

Cursorには強力な自動補完機能があり、ユーザーの次の編集操作を予測します。有効にすると、この機能は継続的に動作し、ユーザーの最新の変更に基づいて複数行のコード編集提案を行います。

  1. Cursorはユーザーの最近の変更に基づいて次の意図を予測し、それに基づいたコードを生成します。

  2. Cursorは複数行の編集提案をサポートし、一度に複数の変更を提案することで効率を大幅に向上させます。

  3. 入力が正確でなくても、Cursorはコードの誤りを自動的に修正します。

  4. Cursorはカーソルの次の位置を予測し、ユーザーがコード内でよりスムーズにナビゲートできるように支援します。

Cursorチャット機能

Cursorのチャット機能を使えば、コードベースを理解したAIと対話できます。このAIは現在のファイルやカーソル位置をリアルタイムで確認できるため、「ここにエラーがありますか?」といった質問を直接投げかけることができます。特定のコードブロックをコンテキストに追加するには⌘+Shift+Lまたは"@"を使用し、⌘+Enterでコードベース全体との対話を開始できます。

  1. @Codebaseまたは⌘+Enterを使用してコードベースに質問すると、Cursorはコードベース内を検索し、あなたの質問に関連するコードスニペットを見つけます。

  2. "@"記号を使用してコードを引用し、AIのコンテキストとして利用できます。 "@"を入力すると、フォルダ内のすべてのファイルやコードシンボルが表示されます。

  3. チャットボックス下の画像ボタンをクリックしたり、画像を直接ドラッグして入力ボックスに入れることで、視覚コンテンツをチャットコンテキストに追加できます。

  4. @Webを使用してインターネット上の最新情報を取得し、Cursorがネットワークを検索して最も適切な答えを提供します。

  5. チャット内のコード提案をコードベースに直接適用するには、チャットコードブロックの上部にある再生ボタンをクリックします。

  6. @LibraryNameを使用して人気ライブラリのドキュメントを参照するか、@Docs → Add new docでカスタムドキュメントを追加できます。

Cursorショートカット ⌘ K 機能

⌘ Kを使用すれば、AIを利用してコードの編集や作成が可能です。コードを編集したい場合、コードスニペットを選択し、「Edit」をクリックして必要な変更を説明します。新規コードを作成したい場合は、直接⌘ Kを押すだけです。

  1. ⌘ Kを使って素早くコードを編集または作成します。コードスニペットを選択後、⌘ Kを押して変更を要求するか、何も選択せずに新しいコードを生成します。

  2. ターミナルで⌘ Kを使用すると、自然言語でコマンドを簡単に記述でき、Cursorがそれを実際のターミナルコマンドに変換します。

  3. コードの一部について素早く質問したい場合は、コードスニペットを選択して「quick question」をクリックすると、すぐに答えを得られます。

比較

特性CursorGitHub Copilot
コード生成と補完包括的なコード生成を提供し、関数全体や複数ファイル構造を作成でき、プロジェクト構造に基づいた文脈認識の提案を行います。行ごとのコード補完と提案に重点を置き、直近の文脈やコメントに基づいてコード提案を行います。
自然言語理解複雑な自然言語命令の理解と実行が得意で、開発者が普通の言葉で機能を説明し、それをコードに変換することができます。コメントや文脈に基づいてコードを生成できますが、複雑な指示の処理能力ではCursorに劣ります。
文脈認識とマルチファイル編集プロジェクト構造全体やファイル間の関係を理解し、Composerなどの機能により複数ファイルを同時に編集できます。主に単一ファイル内で操作し、文脈認識能力は相対的に弱いです。
ユーザーエクスペリエンスと統合独立したエディタをダウンロードする必要があり、学習曲線は個人差があります;VSCodeユーザーにとっては馴染みやすいですが、新機能の習得には時間がかかるかもしれません。既存のIDE(例:VSCode)へのシームレスな統合が可能で、学習曲線は比較的緩やかです。
カスタマイズと柔軟性OpenAI、Anthropic、カスタムモデルなど、AIモデルを選択する柔軟性があり、開発者がプロジェクト要件に合わせてAIの挙動をカスタマイズできます。OpenAIが開発した固定モデルを使用しており、Cursorが提供するAI挙動のカスタマイズレベルには欠けています。
価格とアクセス可能性無料版、月額20ドルのプロフェッショナル版、月額40ドルのビジネス版を提供しています。個人プランは月額10ドル、学生やオープンソース貢献者には無料、ビジネス版は月額19ドル、エンタープライズ版は月額39ドルです。
モデル選択OpenAIのGPTシリーズやAnthropicのClaudeモデルなど、複数のモデルをサポートし、大きな柔軟性を提供します。当初はOpenAIのGPTモデルのみを使用していましたが、最近ではAnthropic、Google、OpenAIからの複数モデルのサポートを発表しました。
モデルカスタマイズプロジェクト要件に応じて最適なモデルを選択でき、高いカスタマイズ度を提供します。現在は主に事前に設定されたモデルに依存しており、カスタマイズオプションは相対的に限られています。
モデル更新定期的にサポートするモデルを更新し、開発者が最新のAI技術を利用できるよう保障します。最近、さらに多くのモデルをサポートすることを発表し、多様なモデルサポートに対する重視が示されています。
多言語サポート複数のプログラミング言語をサポートしていますが、GitHub Copilotがカバーする言語範囲ほど広くないかもしれません。GitHubの膨大なコードベースを活用し、多言語のコード提案や補完機能を提供します。
コミュニティサポートとフィードバックコミュニティ規模は比較的小さいですが、徐々に成長しています。多数のユーザー基盤と活発なコミュニティを持ち、開発者はサポートを受けやすく、経験を共有し、コミュニティからフィードバックや提案を得ることができます。
パフォーマンスと正確性コード提案の正確性や文脈理解において優れ、特に複雑なプロジェクトを処理する際にその力を発揮します。一般的なプログラミングタスクの処理には優れていますが、複雑な言語やコーディングパターンを扱う際には、より慎重なレビューと調整が必要になることがあります。
学習曲線新しいエディタや機能に慣れなければならないため、ある程度の学習時間が必要です。既存のIDEに統合されており、学習曲線は比較的緩やかで、開発者は馴染みのある環境で使用できます。
カスタマイズ可能なワークフロー高度にカスタマイズ可能なコーディング環境を提供し、ユーザーが個人のニーズに応じてインターフェースや機能を調整でき、複数のプログラミング言語に対応します。OpenAIのGPT-4モデルに基づき、開発者にリアルタイムのコード提案を提供しますが、カスタマイズレベルは比較的低く、ユーザーはCursorのように自由に機能やインターフェースを調整することはできません。
統合能力既存の開発ツールやワークフローとシームレスに統合でき、ユーザーがエディタ内で直接ドキュメントや他のリソースにアクセスできるため、コンテキスト切り替えの時間を削減します。GitHubとの緊密な統合により強力なバージョン管理や協力機能を提供しますが、特定のIDEに依存しているため、場合によっては環境制約が影響し、全体的なパフォーマンスに影響を与えることがあります。
コード修正能力複数行編集、インライン編集、スマート予測をサポートし、コードの修正や最適化をより効率的に行えます。主に新しいコードを生成し、既存のコードを修正する能力は比較的弱いです。