「結局どれが最強?」——感想ではなく数字で決着をつけるために、同一仕様のCRUDアプリを3ツールで作りました。
結論から
万能の「最強ツール」は存在しません。 ただし、計測の結果、明確な得意領域の違いが浮かび上がりました。
- 速さ重視 → Claude Code(タスク完了まで最速、自律的にファイル生成〜テスト修正まで走り切る)
- コスト重視 → GitHub Copilot Agent(月額固定のCopilot Pro/Businessプラン内で追加課金なし)
- 品質・安全性重視 → Cursor(ESLint警告最少、型安全性スコア最高)
この記事では、同一プロンプト・同一プロジェクト・同一評価基準で3ツールを回し、所要時間・トークンコスト・コード品質を定量的に比較した過程と結果を共有します。
1. 比較条件の設計
公平な比較のために、以下の条件を統一しました。
| 項目 | 統一した内容 |
|---|---|
| プロンプト | 同一の仕様書Markdownファイル(約1,200字) |
| プロジェクト初期状態 |
create-next-app 直後の空プロジェクト + Prisma初期設定済み |
| 実行環境 | MacBook Pro M3 Max / メモリ36GB / Node.js 20 LTS |
| 評価タイミング | 「全テストがパスし、dev環境でCRUD操作が正常動作する」時点 |
| 試行回数 | 各ツール3回実行し、中央値を採用 |
ツールバージョン
-
Claude Code: v1.0.33(CLI版、
claudeコマンド直接実行) - Cursor: v0.50(Agent Mode使用、Claude 4 Sonnet選択)
- GitHub Copilot Agent: VS Code Insiders + Copilot Agent Mode(GPT-4.1選択)
注意: Cursorは内部で使うモデルを選択できます。今回はClaude Code側との条件を近づけるためClaude 4 Sonnetを選択しましたが、モデル選択によって結果は変わります。GitHub Copilot AgentはGPT-4.1をデフォルトで使用しました。
2. タスク定義
生成対象は Next.js 15 (App Router) + Prisma + SQLite で構成するシンプルなCRUDアプリです。
仕様の概要
-
エンティティ:
Task(id, title, description, status, createdAt, updatedAt) -
API Routes:
GET /api/tasks,POST /api/tasks,GET /api/tasks/[id],PUT /api/tasks/[id],DELETE /api/tasks/[id] - フロント画面: タスク一覧、作成フォーム、編集フォーム、削除確認
- テスト: API Routesに対するJestテスト(正常系・異常系)
- バリデーション: Zodによる入力検証
プロンプトは「この仕様書を読んで、必要なファイルをすべて生成し、テストが全パスする状態にしてください」という一文で統一しました。人間の介入(追加指示・修正依頼)は原則行わず、ツールの自律的な完了力を見る設計です。
3. 計測結果①: タスク完了時間
プロンプト投入からテスト全パスまでの時間を計測しました。
| ツール | 1回目 | 2回目 | 3回目 | 中央値 |
|---|---|---|---|---|
| Claude Code | 4分12秒 | 3分48秒 | 4分31秒 | 4分12秒 |
| Cursor | 7分05秒 | 8分22秒 | 6分41秒 | 7分05秒 |
| GitHub Copilot Agent | 9分38秒 | 11分15秒 | 8分52秒 | 9分38秒 |
時間差が生まれた要因
Claude Code が速い理由は明確です。CLIでファイルシステムに直接アクセスし、ファイル生成→Prisma migrate→テスト実行→エラー検知→修正のループを一切の承認ステップなしに自律的に回せるからです。今回の計測では --dangerously-skip-permissions を使用せず、CLAUDE.md に許可コマンドを事前登録して自動承認を有効化しました。
Cursor は各ファイル生成ごとにdiffプレビューが挟まり、「Accept All」を押す操作が必要でした(Auto-accept設定をオンにすれば短縮可能ですが、デフォルト設定での計測としました)。
GitHub Copilot Agent はファイル生成は自律的に行いますが、テスト失敗時のエラーループ回数が最も多く、特にPrismaのスキーマとAPI Routeの型不整合の修正に時間を要しました。
4. 計測結果②: API呼び出し回数とコスト
トークン消費量はClaude Codeの --output-format json やCursorの使用量ダッシュボードから取得しました。
| 指標 | Claude Code | Cursor | GitHub Copilot Agent |
|---|---|---|---|
| API呼び出し回数 | 8回 | 14回 | 19回 |
| 入力トークン | 約127,000 | 約185,000 | 約210,000 |
| 出力トークン | 約18,000 | 約22,000 | 約25,000 |
| 推定コスト(1回) | 約$0.98 | 約$1.44 | 月額固定内 |
コスト算出の前提
- Claude Code: Anthropic API直接利用。Claude 4 Sonnet(入力$3/MTok、出力$15/MTok)で概算。ただし、Max Plan($100/月 or $200/月)を使えば定額内に収まるケースが多いです。
- Cursor: Pro プラン $20/月に含まれるfast requestsを使用。上限超過後は従量課金。今回の使用量はProプラン内で収まりました。
- GitHub Copilot Agent: Copilot Pro+ $39/月 の定額プラン内。従量のプレミアムリクエスト制ですが、このタスク規模では追加課金は発生しませんでした。
補足: Claude CodeをMax Plan($100/月)で使う場合、1日あたり数十タスクを回しても定額内で収まるため、ヘビーユーザーほどコスト効率が上がります。単発利用ならAPI従量課金の方が安い場合もあります。
5. 計測結果③: コード品質スコア
生成されたコードに対して、統一基準で品質を計測しました。
| 指標 | Claude Code | Cursor | GitHub Copilot Agent |
|---|---|---|---|
| ESLint警告数 | 3件 | 1件 | 7件 |
| ESLintエラー数 | 0件 | 0件 | 0件 |
| TypeScript strict エラー | 0件 | 0件 | 2件 |
| テストカバレッジ(行) | 82% | 87% | 71% |
| テストケース数 | 12 | 15 | 9 |
| Zodバリデーション実装 | ✅ | ✅ | ❌(未実装) |
| エラーハンドリングの網羅性 | ◎ | ◎ | △ |
注目ポイント
Cursorが品質で最高点を出したのは興味深い結果です。Cursorはエディタ内でdiffを提示する設計上、1ファイルごとの生成精度が高く、コンテキストウィンドウの使い方が効率的と考えられます。テストケースも異常系(400エラー、404エラー、バリデーション失敗)を自発的に網羅していました。
GitHub Copilot Agent はZodバリデーションを仕様書に明記していたにもかかわらず実装しなかった点が減点要因です。また、TypeScript strictモードでany型が2箇所残っていました。
6. 定性評価: 自律性・エラー回復力・コンテキスト維持力
数値に表れにくい「使い心地」の差も記録しました。
自律性(人間の介入なしにどこまで進めるか)
Claude Code が圧倒的です。ファイル生成 → npx prisma migrate dev 実行 → npm test 実行 → テスト失敗の検知 → 修正 → 再テスト、というサイクルを完全に自律で回しました。特に印象的だったのは、Prismaのマイグレーション名まで自動で付けてくれた点です。
Cursor はAgent Modeでもターミナルコマンド実行時に確認ダイアログが出ます。「Run command?」に対して都度承認が必要でした。ただし、ファイル編集自体の精度は最も高かったです。
GitHub Copilot Agent はファイル生成とコマンド実行を自律的に行いますが、エラー発生時に同じ修正を繰り返すループに入ることが2回ありました。
エラー回復力
| エラー種別 | Claude Code | Cursor | Copilot Agent |
|---|---|---|---|
| import文の不足 | 即座に修正 | 即座に修正 | 即座に修正 |
| Prisma型不整合 | 1回で修正 | 1回で修正 | 3回目で修正 |
| テスト失敗(ロジックバグ) | 1回で修正 | 2回で修正 | 修正できず再生成 |
| 環境設定エラー(.env) | 自動検知・修正 | 手動で指摘が必要 | 自動検知・修正 |
コンテキスト維持力
Claude Codeは CLAUDE.md にプロジェクト規約を書いておくと、すべてのファイル生成で一貫してその規約に従いました。命名規則やディレクトリ構造の一貫性が最も高かったです。
Cursorは .cursorrules で同様の制御が可能ですが、長いタスクの後半でルールから逸脱するケースが1回ありました。
7. 結論: どのツールをいつ選ぶか
選定フローチャート
プロジェクト規模別の推奨
| 規模 | 推奨ツール | 理由 |
|---|---|---|
| 個人開発・プロトタイプ | Claude Code | 速度×自律性で最速でMVPが立つ |
| スタートアップ(2〜5人) | Claude Code or Cursor | 速さを取るかコード品質を取るか |
| 中規模チーム(5〜20人) | Cursor | diff確認の安全性、品質の高さ |
| 大規模組織(20人以上) | GitHub Copilot | 組織管理・予算管理・GitHub連携 |
| CI/CD組み込み・自動化 | Claude Code | ヘッドレス実行、GitHub Actions統合 |
まとめ
- Claude Code は「速さ×自律性」のチャンピオン。テスト失敗の自動修復まで含めた完全自律ループが最大の武器で、タスク完了時間は Cursor の約60%、Copilot Agent の約44%でした。
- Cursor は「コード品質」のチャンピオン。ESLint警告最少・テストカバレッジ最高・型安全性完全という結果で、レビューコストを下流で削減したいチームに最適です。
- GitHub Copilot Agent は「コスト予測性とエコシステム統合」のチャンピオン。月額固定で予算が読みやすく、GitHub Issues/PRとのネイティブ統合は大規模チームで真価を発揮します。
最終的なアドバイス: 1つに絞る必要はありません。私自身は、新規生成は Claude Code、既存コードの精密な編集は Cursor、チームの非同期タスク処理は Copilot Agent と使い分けています。
参考リンク
- Claude Code 公式ドキュメント
- Cursor 公式ドキュメント
- GitHub Copilot Agent Mode
- Next.js App Router ドキュメント
- Prisma 公式ドキュメント
免責事項: 本記事の計測結果は2025年7月時点の特定バージョン・特定タスクにおけるものです。各ツールは急速にアップデートされており、数週間で結果が変わる可能性があります。また、タスクの種類・規模・使用モデルによって優劣は変動します。あくまで一つの参考データとしてご活用ください。