AI Tools
ユースケース11 分2025年7月10日執筆:AIGCDev更新日: 2026年10月21日

Cursor 実践:Tab補完、Agent、マルチファイル・リファクタリング

Cursor とは

Cursor は既存エディタにプラグインとして入るのではなく、エディタ全体を制御する AI コーディングエディタです。だからこそマルチファイル編集、プロジェクト全体のコードベースコンテキスト、インライン diff プレビューができます。GitHub Copilot は既存エディタに拡張機能として入るため、扱えるコンテキストの範囲が異なります。

2026 年に入って製品の形がかなり変わりました。中心は Cursor Agent で、Cmd+I(Windows/Linux は Ctrl+I)で開きます。さらに Projects、Cloud Agents、Automations、Bugbot、CLI へと広がっています。古い記事が書いている Cmd+K のインライン編集や Cmd+L のチャットパネルは、もう主要な入口ではありません。

2023 年に登場しました。乗り換える前に確認すべきは 2 点です。日常業務でファイルをまたぐリファクタリングがどれくらいを占めるか、Agent 級の機能に Premium まで払う意思があるか。

料金

Cursor は現在 The X Subscription の一部として販売されています。Grok、Cursor、X を 1 つの購読でまとめる形です。2026-10-21 時点の公式プラン:

プラン 価格 含まれる内容
Free $0 Agent と Chat、利用量に制限あり
Plus $8/月 Cursor 自社モデルのみ(Grok 4.7 / 4.6 / 4.5、Composer 2.5)を固定設定で利用。Cloud Agents、Automations、サードパーティモデルは不可
Premium $30/月 Plus の 4 倍の利用枠。Cloud Agents、Automations、Bugbot によるコードレビュー、Origin でのコードホスティング、サードパーティモデルを API 定価で、Grok Bot が追加
Super $100/月 Plus の 15 倍の利用枠。ピーク時の優先モデルアクセス
Ultra $200/月 Plus の 50 倍の利用枠。新製品と新モデルへの最速アクセス

年払いは Plus $80/年、Premium $300/年、Super $1,000/年、Ultra $2,000/年です。プラン、価格、利用ルールは Cursor Models & Pricing ドキュメント と cursor.com/pricing によるものです(2026-10-21 確認)。

旧 Pro / Pro+ / Ultra / Start / Teams プランは legacy 扱いになりました。 公式の説明は「2 つの月次利用プールとオンデマンド利用を備えたまま、そのまま動作し続ける」というものです。古い資料に Pro $20 や Business $40 とあるのは legacy プランの価格で、新規ユーザーは購入できません。

利用枠は週次でリセットされ、エディタの Agent、CLI、Cloud Agents、Grok Bot、Grok アプリで 1 つのプールを共有します。モデルごとにプールからの消費速度が異なります。残量と次回リセット日はエディタ設定と grok.com/dashboard の Usage で確認できます。

参考として、2026-10-21 時点の GitHub Copilot のプランは Free / Pro $10 / Pro+ $39 / Max $100 です(github.com/features/copilot/plans)。Cursor Plus $8 は Copilot Pro $10 との比較で $2 安いですが、Plus は自社モデルのみで、Claude、GPT、Gemini などのサードパーティモデルを使うには Premium 以上が必要です。

2 つの入口と、コンテキストの供給元

Tab 補完:書いているとき

最も使用頻度の高い機能です。次のトークンではなく、次の論理的な編集を予測します。

  • 複数行のコードブロックを補完
  • 後続の編集を予測(10 行目で変数名を変えると、25 行目でも同じ変更を提案)
  • 行をまたぐ繰り返しパターンを埋める
  • ファイルをまたぐ編集を予測 — あるファイルの変更が別ファイルの更新を必要とするとき、そちらへも追従
  • 提案を受け入れた後にもう一度 Tab を押すと次の編集位置へジャンプし、手動スクロールを省ける

