Cursorを使ってみた – AI時代のペアプロ環境
動機:なぜCursorを使ってみようと思ったのか?
近年、ChatGPTをはじめとする生成AI技術はかなり進化しており、色々なAIサービスが出てきました。
- GitHub Copilot: MicrosoftとOpenAIが共同開発したAIペアプログラミングツール
- Amazon CodeWhisperer: AWSが提供するAIコーディングアシスタント
- Tabnine: オープンソースのAIコード補完ツール
- Codeium: 無料で使える高性能なAIコーディングアシスタント
- JetBrains AI Assistant: JetBrains IDE向けのAIアシスタント
- Cursor: VS CodeをベースにしたAIコーディングエディタ
数ある中でCursorを選んだ理由としては、AIモデルの自動選択機能があるためです。
AI自体に大した興味はなく、細かい調査コストを抑えてとりあえず使用開始するためと、初回登録時なら2週間のPro版試用期間の間は色々とモデルを使用できるため、比較がしやすいかと考えたため選択しました。
初めて触ってみた印象
Cursorは一言で言えば、VS Codeです。外観や基本的なUIはVS Codeそのもので、既存のVS Codeユーザーであれば違和感なく使い始められます。
VS CodeにAIエージェントが統合されているだけといえばそれまでですが、
- プロジェクト内のコードを自動で読み込む
- 複数ファイルにわたってコードの内容を解析
- AIがコマンドも実行できる
- コマンドの実行結果を読み取り自動で次の処理を考えて実行
など、一言で言えば「コピペの手間」が削減出来るのが非常にインパクトが大きいと感じました。
コードやエラーの内容をブラウザにコピペするのは、人間が行う必要がない単純作業です。それを省略できるというのは、本当に快適です。
軽い気持ちで使ってみましたが、使い始めると手放せなくなりました。
既存コードの解析
日々の業務では、既存プロジェクトへの途中参加や、他チームが開発したコードのキャッチアップする必要が発生します。
その際にドキュメントを読んだり、コードを読んだり、とにかくキャッチアップのコストが必要です。
プロジェクトごとにnpmだったり、yarnだったりとコマンドも違ったり、初期化コマンドがあったりなど、実行方法が様々でまず実行するまでが大変だったりします。
しかし「まずはローカルの開発サーバを立ち上げてください」と書けばエラーメッセージの解析含めて行けるところまで実行してくれます。
また、ローカル環境で実行するにもローカルのパスの問題や依存ライブラリの関係、envの内容等のコードの本質的な所ではない事でハマることが多々あるため、それを回避できるのは非常に嬉しいと考えます。
新規プロジェクト
初めて触る技術やフレームワークでは「Hello, World」を表示させるだけでも学習コストがかかりますが、
空のディレクトリをCursorで開いて「~のプロ ジェクトの雛形を作成してHello, Worldを表示してください」とでも書けば何かしら動作するものを作成できます。
何の技術にしても一番最初に触るまでの準備が大変なため、そのトライアンドエラーのコストを抑えてサクッと始められるのは非常に気分が良いです。
問題点
もちろんAIエージェントなので、完璧ではなく、
- 複雑な要件を与えると無駄に複雑なコードを書く
- 指示と異なる仕様で実装し始めるケースもある
- テストの条件を勝手に改変したりする
- もちろん、コードの安全性に関しては最終的に注意して確認する必要がある
あくまでもChatGPT等へのコピペの手間が削減されたと考えて、細かい動きまで確認する必要はあります。
感想とまとめ
こうしたデメリット含めても非常に効率のいいコーディングができるため、一度使ったら手放せなくなりました。
慣れたものならCopilot+ChatGPTでも快適ですが、全てを把握できないシステムなら導入してみる価値はあると思います。