CursorとWindsurfを約1ヶ月弱併用して分かったそれぞれの特徴 | 比較
こんにちは、しば田と申します。エンジニアの皆様、AIエディタ使っていますでしょうか。私は毎日10時間以上AIエディタ使っているのですが、本当にえげつなく高性能で毎日驚かされます。
今回は、CursorとWindsurfを約3週間くらい併用してみてかなり分かってきたので自分の整理も兼ねてアウトプットします。
注意
- 個人的な好みも含まれています。
- 感覚値ベースで書いている部分も多分にあります。反対意見ウェルカム(むしろ欲しい)です。
- ツール自体もモデルもアップデートがとてつもなく早いため本記事の執筆時点から今日までで機能や使用感が大きく変わっている可能性も十分にあります。
- チームで使用したことはありません。
結論
どちらがいいという結論はありません。どちらにも強み・弱みがあります。(しかも使う人によって強み弱みの判断も変わると思います。)
本章で語る内容を凝縮して表にしました。
項目 | Cursor | Windsurf |
---|---|---|
コスト | - $20/500リクエスト - 単純な従量課金制 - 自前APIキー利用可能 |
- $15/500リクエスト - Flow Action Credits制(Pro Ultimateは料金に対してクレジットが少なめ) |
UI | - 情報量が多い | - シンプルで洗練 |
UX(開発体験) | - ガンガン | - 慎重 |
生成コード量 | - 多め | - 必要最小限 |
コード品質 | - 両者ほぼ同等 | - 両者ほぼ同等 |
コンテキスト保持 | - コードベース把握と短期記憶は強い | - コードベース把握と短期記憶に加えて長期記憶も強い |
コード補完 | - 「カーソル予測」により高速なタブジャンプが再考 | - 補完機能は優秀だがCursorの下位互換(Wave3で改善している説) |
エラー修正 | - 「Fix In Composer」で同一セッション内で連続修正 | - 「Explain And Fix」は新セッションで実行され、コンテキストが分断される場合がある |
機密ファイル | - 機密ファイル(.env等)の読み取り・編集が可能(注意が必要) | - .env、.windsurfrules、.gitignore等は、閲覧・編集不可の返答 |
アップデート速度 | - 月1の大型アップデート、新モデル対応が迅速 | - 頻繁な機能改善・アップデートを実施(UIやセキュリティ面も強化) Wave2,3のような大型アップデートも月1 |
前提条件
比較の前に前提条件です。
rulesファイル
.cursorrules、.windsurfrulesにはほぼ同じ内容を記載しています。
どちらもベースは、きのぴーさん作成のこちらのrulesを参考に作成しました。
モデル
9割は、Clude 3.5 Sonnetを使っています。
クレジットが枯渇しそうになると、Planning(Chat)に関しては、CascadeBaseやCursorSmall、haikuを使うこともあります。
使い方
言わずもがなですが、基本的には、Composer(Cursor) と Cascade(Windsurf) を使用しています。両エディタとも、中〜大規模業務システムの開発と、新規プロダクト開発での使用です。ComposerはYOLOモードON、WindsurfはWave3でYOLOモードに対応する「Cascade Turbo Mode」が出ましたが、まだあまり触れていません。
比較①コスト周り
同じProプランで比較すると、
Cursorは20ドルで月に500回のリクエスト、Windsurfは、15ドルで500回のリクエストとなっています。
なので、一見Cursorの方が高く見えますが、コスパはほぼ変わらない ような気がしています。なぜなら、私の体感では、生成されるコード量は同じプロンプトであればCursorの方が多いからです。(詳しくは後述します)なので、一概にWindsurfの方が安いとは言えないと思います。
また、Windsurfの料金プランは少し複雑です。
Flow Action Creditsという概念があり、Proプランでは1500クレジットがもらえます。Flow Actionとは、エージェントによるアクション(編集・コマンド実行)機能のことです。普通に使用しているとプロンプトのクレジットと大体同じくらいのスピードで減っていきます。
ここで注意なのは、Proプランの上のPro Ultimateプランは$60になり値段は4倍になるんですが、Flow Actionのクレジットは倍の3,000しかもらえません。 私はこの価格設計には結構不満があります。Proプランの4倍の料金を払ってもFlow Actionのクレジットが2倍しか付与されないのはおかしな話だと思います。
その点、Cursorはとてもシンプルで、プロンプトクレジットのみで500クレジットを使い切った後は使用量に合わせた従量課金になるのでとても単純明快です。直近の仕様変更なのでまだ掴みきれていませんが、どうやら自動で移行するわけではなく管理画面から有効化する必要があるようです。
さらに、Cursorでは自分で取得したAPIキーを使用できる機能があります。これによりAnthropicやOpenAIで自分で発行したAPIキーを使用することでCursorの料金設定に縛られず使用する事ができます。
ちなみに、この機能はWindsurfにはなく、ユーザーは不満を溜めているようです。Windsurfの新機能リクエストフォーラムにおいても常にトップの議題になっています。
比較②開発体験(UIUX)
UI
個人的には、WindsurfのUIがとても気に入っています。左がCursorで右がWindsurfですが、よりシンプルで洗練されています。
また、使っているととても分かりやすいのですが、WindsurfはAIエージェントが今何をやっているかがとても分かりやすいです。 なぜなら、添付にもあるように、「今から〜〜〜を分析します!」「今から〜〜〜を修正します!」など都度合図をくれるからです。(実はこれが私がWindsurfを気に入っている最大の理由です。)
また、ファイルが大きい場合は、まず最初の100行を見る、次に101~200行を見るなどより細かいステップにタスクを分解した上で実況中継しながら進んでいきます。
これは実は結構使う側からすると安心で、実装途中でエージェントが変な方向に行きそうなときは途中でストップを入れる事ができます。
さらに、WindsurfはTerminalもヘッドレスでスレッド内で表示してくれるのでTerminalに移動する必要がない点も地味に評価ポイントになっています。
追記:これは、Cursorも同様でした。
一方で、Cursorは無駄なコミュニケーションは避けてバンバン修正していきます。 合図がないため、LIVEではついていけないので一旦Cursorが一通り修正し終えた後に1つ1つのdiffを見ていくケースが多いです。さらに添付からも分かるとおり、修正の適用部分はコードエディタ型の表示で変更を表示してくれます。これが自分には一覧性を損ねているように思えて使いづらさを感じてしまいます。というのも、変更箇所を見るときはファイルエディタの方で前後との関係も見ながら確認したいのです。
生成されるコードの量
コストの章で少し触れましたが、単純な量で比較するとCursorの方が多くのコードを1回で書いてくれる傾向にあると思います。これは2つの理由があると思います。
1つは、Cursorはプロンプトで明文化されていない部分でも関連していて実装の必要があると判断した場合は編集してくれる感覚があります 要は、Aをしてと伝えると「AをしたいってことはBも必要だな」と先回りしてくれます。したがって生成されるコードの量は相対的に多くなります。なお、結構な量を書いて全て完璧に動く時も多くあり感動する瞬間が多い反面、「そこはいじらないで欲しかった・・・」みたいになるケースもあります。
2つ目は、Cursorは実装の過程で出た新たなエラーも検知してエラーを出すファイルがなくなるまで修正を続けてくれるからです。この過程でエラーハンドリングが強化されたり型定義も追加してくれたりと追加の実装があるので最終的にコード量は多くなります。
生成されるコードの品質
品質に関してはほぼ変わりなしと結論づけていいと思っています。どちらも同じモデルで開発していて同じコンテキストが伝わっていれば、品質に関して明確な差はほとんどないと言っていいと思います。
噂レベルで半信半疑ですが、どちらも内部でClaude3.5を使っているなどとも言われているので余計に同じなのかもしれません。
コンテキストの把握能力や長期記憶
コンテキストは、大きく分けて:
- 単純なコードベース把握能力(@でコンテキストを指定しなかった際の把握能力)
- 短期記憶(同セッションが進むにつれてのコンテキストの維持)
- 長期記憶(別のセッションに移動した際のコンテキストの維持)
があると個人的に考えていますが、
「単純なコードベース把握能力」に関してはあまり変わりません。 基本的にどちらのエディタもgrepなどを駆使して上手に必要な情報に辿り着いてくれます。
追記)現在は、必要なファイルに辿り着く能力、コンテキスト把握能力はWindsurfの方が優れていると感じています。これはおそらくASTとM-QueryというWindsurf独自の技術のおかげです。おそらく、記事執筆時点でもWindsurfの方が優れていたのではないかと思います。お詫びして訂正します。
「短期記憶」に関してもほぼ変わらないと思います。 Cursorの方が少しいいような気もします。
ただ、個人的にはWindsurfの方が伝達すべき情報をエージェントに渡しやすいと考えています。なぜなら、WindsurfはChatとWriteが同じセッション内で切り替えられるからです。
この点は、私がWindsurfメインになりつつある大きな理由の1つです。というのも、壁打ち→仕様書作成→実装という流れが同じセッションになるのでエージェントは壁打ち段階から自分の意図を知ってくれた上で実装することができます。
Cursorを使うと、ChatとComposerは別のセッションになるためより詳細な指示書の作成が求められます。 (しかし、逆にいうと、Chatで背景も含めた詳細な指示書を作成できるユーザーにとっては特に問題にはなりませんし、むしろスッキリしていいのかもしれませんが)
「長期記憶」に関しては、windsurfの勝ちかなと思います。 というのも、windsurfにはMemoryという機能があり、この機能は実装を進める中で長期に記憶してほしいことが出てきた際は「記憶して」と指示すると、前後のやり取りを過去ログとして記憶の保管庫に入れてくれます。
※自動生成ではなく、「記憶して」と指示しないとしれくれない点は注意です。
CursorにはこのMemoryに該当する機能は今のところ実装されていません。
Cursorには、 「Start New Chat With Summary」 という今のセッションの要点のみ継承しながら次のセッションを始めることができる機能はありますが、これはあくまで短期記憶の延長に過ぎないです。
ちなみに、このSpecStoryという拡張機能を使うとCursorでも長期記憶を持たせられます。
かなりいい感じなのでXで紹介したらプチバズりました。
コード補完
コード補完に関しては個人的にはCursorの方が体験がいい印象です。
予測の精度は変わらないと思いますが、Cursorには 「カーソル予測」 という機能があって、今編集している内容を踏まえて、同ファイル内の同じように修正すべき場所へtabを押すだけでジャンプ→修正してくれます。これがめちゃくちゃ便利かつ高精度です。何行くらい下まで飛べるかは数えたことないですが普段1000行程度のファイルを触っていても全く問題なく動作します。
Windsurfも普通に優秀にコード補完してくれますしtabでジャンプする機能はあるのですが若干ラグ亜があるのとCursorのようにtab→tab→tabでポンポンと進んでいく爽快さは得られません。
※WindsurfのWave3が2/14日に発表されました。tabアクションにアップデートが加えられたようです。まだ試せてないですが、この点は、将来的には差がなくなってくると思われます。
「Fix In Composer」 と 「Explain And Fix」
「Fix In Composer(Cursor)」と「Explain And Fix(Windsurf)」は同じ機能で、エディタが検知したエラーを直接Composer、Cascadeに渡して修正することができる機能です。
添付はWindsurfのものですが、ボタンを押すだけで勝手にエージェントが修正を開始してくれます。
この機能はかなり使う事が多いコア機能の1つなのですが、個人的にはCursorの方が気に入っています。 理由は2つあります。
1つは、「Fix In Composer」は同じセッション内で修正を始めてくれるからです。これはかなり助かります。なぜなら、この機能は9割がエージェントの実装でエラーが発生している際に使う機能だからです。
Windsurfでは、「Explain And Fix」を押すと別のセッションが自動的に立ち上がってしまいます。つまり、「Explain And Fix」は現在のセッションにおける実装で出たエラーなのに修正が別のセッションで行われることになるケースが多く、コンテキストが分断されてしまい修正の精度が落ちてしまいます。
2/17日追記:どうやらWave3のアップデートで同じセッション内で「Explain And Fix」が立ち上がるようになったようです。
2つ目の理由は、「Fix In Composer」(というかCursor)は、修正の過程で出た新たなエラーも検知してエラーを出すファイルがなくなるまで修正を続けてくれる傾向にあります。一方で、Windsurfは、指摘したエラーに関しては直してくれるものの過程で出たエラーは未解決のまま放置が多いですし、指示範囲から逸れているエラーを積極的に拾いにいく印象はありません。
比較③機密情報やルール系のファイルの取り扱い
AIエディタを取り入れる上で、セキュリティ周りが最も怖い場合はwindsurfの使用をおすすめします。
.gitignoreや.rules系のファイル、.envファイルなど、編集は勿論、閲覧すらしてほしくないファイルが存在します。この点において、windsurfはとても優秀で.rules系もしくは.gitignoreに入っているファイルだと「編集できません」という返答が返ってきます。
試しに「.envファイルのDB_URLを出鱈目にして」というプロンプトを与えた結果が添付画像ですが、面白い結果になりました。Cursorはenvファイルの読み取りから編集まで何の躊躇もなく行いましたがWindsurfはWriteモードにも関わらず警告を出してくれました。
比較④機能アップデートのスピード
直近のアップデートの日時と内容を簡単に表にまとめました。WindsurfのQuick Updatesは除外しています。
リリース日・バージョン | Cursor アップデート | Windsurf アップデート |
---|---|---|
2025年2月13日 | (該当なし) | - Model Context Protocol (MCP) - カスタマイズ可能なアプリアイコン (Mac) - 「Tab to Jump」の改良 - Cascade Turbo Mode - ドラッグ&ドロップ画像対応 |
2025年1月31日 | (該当なし) | - 新プレミアムモデル (Gemini 2.0 Flash, Deepseek-R1, Deepseek-V3, o3-mini) 対応 - バグ修正 (Cascadeパネル, Tab to Jump設定など) |
2025年1月23日 (v0.45) | - .cursor/rules - Deepseek R1 / Deepseek v3 対応 - Better Codebase Understanding - Fusion Model - Optional Long Context - バグ修正 (0.45.1 - 0.45.11) |
(該当なし) |
2025年1月17日 | (該当なし) | - Web & Docs Search (自動検索/URL入力/明示的 @web) - 自動生成メモリ - Dev Containerサポートの改良 - バグ修正・パフォーマンス改善 |
2024年12月17日 (v0.44) | - エージェントの改良 (Yolo Mode, ターミナルコマンド自動編集など) - Cursor Tab Update - バグ修正 (0.44.1 - 0.44.11) |
(該当なし) |
2024年12月11日 | (該当なし) | - Cascade Memories ・ルール設定 (Global/Workspace) - Cascade Auto Run Commands ・許可/拒否リスト対応 - Extensions (WSL β、devcontainer改善、Windsurf Pyright更新等) |
2024年12月6日 | (該当なし) | - Usage Transparency and Pricing ・新料金・使用量表示、Legacy Chat モード - Cascade Image Uploads (1MB制限解除) - Improved Python サポート (Windsurf Pyright) |
2024年11月27日 (v1.0.5) | (該当なし) | - Image Upload - UI調整および新キーバインド (⌥/Alt + j,k / h,l) - Cascadeパネル改善 - 自動オープン設定等 |
2024年11月24日 (v0.43) | - 新Composer UI - エージェント機能 - Gitコミットメッセージ自動生成 - バグ探索機能 (プレビュー) |
(該当なし) |
2024年11月21日 (v1.0.4) | (該当なし) | - Cascade Explain & Fix Problem - Import from Cursor - 新キーバインド (全差分一括承認/拒否、会話生成) - 改善されたコマンド体験、diffビュー等 |
個人的には、Cursorに比べると限られた資金の中で高頻度で高品質なアップデートを繰り返しているWindsurfにとても好感を持っています。
更新の頻度はWindsurfの方が若干高いように見えます。しかも、更新内容も毎度納得のものばかりです。(まあこれはCursorとの差分を埋めている更新も多いのでデキがよくて当然と言えば当然です。)
一方で、新モデルの追加対応はCursorの方が圧倒的に早いです。
Cursorは大きめのアップデートを月1で行って、新モデルの追加対応に関してはリリース後すぐに行っているようです。(多分そろそろ2月の大型アップデートが来るはずで楽しみです。)
まとめ
どんな人におすすめか
Windsurf
- 初学者
- 慎重にじっくりコーディングしていきたい人
- 機密情報系のファイルの取り扱いに細心の注意を求める人
- 複雑なプロジェクトで使っている人
Cursor
- 多少見失ってもガンガン進めていくのが好きな人
- モックなどの開発で動けばOKなユースケースで使う人
- 新規開発で使う人
- 自分で実装することが多い(コード補完を多く使う)人
元も子もない話ですが、割とどっちのエディタを使用してもいいと思っています。
好みと場面で使い分けるのがいいんじゃないかと思います。
なぜなら、同じモデルを使う以上、ツールとしての違いよりも使い手のスキルによる差の方が大きいからです。
私は、これからもどっちも使い続けます。
最近はWindsurfの地に足がついた感じが好きで軸足が少しづつ移りつつあります。ただCursorでしか味わえない気持ちよさもあります。
今後どうなっていくかは分かりませんが、新規プロジェクトでガンガンコードを生成という用途であればCursor(もしくはCline)を使います。既存プロジェクトで複雑なロジックをいじるなどで慎重になる必要があればWindsurfを使うかな〜と思います。
読んでいただいてありがとうございます。
XでAIコードエディタに関する有益な情報を発信しているので気になった方は是非フォローお願いします。
Discussion
実装コードから仕様を読み取ってドキュメントの作成を行いたい時は、windsurfの方が正しく作ってくれるような気がします。cursorはmd方式だと回答に崩れが生じてそのままコピペできない状態になることがしばしばですね。
md形式でコピペしたいなら、ファイルとして吐き出させるのがおすすめです!