公式ドキュメントは、複数行の編集、不足している import の補完、関連コードにまたがる協調的な変更に対応するとしています。実際に使える割合は言語とコードベースのパターン遵守度によります。本記事では比較テストは行っていません。

苦手な場面:ドメイン固有のパターンを含む複雑な業務ロジック、そして時折出る誤った import です。

Agent(Cmd+I):作業を任せるとき

コードを選択するか質問すると、Agent が複数ステップの作業を自立して進めます。ファイル編集、ターミナルコマンドの実行、コードベース検索を行います。

範囲と境界が明確な作業はそのまま任せられます。たとえば「API が 429 を返したときのエラーハンドリングを追加して」「このクラスコンポーネントを hooks を使った関数コンポーネントに変換して」「このファイルの全エクスポート関数に JSDoc コメントを追加して」です。

逆に制御できなくなるのは次のような場合です。

  • 「このコードを速くして」— 曖昧すぎて、無作為な変更を招く
  • 相互依存する複数ファイルにまたがる複雑なリファクタリングで、制約が明示されていない場合
  • 文脈を持たないコード(プロジェクト内部のプライベート API など)

まず試す価値があるのは diff プレビューです。正確な変更を確認し、ブロック単位で受け入れまたは拒否できます。Copilot Chat では一般的にチャット欄に出たコードを自分で貼り付けます。レビューの粒度が異なるという違いです。

作業量が大きい場合は Projects を使います。コーディネーター agent 自身はコードを書かず、計画を立てて実装を他の agent に割り振り、完成した作業をあなたの確認に戻します。Agents Window の左ナビにあり、基盤は Cloud Agents です。

Cloud Agents に依存するため、Projects はそれが含まれるプラン(Premium 以上)でのみ使え、Free と Plus では使えません。Enterprise は Cursor 3.21.9 以降が必要です。また旧 Privacy Mode とは併用できません。Cloud Agents は実行中クラウドにコードを保存するためです。

コンテキストの供給元:Agent が見える範囲

Agent がコードを見つける手段は主にローカル検索で、クラウドの意味検索ではありません。公式ドキュメントによると、組み込みの Instant Grep で完全一致(関数名、変数名、エラーメッセージ、正規表現)を行い、索引は手元のマシンで構築・照会されます。検索索引のためにファイルパスやコードをアップロードせず、コードベースの embedding も保存しません。開いたファイルの内容は、そのままモデルへのリクエストに含まれます。

この仕組みの上で、次のことができます。

  • シンボルで自動検索 — 「auth ミドルウェアはどう動く?」と聞けば grep で関連ファイルを見つける
  • @ファイル名 で特定ファイルを参照 — 「@schema.prisma User テーブルにはどのインデックスがある?」
  • Explore subagent を起動 — 独立したコンテキストウィンドウで高速モデルが多数の検索を実行
  • マルチファイル編集 — 複数ファイルにまたがる変更を依頼すると、ファイルごとに diff を生成
  • @docs でドキュメントを参照 — 外部ドキュメントの URL を指して文脈にする

示意プロンプト(未実行):

@utils/auth.ts @middleware.ts
auth チェックをリファクタリングして:JWT 検証を共有ユーティリティに切り出し、
middleware と auth utils の両方から呼ぶようにして。重複ロジックは削除して。

Cursor は 2 つのファイルを読み、それぞれに変更を提案し、ファイル単位で受け入れられる diff を表示します。

Cursor と GitHub Copilot

