みなさん、AIにコード書かせてますか?
最近Cursorを改めて使ってみたんですが、めちゃくちゃ便利で目ん玉飛び出しました。
そんなめちゃ便利Cursorなんですが、最近GitHubのCopilotも似たような機能をPreviewで出してきて、それがCopilot Editsです。
まだCopilot EditsはPreview段階なので比べるのもおかしいかもしれないんですが、比較してみました。
コード生成 on Rails
とりあえずコード生成の比較をしてみます。
今回利用したのはRailsのコード生成です。元となるコードは以下で、Rails 8.0でBootstrapが準備された状態です。(rails new xxx --css=bootstrap相当)
今回用意したタスクとしては、「/lpでアクセスできるランディングページを作成する」というものです。これで比較してみます。
Cursor
まずはCursorからです。YouTubeに動画をアップロードしてみました。
Cursorの便利な点として以下がありました。
- chatで指示するだけで差分を作成してくれる
- 差分ごとに適用するか決められる
- 関連するコマンドが必要な場合は、コマンドも提案してくれる
特に差分を適用するか否かを決めるUIはとても便利だと思いました。
Copilot Edits
次はCopilot Editsです。Copilot EditsはVSCodeで実行しています。こちらも動画をどうぞ。
Copilot Editsの便利な点として以下がありました。
- chatで指示するだけで差分を作成してくれる
- 差分ごとに適用するか決められる
- 必要なその他ファイルがある場合はファイル自体を生成してくれる
ファイル自体を生成するのは力技すぎて少し面白いなと思いました。特にmigrationファイルを勝手に生成してくるので、力技感がすごいです。
両者の違い
CursorとCopilot Editsでのコード生成の違いとして、一番に挙げられるのはコード編集のアプローチ方法です。
Cursorではコードは生成するが、あくまでもchat内でコードを生成し、その差分を適用するかどうかは操作者が行います。
対してCopilot Editsではコード自体を書き換え + ファイル生成して、それを受け入れるかどうかを操作者は行います。
この違いは体験としてかなり違うと感じました。現時点においての感想では、Cursorでは熟練者とペアプロをしている感覚で、Copilot Editsでは熟練者からコードを雑にぶん投げられているような感覚です。(伝われ)
どちらがやっていて楽しいかと言えば、Cursorの方が体験的には楽しく、あくまでも自分でものを作っている感覚になれました。
その他
細かい点
これはVSCodeでも設定や言語次第ではできるかもしれませんが、Cursorではリファクタリングや普通の修正でもAIの力を感じます。
例えば変数名を変更したときに、利用しているその他変数名の変更は、基本的にtabを連打すれば変更できます。
こういった細かい違いも、開発者体験として非常に重要だなと感じました。
料金面
Cursorではビジネス用途だと$40/monthで、Copilotはビジネス用だと$19なので、Copilotの方が半額で安いですね。ただCopilot EditsがPreview外れたときにどのような金額になるのかはわからなかったです。(どこかに載ってる?)
結論
現状ではCursorとCopilot Editsでは、開発者体験的にCursorの方がいいかなと思いました。ただCopilot EditsはまだPreview段階なので、これから変わってくると思いますし、料金面や安心面で言うと明らかにGitHubの方に軍配は上がるので、今後の進化次第ではひっくり返ると思います。
そんな感じでCursorおすすめです。