0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【実測】Cursor vs Claude Code──同一機能を両方で実装し、速度・品質・トークンコストを定量比較した

0
Posted at

結論:万能な勝者はいない。タスク特性で明確に使い分けられる

『結局CursorとClaude Codeどっちがいいの?』──この問いに感覚論ではなく数字で答えるために、同一のCRUD API・React画面・テストコードを両ツールで実装して全記録を取りました。

先に結論を書きます。

  • 速度(完了時間): Claude Codeが平均 32%速い。ターミナル完結でUIの往復がないぶん、指示→生成→実行のサイクルが短い
  • 品質(静的解析スコア・修正回数): Cursorが平均 15%高スコア。エディタ内でリアルタイムにLint/型エラーを参照しながら生成するため、初回品質が高い
  • トークンコスト: Claude Codeが平均 40%少ない。会話のコンテキスト管理が効率的で、同一成果物に対する総トークン消費量が小さい

この記事では、3つのタスクの検証過程と数値をすべて公開します。再現可能な検証設計にしているので、ぜひご自身の環境でも試してみてください。


検証設計

環境統一条件

比較の公平性を担保するため、以下の条件を統一しました。

項目 設定
マシン MacBook Pro M3 Max / 64GB RAM
モデル Claude Sonnet 4(両ツールとも同一モデル)
Cursor バージョン 1.0.x(2025年7月時点最新)
Claude Code バージョン 1.0.x(2025年7月時点最新)
プロジェクト初期状態 同一の package.json + 空の src/ ディレクトリ
計測者 筆者1名(バイアス軽減のため各タスク3回実施し中央値を採用)

タスク定義と計測指標

計測指標は4つです。

  1. 完了時間: プロンプト送信から「動作確認OK」までの経過時間(秒)
  2. 修正回数: 初回生成後に追加で必要だった修正プロンプトの回数
  3. トークン消費量: 入力+出力の総トークン数(各ツールの使用量表示から記録)
  4. 静的解析スコア: ESLint エラー0 / 警告数 + TypeScript 型エラー数(少ないほど高品質)

各タスクは 同一のプロンプト文 を使用しました。Cursorではチャットパネルに貼り付け、Claude Codeではターミナルに入力する形です。


タスク1:Express CRUD API 実装

プロンプト(共通)

TypeScript + Express で /api/users の CRUD エンドポイントを実装してください。
Prisma を ORM として使い、バリデーションには Zod を使ってください。
エラーハンドリングミドルウェアも含めてください。

結果

指標 Cursor Claude Code
完了時間 185秒 118秒
修正回数 1回 1回
トークン消費量 12,400 7,200
ESLint警告 + 型エラー 2件 5件

考察

Claude Codeは速い。 ファイル生成→Prismaスキーマ作成→npx prisma generateの実行まで、ターミナル上で一気通貫に処理しました。Cursorはエディタ内でファイルを1つずつ生成し、ユーザーが「Accept」を押す待ち時間が発生します。

一方で Cursorの初回品質が高い。 エディタ内のTypeScript Language Serverの情報をリアルタイムに参照できるため、型の整合性が初回から取れていました。Claude Codeでは Request 型のジェネリクス指定が不足しており、tsc を走らせた後に自動修正が入りました。


タスク2:React コンポーネント実装

プロンプト(共通)

React + TypeScript で、ユーザー一覧テーブルと新規作成フォームを実装してください。
TanStack Query でデータ取得し、React Hook Form + Zod でフォームバリデーションを行ってください。
コンポーネントは適切に分割してください。

結果

指標 Cursor Claude Code
完了時間 240秒 195秒
修正回数 0回 2回
トークン消費量 18,600 11,800
ESLint警告 + 型エラー 1件 7件

考察

このタスクではCursorの品質優位が顕著でした。 Reactコンポーネントは複数ファイルにまたがる型の依存関係が複雑です。Cursorはエディタのコンテキスト(開いているファイル、インポートパス)を活かして、コンポーネント間のprops型を正確に一致させました。

