AIによるコーディングが当たり前になる中、有識者によるコードレビューや細かな指摘に時間を取られていませんか。本稿は、GitHub Copilotを開発者自身のセルフレビューに活用することで、セルフレビュー品質を高め、有識者の稼働集中を和らげる取り組みを紹介します。さらに、組織全体の効率化に向けた施策として、コードレビュー用プロンプトの整備や共有・再利用の工夫にも踏み込みます。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
各社のエンジニアが発信する「テックブログ」。その熱量を@IT編集部がピックアップ。 生成AI前提時代に向けて環境が激変する中、“隣のエンジニア”は何を感じ、何を考え、どうアクションしているのか?――試行錯誤のプロセス、成功の鍵、変化に立ち向かうマインドなど現場のリアル、ナレッジを凝縮してお届けします。
本稿はTISインテックグループが運営する、開発現場から生まれた技術ノウハウを公開するサイト「Fintan」上で2025年1月28日に掲載した記事を転載するものです。そのため、用字用語の統一ルールなどが、@ITのものと異なります。ご了承ください。
GitHub Copilot Chatに自然言語で記述されたレビューチェックリストを入力することで、コードの改善点の有無を即座に得ることができます。ルールベースのチェックでは拾いづらい抽象表現でのレビューが可能です。
コードレビューに使用するプロンプト例および、GitHub Copilot Chatでコードレビューを行った出力例を以下に示します。
コードを評価し、結果をmarkdown表形式で示す。表以外は表示しないこと。 表に続けて、結果が×,△のものに対して改善案を示して。 ## 表 観点、結果(○,×,△,-)、指摘 ## チェック観点 ・各モジュール・クラス・関数は単一責任の原則に従っているか ・大きすぎる関数やクラスは適切に分割されているか ・継承の深さは適切か、不必要な継承を避けているか ・コードの重複を避け、DRYの原則を順守しているか ・命名規則はPEP8に準拠し、わかりやすいか ・ファイル構造は論理的で整理されているか
GitHub Copilot Chatを用いたAIコードレビューは開発者環境で行うことができます。
既存の静的解析ツールに加えて、抽象表現での開発者自身のセルフレビューにより、コード品質が向上します。
AIコードレビュー導入前後を比較して、導入メリットをみていきましょう。
第一に、開発者自身のセルフレビューの一部が代替され、作業負担が減ります。
AIコードレビューの導入前のセルフレビューが約60分とすると、導入後は約10分程度まで短縮可能です。
AIコードレビューは、24時間365日即座にフィードバック可能です。開発途中段階でこまめにチェック可能で、迅速なフィードバックループが確立できます。また、一貫性のある評価基準での分析が可能で、見落としやすい細かい問題も検出可能です。特に、非機能観点のコード品質向上に著しい効果があります。
開発者の時間の21%はバグ修正に費やされており[1]、本番環境でのバグ発見時の修正は10倍のコストが発生すると仮定すると[2]、バグの早期発見による生産性効果は大きいです。
大規模開発では、新規着任者、ジュニアのエンジニアを含む複数名が並行して製造を行います。
AIコードレビューの導入前は、コード品質の均一化のために有識者レビュー時間の大半が費やされるのが実情でした。命名規則の統一やコードの可読性など、機能品質以外のレビュー指摘も多く検出されます。有識者の稼働が集中し、レビュー待ち→レビュー→修正→再レビューのサイクルが長期化する傾向がありました。
AIコードレビューの導入後は、開発者のセルフレビュー品質が向上したことにより有識者レビューの負担が軽減されました。
有識者の負担が軽減されることによって、有識者(人間)によるコードレビューの質も向上します。コード品質の最終チェックに集中でき、アーキテクチャ評価や戦略的判断により多くの時間を確保可能になります。
AIコードレビューを使いこなすにあたり、注意すべき点もあります。
AIコードレビューの注意点を以下にまとめます。
これらの注意点に対しては、組織的な対策を講じることでAIコードレビューの効果を最大化することができると考えます。
AIのコード提案を主体ではなく補助的なツールとして位置づけることは重要です[3]。特にクリーンで重複のない効率的なコードとなっているかを意識し、コードの提案を受け入れる場合は、後のコードレビューをセットで行います。
コード品質の判断はAI任せにするのでなく、人間(有識者)によるレビュー品質をいかに高めるかという観点でAIを扱うことが肝要です。その点で後述するコードレビュープロンプトの整備が有効となります。
TISでは、AIコードレビューの生産性効果の最大化に向けてふたつの施策を展開しています。
GitHub Copilotを用いた独自ツールを開発し、Visual Studio Code(VS Code)エクステンション「Promptis」として公開しています。
このツールは事前に用意したレビュー用プロンプトをコマンド一発で呼び出し、連続実行を可能とします。
人間が行う操作はワンタッチで、100以上のコードのレビューのチェック項目を数分で終わらせることができます。
複数のレビュー対象ファイルを順に読み込んで、一括してレビューすることもできます。
このツールはすでに実践導入されていて、高い生産性効果と品質効果を出しています。
GitHub CopilotとPromptisを活用したAIコードレビューに関連する記事として、下記もよろしければご覧ください。
インフラコードに対するAIコードレビュー:GitHub CopilotとPromptisの活用
TISの開発で使用されることが多い主要なプログラミング言語・アプリケーションフレームワークに適したレビュー用のプロンプトを整備し、AIコードレビューで呼び出しやすい形式(mdファイル)にして配布しています。プロンプトは、AIのレビュー品質の揺らぎを減らすための記述方法に統一しています。
また、AIによるコードレビュー精度を上げるにはレビュー用のプロンプトファイルは細かく分けた方がベターです。TISでは、プログラミング言語・アプリケーションフレームワーク別、コンポーネント別、レビュー観点別の複数のコードレビュープロンプトを順次拡充しています。
本稿では、TISにおけるGitHub Copilotを用いたAIによるコードレビューの活用についてご紹介しました。
AIによるコードレビューは人間のチェックを完全に代替するものではありません。また、組織としての最適なレビュープロセスの整備自体は、AIが解決してくれるものではありません。AIコードアシスタントのメリットを最大限享受するには、AI利用の注意点を認識し、AIツール利用を含む開発プロセスそのものを適切にコントロールすることが必要です。
「開発者はおいしい脆弱性になった」 AIコーディング、採用、OSS、CI/CD“4つの包囲網”と生存戦略
「AIエージェントが侵入経路」「レビューが追い付かない」 運用設計が問われる段階に
「AIが書いたコードはAIにレビューさせる」 GitHub Copilot コーディングエージェントがアップデート
「AIでコードを書いてもレビューで止まる」開発現場の課題、NECはどう解消したか
膨大なAI生成コード、1回平均20分レビューの価値は4000円? Claude Codeに「Code Review」機能追加Copyright © ITmedia, Inc. All Rights Reserved.