Amazon Web Services ブログ
Amazon Q Developer for GitHub によるインタラクティブなコードレビュー体験の紹介
本記事は 2025 年 9 月 8 日に公開された “Introducing an Interactive Code Review Experience with Amazon Q Developer in GitHub” を翻訳したものです。
コードレビューはソフトウェア開発において最も価値ある工程の一つです。品質の確保、一貫性の維持、エンジニアとしての成長促進に役立ちます。しかし同時に、ソフトウェア開発ライフサイクルの中で最も時間を要する工程でもあります。
よく目の当たりにする事例として、開発者がプルリクエスト (PR) を開き、自動出力されたコメントや同僚からのコメントを確認した後、変更が提案された理由を理解するためだけに、ドキュメントや Slack のスレッド、過去のコードを検索しなければならないというものがあります。この不足しているコンテキストを探す作業は摩擦を生み、チームの開発速度を低下させ、やり取りの回数を増やし、優れた製品を構築するという重要な目的の障壁となります。
Amazon Q Developer for GitHub の初期プレビューでは、開発者は新機能開発や、自動化されたコードレビュー、一般的なモダナイゼーションタスクにおいて、Amazon Q Developer を GitHub の Issue と PR にまたがって利用していました。これにより作業は GitHub 内で完結し、作業工数が削減されました。新規または再オープンされた PR に対する自動レビューは迅速に検出事項を提示しましたが、開発者は依然としてより多くのコンテキストと PR 内での緊密な連携を求めていました。
本日、PR 向けの対話型コードレビュー機能を導入します。/q
コマンドで Amazon Q Developer に検出結果に関する質問ができ、スレッド化された検出結果の簡潔な要約を確認し、GitHub を離れることなく提案された変更を適用できます。Amazon Q Developer によるコードレビューは以前より迅速に完了するため、待ち時間が短縮されレビューサイクルが短縮され、チームはより早くマージして開発に集中できます。
新機能とその意義
- プルリクエスト内でのインタラクティブな会話 :
/q
でコメントするとインラインで回答を得られます。また、 Amazon Q Developer にコード変更を提案させ、PR 内で変更を適用できます。
コメント例:/q explain this finding or /q propose a change that replaces class toggles with a data attribute for state.
※訳者注:/q この変更検出の内容を説明 または /q 状態を示すクラスをデータ属性に切り替える変更を提案
- スレッド化された検出結果付きコードレビュー要約 : 各コードレビューは簡潔な要約で始まり、変更の検出結果がスレッド形式で表示されます。これにより更新箇所の追跡が容易になり、作業の煩わしさが削減されます。
- 通知の明確化による高速化: Amazon Q Developer の分析が高速化されただけでなく、通知を整理して見やすくします。これにより待機時間が短縮され、レビューサイクルが短縮されます。新しい PR を作成する際、 Amazon Q Developer コンソール上で GitHub コードレビュー機能が有効になっている場合、自動的にコードレビューが開始されます。以降のコミットでは自動レビューはトリガーされません。新しい分析を実行するには、PR に対して
/q review
とコメントします。
Amazon Q Developer for GitHub の開始方法
Amazon Q Developer for GitHub を開始するには、GitHub の Organization、もしくはリポジトリに Amazon Q Developer for GitHub アプリをインストールします。このアプリは GitHub Marketplace から入手可能で、プレビュー期間中は AWS アカウントなしで利用できます。インストール時に GitHub の Organization 内のすべてのリポジトリへのアクセスを許可するか、選択したリポジトリのみに制限するかを選択します。Amazon Q Developer コンソールでアプリのインストールを登録すると、無料利用枠を増やすことができます。
インストール、権限、設定オプションの詳細については、Amazon Q Developer for GitHub のドキュメントを参照してください。アプリのインストールが完了すると、自動的にAmazon Q Developer を使用して PR をレビューできるようになります。
プルリクエストにおけるAmazon Q Developer利用の流れ
Amazon Q Developer で構築したシンプルなカードゲームを題材として、新しいインタラクティブなコードレビュー体験の流れをご紹介します。
- PR の新規作成 : この例では、最初にフィーチャーブランチを作成し「demo」と命名しました。次に、JavaScript と HTML で構成されるカードゲームアプリに
tailwind.css
ファイルを追加し、ブランチをプッシュした後、レビュー用の PR を作成します。
- Amazon Q Developerによるコードの自動レビュー : Amazon Q Developer がコードの品質、潜在的な問題、ベストプラクティスへの準拠状況を分析します。分析結果として簡潔な要約が最上部に表示され、変更の検知箇所が下部にスレッド形式で表示されました。これにより、全体像と詳細を 1 か所で把握できます。
- 要約と検知箇所を元にコードレビューを実施 : Amazon Q Developer が出力した要約と関連する調査結果を確認し、どの変更のレビューに最初に取り組むか判断します。変更の根拠と具体的な対象行が示されるため、ファイルをくまなく探す必要なく、対処すべき箇所が明確になっています。
/q
で説明を求める : 変更の検知箇所の一つについて、カードゲームにおけるカードの状態を保持するために、プロパティを使用することが提案されました。そこで Amazon Q Developer に詳細を確認しました。具体的な文脈と指針を迅速に提供してくれたため、やり取りが削減され、レビューの質が向上しました。
- (必要に応じて) 対話を続ける : Amazon Q Developer からの提案に対して、別のアプローチを希望すると返信したところ、Amazon Q Developer はすぐにこの PR に対して適用できる実装を応答してくれます。
- 修正を適用 : 実装提案を確認した後、「Commit suggestion」をクリックし、PR ブランチに新しいコミットを作成しました。この際、作成者のユーザー名は私になります。
- レビューの再実行 : 今回は必要ありませんでしたが、追加の変更をプッシュした場合、新しいトップレベルコメントとして
/q review
を投稿することで、Amazon Q Developer によるレビューを再実行できます。Amazon Q Developer がレビューを実行し、新たに検出した変更内容をポストします。
最終的にコードレビューが完了し、問題ないことを確認したため、PR をマージしました。新しい対話型コードレビュー体験により、変更提案の背景にある「理由」が明確になり、待ち時間とレビューサイクルが短縮されました。
まとめ
Amazon Q Developer for GitHub は現在プレビュー版として利用可能です。個人開発者でも大規模エンジニアリングチームの一員でも、このアップデートにより、少ないサイクルでクリーンなコードをデリバリできるようになり、コードレビューが面倒なものではなく楽しい工程になります。
ぜひ、次の PR で試してみてください。/q
と入力し、質問を投げかけ、対話型のレビューがワークフローをいかにスマートに変えるかを確認してみてください。
翻訳はソリューションアーキテクトの富永が担当しました。