Agile育成ブログ
未来を変える喜びを
未分類

Cursor 2.2:4つのモード徹底解説

Cursorのチャット欄(Cmd+L / Ctrl+L)やComposer(Cmd+I / Ctrl+I)のドロップダウンで切り替えられるこれらのモードは、それぞれ「AIの自律性」と「目的」が異なります。

1. Ask モード(質問・調査)

「コードを書き換えず、知識だけを借りる」モードです。 既存のコードに一切変更を加えないため、安全に調査ができます。

  • 役割: コードの意味を解説させる、ベストプラクティスを聞く、リファクタリング案を相談する。
  • 特徴: ファイルを書き換える「Apply」ボタンが出ないため、純粋な対話に集中できる。
  • ブログでの紹介例: 「まずは『Ask』で設計を相談。納得してから実装へ。」

2. Plan モード(設計・タスク分割)

「実装前に『手順書』を作る」モードです。2.2での最大の進化ポイントの一つです。 複雑な機能をいきなり作り始めるのではなく、まず「何をすべきか」を整理します。

  • 役割: 実装ステップの可視化、タスクの細分化。
  • 新機能: Mermaid形式の図解(フローチャート)を自動生成して、処理の流れを視覚的に示してくれます。
  • 特徴: 生成されたToDoリストを確認し、OKならそのまま「Agent」に渡して実行させることができます。

3. Agent モード(自律実行・構築)

「AIが主体となって手を動かす」最強の実行モードです。 単一ファイルの修正に留まらず、プロジェクト全体を横断してコードを書き換えます。

  • 役割: 新機能の実装、大規模なリファクタリング、複数ファイルの一括修正。
  • 特徴: ファイルの作成、ターミナルでのコマンド実行、既存コードの削除などを自律的に行います。
  • 最新機能(Multi-agent Judging): 内部で複数のAIが解決策を考え、最も優れた案をAI自身が選定して提案します。

4. Debug モード(科学的デバッグ)

「事実(ログ)に基づいてバグを仕留める」新設モードです。 「たぶんここが原因です」という推測ではなく、「実際に動かして確かめる」アプローチを取ります。

  • 役割: 原因不明のバグ修正、実行時エラーの解消。
  • プロセス:
    1. AIが原因の仮説を立てる。
    2. 検証用のログコードを自動で埋め込む。
    3. 開発者がアプリを動かし、AIがログを分析。
    4. 特定された原因に対して最小限の修正を行い、ログコードを掃除して終了。

【比較表】どのモードをいつ使う?

モードAIの行動主な利用シーン2.2の注目ポイント
Ask答えるだけ仕様の理解・技術相談履歴のピン留め機能
Plan手順を考える複雑な機能の設計Mermaid図解・ToDo分割
Agentコードを書く一気呵成な実装複数AIによる案の比較
Debugログを追う厄介なバグの特定ログ埋め込み〜自動削除

なぜモードの「切り替え」が重要なのか?

それぞれのモードは「脳の使い道」が違うからです。

  • Agentモードの脳(クリエイティブ・構築): 「新しいものを作る」のが得意です。しかし、バグが出たときに「とりあえずこう直せば動くかも?」と勘でコードを書き換えて、逆に状況を悪化させる(いわゆる「壊しながら直す」)弱点があります。
  • Debugモードの脳(論理的・調査的): 「原因を特定する」ことに特化しています。勘に頼らず、「ここにログを仕込んで値を確認しよう」という着実なステップを踏みます。

【使い分けのイメージ】

自分: 「Agentさん、この機能作って」 Agent: 「OK!(コードを書くが、実行するとエラー発生)」 自分: (ここでモードを Debug に切り替えて)「エラーが出たから、ログを見て原因を特定して」 Debug: 「承知しました。変数の値を調査して、最小限の修正案を出します」

2. 情報の共有はどうなっている?

モードを切り替えても、以下の情報はすべて保持されたまま「引き継ぎ」が行われます。

  1. コンテキスト(文脈): それまでのチャットでの指示内容や、AIが何をしようとしていたかという流れ。
  2. コードベースの状態: Agentが書き換えた最新のファイル内容。
  3. 作業履歴(Plan): Planモードで立てた手順のうち、どこまでが終わっているかという進捗状況。

3. 「Debugモード」へ切り替えるべき決定的な瞬間

Agentで開発中に以下のような状況になったら、迷わずDebugモードに切り替えてください。

  • 「無限ループ修正」に陥ったとき: AIが「修正しました」→「あ、まだエラーですね。再修正します」を3回以上繰り返したら、AIが原因を勘違いしています。
  • 「実行時エラー」が出たとき: コードの文法(Syntax)は正しいのに、ブラウザを動かすと「undefinedです」などと怒られる場合。これはログを見ないとAIも分かりません。
  • 複雑なロジックが絡むとき: データベース、API通信、非同期処理など、目に見えない裏側の動きでバグが起きているとき。