はじめに
AI技術の進化により、エディタの分野でも新たな進展が見られます。その中でも、GitHub CopilotとAI搭載エディタのCursorは特に注目されています。本記事では、Cursorを実際に利用してみた所感を記します。
注意
Vue.jsのプロジェクトで利用したのでキャプチャもそのようになっています
Cursorについて
ChatGPTが標準搭載されており、VsCodeをフォークして作成されているエディタのため、Cursorをセットアップした段階でVsCodeにインストール済みの拡張機能まで同期されます。
これによりVsCodeユーザにとって導入のハードルは低くなるはずです。
ダウンロードはこちらから(インストール手順は割愛)
UIはよくある構成に+α、右側の赤枠内にChat欄が存在しているくらいです。
Cursorの特徴
通常のChatとは別にCodebase Answersがあり、これによりプロジェクト全体のコード(どこまで網羅してくれのかは不明)を読み込んで回答をしてくれます。
例えば、「○○の機能を追加して」と問いかけるとAのファイルにはこの記述を、Bのディレクトリに新たにCという名称のファイルを作成し、その中身はこれです!という感じで、ディレクトリ構造を考慮した上で回答がかえってきます。
クラスや関数の説明もしてくれるのでPJへの新規参画者や、初学者には特に優位に働く機能となっています。
ただしここまでの話はgpt4を利用したもので、実際gpt3.5と4には大きな差がありました。(gpt4の利用条件は後述の料金体系で
「ID、名前、備考を表示する一覧の機能を追加してください」 というプロンプトに対してgpt3.5ではvuejsでコーディングしてくれるもののitems
自体の定義は提案してくれていません。
対してgpt4の場合だと、処理の説明やitems
もコーディングしてくれています。(実際はコードの下にさらに説明を加えてくれています)
何度か試した結果、gpt3.5だと以下のような結果でした。
・自然言語での解説がない
・繰り返し処理にforを使ってくれないときが稀にある
・表示しているcurrent fileに対して+αでコーディング提案はしてくれない
Cursorにはその他にいくつかの機能があります。
- @Symbols プロジェクト内のファイルを瞬時に参照できる機能
- Auto-Debug ターミナルでコードのエラーが発生した際に原因を自動で検出してくれる機能
- Fix Lints lintエラーの上にマウスオーバーすると青ボタンが表示され修正してくれる機能
- Docs サードパーティライブラリのドキュメントをAIに読み込ませる機能
このDocs という機能は読み込み先のURLからドキュメントを学習させることができます。
「+Add new doc」押下でURL入力用テキストボックスが表示され任意のライブラリを追加します。
Chat欄に登録したライブラリをメンションすることでコードとの関連性を確認することができます。
公式ライブラリだけでなく、用意した要件定義書を学習させることで、要件を満たしているかの判定をしてくれるような運用ができれば夢が広がります。
余談ですが、ChatGPTなのでなにもコーディングに関連した質問にだけ応じてくれるわけではありません。
これによりコーディングをしながらブラウザを跨ぐことなく全く別ジャンルの提案も行ってくれます。
料金体系
プラン | 価格 | GPT-3.5 | GPT-4 |
---|---|---|---|
Basic | 無料 | 200回 / 月 | 50回(リセットなし) |
Pro | $20 / 月 | 無制限 | 無制限(高速verは500回 / 月) |
Business | 1名ごとに$40 / 月 | 無制限 | 無制限 |
Proプラン以下だと、OpenAI社のサーバにプロンプトや出力結果が保管されますがBusinessプランの場合、OpenAI社のサーバにデータが保管されなくなるのでよりセキュアになります。
ただしPro以上の有料プランにしなくても自身のOpenAI Keyを利用することも可能です。
まとめ
VsCodeをフォークしているだけあって、エディタとしての使い勝手は悪くないです。
不満点を挙げるとするとGitHub Copilotに比べて有料プランは個人・ビジネスともに料金は2倍なのでランニングコストはかなりかかります。
ただBasic(無料プラン)で一度利用してみるのは十分アリだと感じました。
Fix Lintsの機能なんかはLinterの拡張機能を入れていればいいかなという所感もありましたが、自分にとってはCodebase Answersがかなり楽しかったです。
Cursorにはコード保管機能がないため、この点がGitHub Copilotに劣っているので今後の機能追加に期待したいです。
appendix
Cursor公式ページ