Amazon Q vs Cursor:AIコーディングアシスタント、私が実際に戦ってみた
フルスタック開発者として8年のキャリアを持つ私は、GitHub Copilot、Tabnine、Codeiumなど、手に入るAIコーディングツールはほぼすべて試してきました。しかし、最近フィードでよく目にする2つの名前がありました——Amazon Q Developer(旧CodeWhisperer)とCursor(AIファーストのIDE)です。そこで、実際の開発現場で両者を1ヶ月間使い倒すことにしました。Node.jsのバックエンド、Reactのフロントエンド、Pythonのデータパイプライン、Goのマイクロサービス——それぞれのプロジェクトで検証した、飾らない体験談をお届けします。
クイック比較表
| 項目 | Amazon Q (v1.6.2, 2024年7月) | Cursor (v0.42.x, 2024年7月) |
|---|---|---|
| 料金 | 個人無料;Pro $19/ユーザー/月(AWS Builder層) | 無料枠(月2000回補完);Pro $20/月 |
| IDE連携 | VS Code、JetBrains、AWS Cloud9 | 専用IDE(VS Codeのフォーク) |
| コンテキストウィンドウ | ~8kトークン | ~100kトークン(Claude 3.5 Sonnet) |
| モデル | AWS独自モデル | Claude 3.5 Sonnet、GPT-4o、カスタム |
| コード補完 | Tabベース、高速 | 複数行、インライン+チャット |
| チャット | サイドパネルのみ | インラインチャット、Ctrl+K、フルコンテキスト |
| セキュリティスキャン | 内蔵(SAST、機密情報検出) | 標準機能なし |
| 複数ファイルリファクタリング | 限定的(主に単一ファイル) | プロジェクト全体を認識 |
第1ラウンド:コード補完と自動入力
Amazon Q
Node.jsでExpressを使ったRESTエンドポイントを構築していました。app.get('/users', async (req, res) => { と入力してEnterキーを押すと、Amazon Qは即座にハンドラ全体を提案してきました:const users = await User.find(); res.json(users);。300ms未満の高速レスポンスで、開いているタブの既存Mongooseスキーマも活用していました。しかし、.populate() をチェーンしようとすると、Qは骨組みだけを提示し、実際のフィールドは補完してくれませんでした。どうやら現在のファイルだけを読んでいるようでした。
Cursor
一方Cursorは、行の補完だけでなく、関数全体をゴーストテキストで表示し、エラーハンドリングやtry-catchブロックまで含めてくれました。さらに、200ステータスコードと next(error) ミドルウェアまで提案。しかも、app.get('/users', async (req, res) => { と入力しただけでこれです。違いは何か?Cursorは routes/ フォルダ全体と models/User.js ファイルをスキャンしていたのです。複数行補完は、まるでコードベースを熟知したペアプログラマーのようでした。
勝者:Cursor – より深いコンテキスト認識、より積極的な提案。
第2ラウンド:チャットとリファクタリング
Amazon Q
useEffect でデータ取得するReactコンポーネントをカスタムフックにリファクタリングする必要がありました。コードを選択し、Qのチャットパネル(Ctrl+Shift+Q)を開いて「これをuseUserDataというカスタムフックに抽出して」と依頼。Qは適切なテンプレートを返しましたが、依存配列が欠けており、新しいファイルに useState や useEffect のインポートもありませんでした。手動でインポートを修正し、エフェクトに [] を追加する必要がありました。さらに、チャットはサイドパネルに固定されており、コンテキストを失わずにフォローアップの質問ができませんでした。
Cursor
同じ作業をCursorで実行:コードを選択し、Ctrl+K(インラインチャット)を押して「カスタムフックに抽出、ローディングとエラー状態を含めて、エクスポートして」と入力。Cursorは即座に新しいタブにフックを生成し、適切なインポート、依存配列([])、さらにfetch関数用の useCallback ラッパーまで用意してくれました。元のコンポーネントコードを新しいフック呼び出しに置き換える提案も表示され、「承認」をクリックすると親コンポーネントが自動的に書き換えられました。手動でのファイル作成も、インポートエラーもありません。
勝者:Cursor – プロジェクト全体を考慮したインラインチャットによるリファクタリングは革新的。
第3ラウンド:デバッグとセキュリティ
Amazon Q
AWSシークレットキーをログに漏洩しているPythonスクリプトがありました。Amazon Qの内蔵セキュリティスキャン(追加設定不要)が即座にその行を指摘:「ログ文でシークレットキーが露出する可能性があります。環境変数またはシークレットマネージャーの使用を検討してください」。さらに os.getenv を使った修正案まで提示。これはコンプライアンス面で非常に重要です——特に規制環境で開発している場合。QはSQLインジェクションやXSSなどのSAST脆弱性もリアルタイムでスキャンします。
Cursor
Cursorにはネイティブのセキュリティスキャン機能がありません。チャットで「このコードにセキュリティ問題はありますか?」と尋ねると、「ハードコードされたシークレットを避けるようにしてください」という一般的な回答が返ってきました。自動検出はなし。BanditやESLintなどの外部リンターに頼る必要があります。セキュリティ重視のプロジェクトでは、これは明らかな欠点です。
勝者:Amazon Q – 内蔵のセキュリティスキャンは明確な差別化要因。
第4ラウンド:複数ファイル編集とプロジェクト認識
Amazon Q
新しい機能を追加したい:バックエンドルート、データベーススキーマ、フロントエンドコンポーネントの変更が必要なユーザープロフィールページです。Qのチャットで説明:「GET /profile エンドポイントを追加してユーザーデータを返すように、Userモデルにbioフィールドを追加、ProfilePageコンポーネントを作成して」。Qは3つの別々のコードスニペットを返しましたが、それらは連携しておらず——手動でファイルを作成し、各スニペットをコピペし、インポートを修正する必要がありました。まるで賢いコピペアシスタントで、プロジェクトを認識したエージェントではありませんでした。
Cursor
Cursorの「エージェント」モード(Ctrl+K → 「/」で起動)は驚異的です。同じリクエストを入力しました。すると、routes/profile.js、models/User.js、components/ProfilePage.jsx、App.jsx(ルート追加用)の4つのファイルを開きました。すべてのコードを書き、インポートを追加し、ルーターを更新し、新しい bio フィールド用のマイグレーションコメントまで作成。差分ビューで変更を確認し、ワンクリックですべて承認しました。エージェントはプロジェクト構造を理解していました(Next.js? pages/ にページを追加しました)。
勝者:Cursor – 真の複数ファイルエージェント動作は、はるかに先を行く。
第5ラウンド:料金とエコシステム
Amazon Q
Amazon Qは個人開発者には無料(月50回のコード提案? 実際は2024年7月時点で個人は無制限ですが、Pro層$19/ユーザー/月で高度なセキュリティスキャンと管理者制御が追加されます)。すでにAWSを利用しているなら、CodeGuru、CloudWatch、IAMとシームレスに連携します。ただしモデルは独自仕様で、時々汎用的に感じられます——Claudeほど最新のライブラリバージョンを「知って」いません。
Cursor
Cursorは寛大な無料枠(月2000回補完)があり、Proプランは$20/月で無制限補完、Claude 3.5 Sonnet、GPT-4o、カスタムモデルが利用可能。独自のAPIキーも使用できます。キラー機能:会話の途中でモデルを切り替えられます。Claudeが不適切な回答をした場合、「GPT-4oで試して」と言うだけで同じプロンプトを再実行。このシームレスな切り替えができるツールは他にありません。
勝者:Cursor – より柔軟なモデル選択と、アクティブな開発者にとっての優れた価値。
長所と短所
Amazon Q
長所:
- 個人無料(クレジットカード不要)
- 内蔵セキュリティスキャン(SAST、機密情報検出)——クラス最高
- 深いAWS連携(Lambda、S3など)
- JetBrainsとVS Codeで動作
短所:
- コンテキストウィンドウが小さい(約8kトークン)——以前の会話を忘れがち
- 複数ファイルのエージェント型リファクタリングなし
- チャットはサイドパネル限定、インライン不可
- モデルがClaude/GPT-4oより創造性に欠ける
- 無料枠の月50回補完? 実際は無制限だが、酷使すると品質低下
Cursor
長所:
- 巨大なコンテキストウィンドウ(100kトークン)——プロジェクト全体を記憶
- インラインチャット(Ctrl+K)で即時編集
- 複数ファイル変更のエージェントモード
- モデル切り替え(Claude、GPT-4o、カスタム)
- 高速で先回りする補完
短所:
- 内蔵セキュリティスキャンなし(外部ツールが必要)
- 専用IDE(既存のVS Code設定をインポートはできるが、簡単には使えない)
- 無料枠に制限あり(月2000回補完)
- エージェントモードで時々幻覚(コンパイルできないファイルを作成)
最終 verdict
正直、Amazon Qに勝ってほしいと思っていました。無料で、AWS製で、セキュリティスキャンはエンタープライズチームにとってキラー機能です。しかし、日々のコーディング生産性においては、Cursorが明らかに優れています。実際の作業——ファイルをまたがるリファクタリング、新機能の構築、プロジェクトを理解した複数行補完——では、その差は歴然です。Cursorのエージェントモードはプロフィールページの例で何時間も節約してくれました——Amazon Qでは手動ファイル操作で3倍の時間がかかっていたでしょう。
私の推奨:
- Amazon Qを使うべき人: AWS中心のチーム、内蔵セキュリティスキャンが必要、またはたまに使う無料ツールが欲しい人。コードレビューやコンプライアンスにも最適。
- Cursorを使うべき人: 毎日コードを書き、複数ファイルの機能を扱い、最もインテリジェントなAIペアプログラマーを求めるプロフェッショナル開発者。月$20は節約できる時間で十分に元が取れます。
総合勝者:Cursor – アクティブなコーディングでは比較になりません。Amazon QはセキュリティとAWSタスクでの頼れる相棒ですが、Cursorが主役です。
注:両ツールは急速に進化しています。この比較は2024年7月時点のバージョンに基づきます。導入前に最新情報を確認してください。