機能 Cursor GitHub Copilot
自動補完 直近の編集・周辺コード・linter エラーに基づいて提案、ファイルをまたぐ トークン単位の補完
インライン編集 Agent(Cmd+I)+ diff プレビュー Copilot Edits
コード検索 ローカルの Instant Grep。パスのアップロードも embedding もなし VS Code では範囲が限定的、GitHub.com では広い
マルチファイル編集 Agent で対応、Projects は複数 agent を編成 Copilot Workspace(別製品)
モデル選択 Plus は自社モデルのみ。Premium 以上で Claude Sonnet 5.5、Opus 5.5、Gemini 4 Argon、GPT-5.6 など モデル選択は限定的
エディタ 独自エディタ(VS Code フォーク) VS Code / JetBrains / Neovim 拡張
価格 Free / Plus $8 / Premium $30 / Super $100 / Ultra $200 Free / Pro $10 / Pro+ $39 / Max $100
プライバシーモード 個人ユーザーは設定で有効化でき、無料プランでも利用可能。Enterprise は既定で有効、チーム管理者が強制できる 個人プランは設定で学習許可をオフにできる。Business / Enterprise はデータ保護契約の対象で、この設定は表示されない

Cursor を選ぶ:リファクタリングが多く、ファイルをまたいで作業し、プロジェクト全体を理解する AI を求め、Cloud Agents や Bugbot にも対価を払う意思がある場合。

Copilot を選ぶ:今のエディタ設定に満足していて、主に補完とインライン提案があればよく、エディタを変えたくない場合。

実践的なコツ

1. Rules でプロジェクト規約を縛る

プロジェクトルールは .cursor/rules に置きます。毎回のリクエストに入るのは alwaysApply: true のものだけで、残りは glob や description の一致で発火します。ルート直下の AGENTS.md は公式が示す簡易な代替です。規約が具体的なほど、出力がそこから外れにくくなります。例えば:

これは Next.js 15 のプロジェクトで、App Router と TypeScript を使う。
既定では Server Components を使い、"use client" は必要なときだけ。
スタイルは Tailwind CSS で、CSS modules は使わない。
すべての API ルートは zod で入力検証する。

公式ドキュメントでは Rules を 4 種類に分けています。プロジェクトルールは .cursor/rules に置いてバージョン管理し、ほかにユーザー単位のグローバルルール、Team/Enterprise 向けのチームルール、簡易な代替として AGENTS.md があります。拡張機構としては Skills、Subagents、Hooks、MCP も別途用意されています。

2. プロンプトを具体的にする

悪い例:「このバグを直して」

良い例:「UserProfile.tsx の useEffect が userId の変化時だけでなく毎レンダーで走っている。依存配列を直し、現在の実装がなぜ問題なのかも説明して。」

3. diff をよく確認する

提案は万能ではありません。よくある誤り:

  • 理由があって存在していた null チェックを削除する
  • 不要な async/await を追加する
  • 誤ったパッケージバージョンから import する
  • TypeScript の型の絞り込みに関する微妙な誤り

4. Tab で繰り返しを加速する

テストファイル、設定項目、API ハンドラで似たコードを書くとき、最初の 1 つを手で書いて残りを Tab に予測させます。繰り返しが多いほど効果は大きくなります。

5. 外部ドキュメントを索引化する

API の変化が速いフレームワーク(Next.js、SvelteKit、tRPC)では、@docs で最新ドキュメントを指してください。そうしないと古い API バージョン向けのコードを生成することがあります。

制約

  • リソース消費 — 独立したエディタであり、VS Code + Copilot と同じランタイムではありません。乗り換える前に、自分のマシンと実際のプロジェクトで応答性を測ってください。
  • 拡張機能の互換性 — 多くの VS Code 拡張が使えますが、エディタに深く統合する拡張は不具合が出ることがあります。乗り換え前に必須拡張を確認してください。
  • 利用枠は月次ではなく週次でリセット — 2026 年の変更です。ある日に集中して使っても 1 か月分を食い潰さない利点がある一方、月末に向けて枠を貯めることはできません。
  • サードパーティモデルは別料金 — Premium 以上で Claude、GPT、Gemini が使えますが、API 定価でプリペイド残高から引かれ、月額には含まれません。
  • 学習コスト — 良い結果を得るには、タスクの範囲と受け入れ条件を先に書き切る必要があります。
cursorgithub-copilotcodingdeveloper-toolside