Amazon Q vs GitHub Copilot:ファーストパーソンで語るコーディングアシスタント対決
私は10年以上のフルスタック開発者で、AWS中心のスタック(Lambda、DynamoDB、Step Functions)とオープンソースプロジェクト(React、Node.js、Python)の両方で仕事をしてきました。AIコーディングアシスタントが爆発的に普及する中、Amazon Q Developer(旧称CodeWhisperer、2025年3月時点でバージョン1.2.0)とGitHub Copilot(バージョン1.230.0、GPT-4oとカスタムCodexモデル搭載)の両方を試しました。これは、サーバーレスEコマースバックエンドとReactダッシュボードを構築した3ヶ月間の日常的な使用に基づく、生のファーストパーソン比較です。
クイック比較表
| 機能 | Amazon Q Developer | GitHub Copilot |
|---|---|---|
| 料金(個人) | 無料枠(月50リクエスト)または月19ドル(Pro、無制限) | 月10ドル(個人)または月100ドル/ユーザー(ビジネス) |
| コンテキストウィンドウ | 約8Kトークン | 約16Kトークン(チャット)/ 約4K(インライン) |
| IDE対応 | VS Code、JetBrains、AWS Cloud9 | VS Code、JetBrains、Neovim、Visual Studio、Xcodeなど |
| セキュリティスキャン | 内蔵(シークレット、脆弱性を検出) | 外部(Copilot Chat + CodeQLで対応) |
| AWS統合 | 深い(Lambda、CDK、DynamoDBなど) | 最小限(チャットプラグイン経由のみ) |
| 複数行補完 | あり(最大10行) | あり(最大20行) |
| チャット | あり(Q Chat、AWSドキュメント参照可) | あり(Copilot Chat、スラッシュコマンド対応) |
| トレーニングデータ | Amazon、GitHub、公開リポジトリのコード | 公開GitHubリポジトリ(ライセンスフィルター済み) |
| リアルタイムレイテンシ | 平均約300ms | 平均約150ms |
| オフラインモード | なし | なし |
機能ラウンド1:コード補完(日々の作業)
同じプロジェクト(Stripeウェブフックを処理するNode.js Lambda関数)で両方のツールを起動しました。Amazon Qでexports.handler = async (event) => {と入力すると、完全なDynamoDB put itemパターンを提案してきました—CDKスタックからテーブル名を正確に推測(AWSを認識するコンテキストのおかげ)。さらにconsole.errorを使ったエラーログも追加。印象的でしたが、提案は10行で止まり、完全なブロックを受け入れるにはTabを2回押す必要がありました。レイテンシは顕著で、ウォームスタートで約400msでした。
GitHub Copilotはよりキビキビしていました。同じファイルでconst stripe = require('stripe');と入力すると、完全なウェブフック検証ロジック—署名チェック、イベントタイプのスイッチ、リトライ機構—を1つの15行ブロックで補完しました。また、以前の関数からプロジェクトのasync/awaitスタイルを学習していました。インライン補完は約100msで表示され、Tabで受け入れるか、Alt+]で代替案を切り替えられました。Copilotの複数行提案はより長く、コンテキスト的に正確で、特にJoiバリデーションやExpressミドルウェアのような非AWSのボイラープレートで顕著でした。
勝者:GitHub Copilot(速度と補完の長さ)。
機能ラウンド2:AWS固有のシナリオ
さて、本当のテスト:SQSバックアップLambdaのCDKスタックを書く。VS CodeでTypeScriptファイルを開きました。Amazon Qでnew sqs.Queueと入力すると、即座にdeadLetterQueue、retentionPeriod、QueueProcessingLambdaパターンを含む完全なコンストラクトを提案—すべて正しいインポート付き。次にQ Chat(Ctrl+Shift+Q)で「オートスケーリングとGSI付きのDynamoDBテーブルを追加」と質問。40行のCDKコードを生成し、TableV2コンストラクト、AutoScalingSettings、グローバルセカンダリインデックスを含んでいました。さらに、IAMポリシーが不足していることまで指摘。これはまさに金脈でした。
GitHub Copilotはここで苦戦。一般的なnew sqs.Queueを提案しましたが、AWS固有のパターン(デッドレターキューなし、Lambda統合なし)を見逃しました。Copilot Chat(Ctrl+I)で「DynamoDBオートスケーリングCDK」と質問すると、v1とv2のコンストラクトが混ざったものを返し、IAMポリシーは不完全。パーティションキーのタイプを手動で修正する必要がありました。Copilotのトレーニングデータはオープンソースに大きく偏っており、プロプライエタリなAWS SDKパターンには対応していません。
勝者:Amazon Q(深いAWS統合、特にCDKとLambda)。
機能ラウンド3:デバッグとセキュリティ
API Gatewayからデータを取得するReactコンポーネントをデバッグ中、CORSエラーに遭遇しました。Amazon Q Chatがコードをスキャンし、バックエンドのCORSヘッダー不足を特定し、API Gatewayリソースのcorsブロックの修正を提案。さらに、.envファイルにハードコードされたAPIキーをフラグ(セキュリティスキャン機能)し、Secrets Managerを使用するよう警告。この内蔵セキュリティスキャナーはキラーフィーチャーで、誤ってコミットしてしまったAWSシークレットキーをキャッチしました。
GitHub Copilotはセキュリティ問題をフラグしませんでした。CORSバグについては、Copilot ChatがフロントエンドにAccess-Control-Allow-Origin: *を追加するよう提案しましたが、これは回避策に過ぎず、本当の修正ではありませんでした。ただし、Copilotのチャットは開いているファイルやターミナル出力(「@terminal」エージェント経由)を参照でき、--max-old-space-sizeフラグを提案してNode.jsのメモリリークデバッグに役立ちました。Amazon Qのチャットはより堅苦しく、ターミナルコンテキストなしでコード関連の質問にのみ回答しました。
勝者:Amazon Q(内蔵セキュリティスキャンとAWS対応デバッグ)。
機能ラウンド4:学習曲線とドキュメント
私はAWSの専門家ではないので、よく「コールバックパターンでStep Functionを設定するには?」と質問します。Amazon QはサイドパネルにAWSドキュメントを開き、関連セクションをハイライト。さらにPythonとTypeScriptのコード例を提供。AWS Knowledge Centerとの統合はシームレスでした。
GitHub CopilotはAWSドキュメントに直接アクセスできません。別のブラウザタブを使う必要がありました。しかし、Copilotのインラインドキュメント生成は優れており、関数にホバーするとパラメータ説明と戻り値の型を含むJSDocコメントを生成し、チームのコードレビューの時間を節約できました。
勝者:引き分け(AWSドキュメントはAmazon Q、インラインドキュメントはCopilot)。
機能ラウンド5:料金とライセンス
独立系開発者として、コストは重要です。Amazon Qは寛大な無料枠(月50コード提案、Q Developerでの無制限チャット)がありますが、月19ドルのProは提供内容(主にAWS中心の機能)に対して割高に感じます。GitHub Copilot個人は月10ドルで、補完はあらゆる言語とフレームワークで動作します。非AWSプロジェクト(例:Python MLスクリプト)では、Copilotの提案がより正確で高速でした。さらに、Copilotのビジネスプラン(月100ドル/ユーザー)にはライセンス補償が含まれており、エンタープライズにとって重要です。
勝者:GitHub Copilot(低コスト、幅広い適用性)。
長所と短所
Amazon Q Developer
長所:
- 比類のないAWSサービス統合(CDK、Lambda、DynamoDB、Step Functions)。
- 内蔵セキュリティ脆弱性スキャン(シークレット、IAM設定ミスをキャッチ)。
- 無料枠がAWS中心のプロジェクトで使いやすい。
- チャットがAWSドキュメントを直接参照可能。
短所:
- 補完が遅い(約300ms vs Copilotの約150ms)。
- 複数行提案が短い(最大10行)。
- AWSエコシステム外では弱い(例:Python Flask、Reactフック)。
- 月19ドルのProは非AWS作業には高額。
- IDE対応が限定的(Xcode非対応、Neovim非対応)。
GitHub Copilot
長所:
- より速く、より長い補完(最大20行)。
- より広い言語/フレームワーク対応(React、Django、Rust)。
- 低価格(個人月10ドル)。
- ターミナルとファイルコンテキストを持つチャット(@terminal、@workspace経由)。
- 優れたインラインドキュメント生成。
短所:
- AWS固有パターンが弱い(一般的な提案)。
- 内蔵セキュリティスキャンなし(別途CodeQLが必要)。
- プロプライエタリなドキュメントにアクセス不可(例:AWS Knowledge Center)。
- 無料枠は30日間トライアルのみ、その後有料。
- ライセンス問題のあるコードを提案する可能性あり(フィルターはあるが)。
最終 verdict
3ヶ月の実使用後、私は主要アシスタントとしてGitHub Copilotに戻します。理由:私の作業の80%は非AWS(React、Node.js、Python)であり、Copilotの速度、正確性、低コストが勝ります。AWS固有の20%については、Amazon Qの無料枠を2つ目のVS Codeウィンドウで開いておきます—主にCDK生成とセキュリティスキャン用。しかし、AWS中心の開発者(サーバーレスアプリ構築、CDKを日常的に使用)であれば、Amazon Qが明確な勝者です:その深い統合とセキュリティ機能が月19ドルを正当化します。
私の推奨:
- フルタイムのAWS開発者 → Amazon Q。
- ジェネラリストまたはオープンソース開発者 → GitHub Copilot。
- 予算が限られている場合 → Amazon Qの無料枠から始め、より広いサポートが必要ならCopilotにアップグレード。
最終勝者:GitHub Copilot(僅差で、総合的な汎用性と価値により)。
