Cursorには、主に以下の3つのモードがあり、それぞれ用途や動作の仕組みが異なります。
1. Askモード
- 目的: コードの説明や疑問点の解消、コードベースの探索に適しています。
- 特徴:
- コードの変更は直接行わず、あくまで「質問」や「解説」を提供するアシスタントとして動作します。
- 具体的なコード修正よりも、コードの意味や改善点、実装の流れについての情報提供に優れています。
- メリット・デメリット:
- メリット: 非侵襲的で、理解を深めたり、コードの意図を確認するのに安心して使えます。
- デメリット: 自動でコードを変更するわけではないので、提案内容を自分で実際のコードに反映する必要があります。
(参考:
2. Editモード
- 目的: 単一ターンで精密なコードの編集を行いたい場合に使用します。
- 特徴:
- ユーザーが指定した内容に基づいて、コードの一部を直接編集・修正します。
- 単発の編集作業にフォーカスしているため、変更範囲が限定され、意図しない大規模な改変を避けられます。
- メリット・デメリット:
- メリット: 細かい修正を迅速に行えるため、既存コードの調整やバグ修正に適しています。
- デメリット: 編集が一回限りのため、複数ファイルにまたがる大規模な変更や、ターミナルコマンドの実行などには対応しません。
(参考:
3. Agentモード
- 目的: 複雑なタスクを自動で完結させるためのモードです。
- 特徴:
- AskとEditの機能を統合し、さらに拡張した形で、コードベース全体の文脈を把握しながら複数ファイルの変更やターミナルコマンドの実行など、エンドツーエンドのタスク処理が可能です。
- 高度な推論能力を持ち、自動で複数の工程を連携させることができるため、プロジェクトの初期設定や大規模なリファクタリングに向いています。
- メリット・デメリット:
- メリット: 自動化と高い文脈認識により、迅速かつ包括的なコード生成や修正が可能です。また、複数の操作をシームレスに行えるため、開発スピードが向上します。
- デメリット: 自動処理のため、意図しない変更が加えられるリスクや、細かい制御が難しい場合もあります。使用する際は変更内容を十分に確認する必要があります。
(参考:
まとめ
- Askモードは、コードの理解や疑問解消に最適で、直接のコード変更は行いません。
- Editモードは、細かい修正を迅速に実施したいときに使い、単一のターンでの変更に特化しています。
- Agentモードは、AskとEditの機能を統合し、さらにターミナルコマンドの実行なども可能な、複雑なタスクを自動で処理するためのモードです。
これらのモードを適切に使い分けることで、作業効率の向上と安全なコード編集が実現できます。どのモードを使用するかは、実施したいタスクの性質や求める操作の自動化度合いに合わせて選ぶと良いでしょう。