
はじめに
お久しぶりです。 tanukiti1987 です。
今回は、しくみ製作所で社員に向けて配布されているコード生成 AI サービスについて、ご紹介しようと思います。
最近は、様々な会社で Cursor のライセンスを従業員に配布するというニュースを見かけることも多くなってきました。
そういったニュースやプレスリリースこそ出さないものの、しくみ製作所も Cursor 含め、コード生成 AI サービスのライセンスの付与が行われています。
現在は 3 つの選択肢がありますので、それらについて特徴やメリット・デメリットなどもお伝えしていき、本記事を通して、自分に合うサービスが見つけられることを目指します。
免責事項
コード生成 AI サービスの改善・バージョンアップには目まぐるしいものがあります。
記事の公開時点での最新の内容について書いているつもりですが、古い内容を含む可能性があります。
その点ご了承ください 🙇♀
現在の利用状況
現在のしくみ製作所における利用状況は以下のようになります。
Cursor が目立って多いですが、Copilot や Windsurf の選択肢を選んでいる人もおり、それぞれに良さがあるのだと思います。
コード生成 AI サービスについて
これから 3 つのサービスについて、特徴等をご紹介していきます。 その前に、いずれのサービスにも共通する機能がありますので、まずはそれについて説明していきます。
共通する機能
以下の 3 つは、いずれのサービスにも共通する機能です。 それぞれを使い分けることで、より強いコード生成のアシストを受けることができます。
コード補完
- エディタで開いているファイルのカーソルの位置から、次に書かれるコードを予測して提案してくれる
- 手でコードを書き進めているときに、便利
Inline Chat
- エディタで開いているファイルのコードを範囲指定して、コードの解説をしてもらったり、リファクタリングや実装をさせる
- 次に続くエージェントとの違いは、あくまで範囲指定した範囲のコードに対してのやり取りになること
Chat/Agent
- コードを表示するエリアとは別に独立したチャットエリア
- 開いているディレクトリ全体といった大きなコンテキスト〜特定ファイル・特定の行といった限定的なコンテキストに関する質問や実装依頼が可能
- Agent を用いることで、ファイルの操作やターミナルの操作を代行してもらうことも可能
共通機能の活用方法
Vibe coding という言葉もありますが、プロダクション向けのコードを書いていく上では、これら 3 つの基本機能を適切に使い分けながら書いていくことが重要だと思っています。 (Vibe coding は平たくいうのであれば、すべてを Agent に委ねてコードを書いてもらうようなものだと解釈しています)
それぞれが得意な領域も異なりますので、ざっくり以下のような順番で使っていくとスムーズかと思います。
- Chat/Agent を使って、コードの変更を依頼して、完成度 6〜7 割くらいを目指す
- Inline Chat を使って、メソッド等の実装内容や分割具合などを微調整していく(完成度 8〜9 割くらいを目指す)
- プロンプトを打つより、直接書いてしまったほうが速いような微改善をコード補完とともに実装する
ここでの肝は、すべてを Chat/Agent に 委ねないこと になります。 もちろん、LLM の改善により、こういった使い分けも不要になり、Agent 一本でコードを書いてくれる世界も来るかもしれませんが、今はまだそのときではありません。
それでは、長くなりましたが、以下にそれぞれのサービスの特徴、メリット、デメリット、おすすめの人にご紹介していきます。
Cursor
特徴
- コード補完、Inline Chat、Chat/Agent すべてにおいて強力なコード生成支援
- 1 つのプロンプトで、多くのコード生成やツールコール(CLI の実行等)をしてくれる
- 設定がとても細かくできる
メリット
- コード補完が速く、生成されるコード量も多く、コード生成の精度も比較的高い
- 月 500 回まで有料モデルを呼び出すことができ、そのタスク処理中のツールコールは無料
- 開いているプロジェクト特有のルールを複数設定でき、ルールの適用方法についても、利用者が細かく指定できる
- (※) プロジェクトの技術構成や、こういうときにはこういうコマンドを実行する、コーディングルールなどを定めるものを「ルール」と読んでいます
- 加入しているプランに隔てなく、機能やモデルを使える
- 使っている人も多いので、知見を得やすい
デメリット
- 設定がほかと比べると多いので、初めて触る人には複雑で億劫に感じられることがある
- Chat/Agent 周りの障害が比較的多め
- 障害情報が流れていなくても、プロンプトがなぜか送れない。というときもあったりして、動作の不安定さを感じるシーンもあります
こういう人にオススメ
- 設定が多少煩雑になったとしても、自分で調整しながら利用することに抵抗感がない方
- 最先端のモデルを使用しながら、常に最新の利用方法を探っていきたい方
Windsurf
特徴
- コードエディターよりも、Agent によるコード生成支援に比重が置かれている
- アプリケーションとして、UI/UX が洗練されている
メリット
- 設定すべき項目が少なく、設定に悩むことが少ない
- Memory を使うことで、ルールを自動で作成してくれるため、手動でのルール管理がほぼ不要
- コンテキストの把握能力が高く、タスク依頼をしても、とんでもない方向に実装を繰り広げてしまうことが少ない
- Cursor 比で、LLM との接続障害は少ない
- 少なくとも私が 1 ヶ月使用してみて、接続できない等の障害はありませんでした
デメリット
- コード補完は Cursor 比で遅く、生成量も少ない
- タスクの遂行能力は高いと思うが、コードの生成スピードは遅い
- 細かな設定、ルールの定義はできないので、Agent が手に馴染む成果物を出すまでに少し時間がかかる
- Memory が蓄積されてくると気にならなくなってきますが、インストールしたての場合は、やり直したくなる挙動も多い
- Team プランでは、Cursor と比較して、モデルの選択肢が少ない
こういう人にオススメ
- 多機能は目指さず、まずは AI エディターに慣れてみたい方
- 生成スピードよりも、エージェントが秩序を保ちながらコードを編集してくれることを重視したい方
GitHub Copilot
特徴
- 老舗のコード生成 AI サービス
- エディタ機能を超えて、GitHub との強い連携機能の提供
メリット
- 本家 VSCode の拡張をすべて使うことができる
- モブプロできる拡張 LiveShare や、最近では C#/C++ の拡張が Cursor では使えなくなったりしています
- Web 上の GitHub にて、PullRequest の AI レビューや、description の生成、コードの解説を行うことができる
デメリット
- エージェント機能が安定版にリリースされましたが、使い勝手も、成果物も他の 2 つと比較してもまだまだこれから
- 生成スピードも遅く、ルールの設定も今のところ細かくはできない
- プロンプトに添えるコンテキストの指定が他 2 つと比較しても、UI がわかりにくく、指定もしづらい
- 2025 年 5 月 5 日からは、定額使い放題ではなくなり、Pro/Business では 300 リクエスト までが配布クレジットになる
こういう人にオススメ
- GitHub Copilot に付属する、PullRequest レビューや description の生成、解説などを重視したい方
- 本家 VSCode や、GitHub Copilot に対応した拡張を持つエディターを使いたい方
上記以外のエディターを使っている方へ
ここまで 3 つのコード生成 AI サービスを紹介しましたが、RubyMine など、弊社でも使う人が多いエディターを利用されている方もいると思います。 エディターを移行するのはハードルが高いところではありますが、Cursor/Windsurf/Copilot において、開発生産性を大きく上げているのは「エージェント」の機能になります。
そこでおすすめするのは、普段使うエディタと、今回ご紹介した生成 AI サービスを併用して立ち上げ、初手のコード生成部分だけをエージェントに遂行させ、残りの仕上げを普段使いのエディタで行う。というのもおすすめしたいです。
さいごに
今回は、しくみ製作所で社員に向けて配布されているコード生成 AI サービスについて、ご紹介しました。3 つの選択肢に偏りなく、メリット・デメリットをご紹介しました。それぞれに特徴があり、自分に合うものが見つかると嬉しいです。
今回、このブログを書くにあたり、3 つのサービスを並行して試用してみましたが、私自身は日々の生成 AI 活用の動向も気になるし、周囲に Cursor を使っている人が多いこともあり、いずれか一つを選ぶなら Cursor を選びます。
一方で、Windsurf の設定の少なさ、生成されるコードの質の高さはとても気に入りました。上記には書きませんでしたが、Windsurf の Team プランでは使用できるモデルが Cursor と比較すると少なく、個人的にはその点が妥協できないところでした。
GitHub Copilot は、GitHub (Web) との連携機能が気に入りましたが、エージェント機能がどうしても劣るところがあり、開発生産性を上げるという観点では選択肢に入るのが難しいように思いました。
いやいや、こういう使い方がある。こういうところは優れている。ということがありましたら、ぜひ教えて下さい。
それではよいコーディングライフを!