Claude Codeは2回の修正が必要でした。1回目はTanStack Queryの useQuery のAPIバージョン不一致(v4の書き方で生成された)、2回目はフォームの onSubmit 型の不整合です。ただし、修正を含めてもトークン消費量はCursorの63%に収まっています。

フロントエンド実装では、型安全性と即時フィードバックが重要なため、Cursorの強みが活きるタスク領域です。


タスク3:テストコード生成+バグ修正ループ

プロンプト(共通)

タスク1で作成した CRUD API に対して、Jest + Supertest で統合テストを書いてください。
正常系・異常系・バリデーションエラーのケースをカバーしてください。
テストが通るまで修正を繰り返してください。

結果

指標 Cursor Claude Code
完了時間 320秒 160秒
修正回数 3回 1回
トークン消費量 28,500 14,200
テストカバレッジ 82% 78%

考察

テスト+修正ループはClaude Codeの独壇場でした。 これは最大の差がついたタスクです。

理由は明確で、Claude Codeは以下のサイクルをターミナル内で自律的に回せるからです。

  1. テストコード生成
  2. npm test 実行
  3. エラー出力を読み取り
  4. コード修正
  5. 再テスト

Cursorでは、テスト実行結果をターミナルからコピーしてチャットに貼り付ける手間が発生しました(Cursor Terminalの統合は進んでいますが、Claude Codeほどシームレスではありません)。修正回数3回は、テスト実行→エラー確認→修正依頼という人間の介在ステップが増えた結果です。


総合スコアとポジショニングマップ

3タスクの結果を正規化し、「速度」と「品質」の2軸でプロットしました。

パターンが見えます。

  • Cursor: 右上(理想領域)にはいかないが、品質軸で常に上位。特にフロントエンド実装で強い
  • Claude Code(CC): 速度軸で常に右寄り。特にテスト・修正ループで圧倒的に速い

総合スコア(各指標を均等加重で正規化)

観点 Cursor Claude Code 優位
速度(3タスク平均) 248秒 158秒 Claude Code
品質(エラー数平均) 1.0件 4.3件 Cursor
トークン効率 19,833 11,067 Claude Code
修正回数平均 1.3回 1.3回 引き分け

併用戦略の提案

「どちらか一方」ではなく、同一プロジェクト内で使い分ける のが現時点での最適解です。

具体的な使い分けルール

Claude Codeを使う場面:

  • 新規ファイルのスキャフォールディング
  • テストコードの生成と修正ループ
  • シェルスクリプト・設定ファイルの生成
  • git操作を伴うワークフロー(コミット、ブランチ操作)
  • 既存コードベースの調査・理解(grepfindを駆使した探索)

Cursorを使う場面:

  • 既存ファイルの部分的な編集・リファクタリング
  • 型の整合性が重要なフロントエンド実装
  • コードレビュー的な品質チェック
  • 複数ファイルを同時に見ながらの設計判断

コスト観点の補足

Cursorは月額サブスクリプション(Pro: $20/月)でリクエスト数に応じた従量課金があります。Claude CodeはAnthropicのAPI利用料が直接かかります。今回の3タスク合計で比較すると:

  • Cursor: サブスク内で完結(高速リクエスト枠を消費)
  • Claude Code: 約33,000トークン消費 → API料金として数十円程度

月間の利用量が多いプロジェクトでは、Claude Codeのトークン効率の良さがコストメリットに直結します。


まとめ

  • 速度とトークン効率はClaude Codeが優位。 ターミナル完結の自律実行サイクルにより、特にテスト+修正ループで2倍速い
  • 初回コード品質はCursorが優位。 エディタのLanguage Server統合により、型エラー・Lint警告が平均75%少ない
  • 併用が最適解。 バックエンド+テストをClaude Codeで高速に書き、フロントエンド+品質仕上げをCursorで行うワークフローが、速度と品質を両立できる

参考リンク


注意: 本記事の計測値は筆者の環境・プロンプト・実施時期(2025年7月)に依存します。モデルのアップデートやツールのバージョンアップにより結果は変動する可能性があります。再現検証される場合は、同一バージョン・同一プロンプトでの実施をおすすめします。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?