10月から勤め先のリンクアンドモチベーションでも、Cursorの有料ライセンスを配布することになり、よく質問を受ける機能の使い分けをまとめました。
- 前提
- Cursorとは
- Chat機能でできること
- Composer機能でできること
- Cursor Composer Normal Modeでできること
- Cursor Composer Agent Modeでできること
- おわりに
前提
本記事で使用しているCursorアプリの情報は以下の通りです。バージョンやOS違いによる情報の齟齬にはご注意ください。
- バージョン:
0.44.11
- OS:
macOS
Cursorとは
Cursorは、AIを活用した次世代のコードエディタです。
CursorはVisual Studio Codeからフォークして開発されているため、Visual Studio Codeと似た使い心地を維持しながら、以下のような特徴的な機能を提供しています。
- Cursor Tab:
非常に強力なCode Copilot機能 - Cursor Chat:
エディタ内のコードとシームレスに連携し、AIに質問することができる機能 - Cursor Composer:
Cursor Chatと同じようにAIを扱えるが、Cursor Composerはコードの編集により適した機能
Chat機能でできること
公式ドキュメント: Chat - overview | Cursor - Build Software Faster
Cursor Chatは、コードベースに関する質問や相談ができる対話型のAIアシスタント機能です。主な特徴は以下の通り:
1. コンテキストを考慮した質問が可能
現在開いているファイルやカーソル位置のコードを自動的に認識するので、「ここにバグはありますか?」といった直感的な質問が可能。
またショートカット(Ctrl+Shift+L
)や、@
を使用したシンボル追加によってコードブロック単位での参照も可能です。
2. コードベース全体への質問が可能
チャットの送信時に Ctrl+Enter
を使用することで、コードベース全体に関する質問が可能。
または @Codebase
を使用することでも、プロジェクト内のコードを検索して回答させることが可能です。
3. 豊富な参照機能
@
シンボルでは、上記で紹介した以外のコンテキストを指定することが可能。
フォルダやGit、一般公開されているライブラリのドキュメント等も参照可能です。
4. コード提案の即時適用
チャットで提案されたコードは、コードブロック上部の Apply
ボタンをクリックすることで即座にコードベースに適用可能です。(詳細は公式ドキュメントを参照)
Composer機能でできること
公式ドキュメント: Composer - overview | Cursor - Build Software Faster
上記の通りCursor Chatでは、エディタ内の情報はもちろんエディタ外からも情報を参照でき、また提案されたコードをコードベースに適応することができます。
そしてそれらの機能はこのCursor Composerでも実行可能です。
では、Cursor ChatとCursor Composerは何が違うのか。公式ドキュメントからの引用によると:
What’s the difference between Chat and Composer?
Cursor Chat helps you search and understand your code. Use it to explore your codebase, ask questions, and get explanations. You can search your code with ⌘⏎. Composer helps you write and edit code. It provides a workspace where you can generate new code and apply changes directly to your files.ChatとComposerの違いは?
Cursor Chatは、コードの検索と理解を支援します。コードベースの検索、質問、説明の取得にご利用ください。コードの検索は⌘⏎で行えます。Composerはコードの記述と編集をサポートします。新しいコードを生成したり、変更をファイルに直接適用できるワークスペースを提供します。
というふうに、コードの編集により適した機能がCursor Composerになります。 どういった点がコードの編集に適しているかは、後続の章で記載します。
Cursor Composer Normal Modeでできること
公式ドキュメント: Composer - overview#normal | Cursor - Build Software Faster
Normal Modeは以下のように右下にある normal / agent
トグルボタンで、normal
側をアクティブ状態にすることで利用することができます。
Cursor Chatとの違い
前述の通りCursor Chatの場合はコードの提案はしてくれますが、コードへの適応は人間が実行する必要があります。しかし、Cursor Composerの場合はコードの適応まで自律的に行ってくれます。
Cursor Composer Agent Modeでできること
公式ドキュメント: Composer - overview#agent | Cursor - Build Software Faster
Agent Modeは以下のように右下にある normal / agent
トグルボタンで、agent
側をアクティブ状態にすることで利用することができます。
注意事項
以降の説明では、Yolo ModeをONにした状態で解説しています。Yolo Modeはバージョン0.44.x
で導入された機能になりますが、OFFにしている場合、スクリプトの自動実行がされませんのでご注意ください。(Changelog - Dec 17, 2024 | Cursor - The AI Code Editor | Cursor - The AI Code Editor)
Cursor Chat / Cursor Composer Normal Modeとの違い
前述の通りCursor Chatの場合はコードの提案まで、Cursor Composer Normal Modeはコードの適応までを実施してくれます。
対してCursor Composer Agent Modeはさらに、コードの適応後にスクリプトを実行して動作確認を自律的に行ってくれます。
以下の画像の例では関数の呼び出し処理が必要だと考え、その処理を追加する提案とコードの適応までを自律的に行っています。
Cursor ChatとCursor Composer Normal Modeで同様の指示をしたら、動作確認の方法を提案してくれますが動作確認はしてくれません。
スクリプト実行以外だとファイルの読み込みも自律的にしてくれる
以下のファイルに記述されている Hello Agent Mode!
を出力するように指示してみます。
プロンプトでは読み込み対象のファイル(output_text.txt
)をファイルコンテキストに追加せず相対パスを指定します。
すると相対パスから読み込み対象のファイル内容を確認し、コードの変更に使用してくれます。
Cursor Composer Normal Modeで同様の指示をしたらファイルを読み込む処理を追加します。これは期待していた変更とは違います。
おわりに
今回は、Cursor Chat / Composer Normal / Composer Agentの違いと基本的な使い分けについてまとめました。
使い分けについては、公式ドキュメントにもあるように、
- コードについて確認したいときは、Cursor Chat
- コードにちょっとした変更を加えたいときは、Cursor Composer Normal Mode
- コードに複雑な変更を加えたいときは、Cursor Composer Agent Mode
というようにするとよいのではないでしょうか。
今後のブログ執筆意向
個人的には珍しいCursorの機能や挙動を記事にしたい気持ちもありましたが、AI系のツールをより広く普及するためにも、しばらくはこういった記事を中心に執筆していきたいと思います。