🎉

PR処理数2.8倍に!社内勉強会で話したAIレビュー活用法を全て見せます

に公開

こんにちは、mayaです!

先日、社内エンジニア向けに実施したアンケートで最も要望の多かったテーマである「AIレビューの実践方法」に関する勉強会を開催しました。今回は、その勉強会で共有したAIレビューの活用方針と具体的なツール、そして導入によって実際に得られた驚きの成果について、詳しく解説していきます。

この記事で分かること / 対象読者

  • AIレビューツールの基本的な定義 / 得意なこと / 苦手なこと
  • GitHub CopilotやCodexを使った基本的なレビュー方法
  • Cloud CodeやCodex CLIを活用した発展的なレビュー方法
  • Devinを活用したレビューの可能性
  • ラッコIDチームでレビュー時間を半分以下にした方法

筆者のステータス

  • AI推進チームのPMとして、社内複数チームへのAI駆動開発の導入・支援を経験
  • Cloud Code、Copilot、Codex、Devinなど複数のAIツールの社内への導入支援を担当
  • AIツールのトレンドキャッチアップに苦労してる3年目エンジニア😭

きっかけ:開発メンバーが感じていた課題

社内では、AI活用の効果を実感しているメンバーがほとんどであり、Cloud CodeのようなAIツールが日常的に浸透しています。しかし、その一方で、「学習時間が取れない」(43.8%)という声が最も多かったほか、「どのツールを使えばいいか分からない」という課題も存在していました。

特に、AI駆動開発の推進に伴い、レビューしなければならないプルリクエスト(PR)の数が増え、レビュー負担の増大が深刻な課題となっていました。この勉強会は、この増大したレビュー負荷をAIの力で削減し、チーム全体の開発速度を向上させることを目的に実施されました。

1. AIレビューの基礎知識:人間と何が違うのか

社内でもAI活用のレベル感はバラつきがあるので、「AIレビューとは?」という基本的な情報からおさらいしました。

1-1. AIレビューツールの定義とメリット

AIレビューツールは、従来の静的解析ツール(ESLintやPrettierなど)とは異なり、コンテキストを理解してコード品質をチェックしてくれるツールです。まるで人間のレビュアーのように指摘できる点が大きな特徴です。

AIレビューの導入による主なメリットは以下の3点です。

  1. 開発速度の向上: レビュー待ち時間の短縮により、開発サイクルが加速します。
  2. コード品質の向上: 人間が見落としがちな問題(セキュリティリスクや細かなバグ)をAIが一貫した品質基準で早期に検出します。
  3. リソースの最適化: 機械的なチェックをAIに任せることで、レビュアーはビジネスロジックやアーキテクチャ設計などの重要な判断に集中できるようになります。

1-2. AIレビューの得意分野と苦手分野

AIレビューが提供する「指摘の質」は、AIが持つ「コンテキスト」によって決まります。基本的に、AIはプルリクの差分と学習済みの一般的な知識しか持っていません。

AIが得意なこと(コンテキストがなくても指摘可能) AIが苦手なこと(コンテキストが必要)
基本的なバグ(ロジックエラー、typoなど) ビジネスロジック(要件との整合性判断)
一般的なセキュリティ問題(SQLインジェクション、XSSなど) ドメイン知識やチーム内の暗黙的なルール
一般的なコード規約違反やベストプラクティス違反 全体設計やアーキテクチャ設計
パフォーマンス問題やテストカバレッジ不足

重要なポイント: 苦手分野を克服するためには、AIに渡すコンテキストを工夫する必要があります。例えば、要件定義書や実装ガイドラインといった情報をAIに渡すことで、ビジネスロジックのレビュー精度を向上させたり、プロジェクト固有のガイドラインに則ったレビューをさせることが可能です。


2. 活用方針:日常レビューとカスタムレビュー

2-1. AIレビューの基本方針とツール選定

具体的には、AIによる一次レビューで基本的なチェックを済ませ、その修正後に人間が最終確認を行うというフローが良いでしょう。

日常的なレビュー(基本) としては、GitHub CopilotとCodexの使用を推奨します。これらのツールはPR作成時に自動的にレビューを実施するよう設定でき、レビュー精度も申し分ないです。

カスタムレビュー(応用) として、より詳細なレビューが必要な場合は、Cloud CodeやDevinを利用することを推奨します。

2-2. なぜ複数のレビューツールを使うのか?

複数のAIレビューツールを併用する理由は、意見の偏りを防ぐことと、リスク分散の観点からです。

  • 意見の偏りを防ぐ: 複数のAIエージェントを利用してレビューを行う方が、意見の偏りを防げる可能性が高く、より広範な内容をカバーできると考えられます。
  • リスク分散: 特定のサービスへの依存度が高まると、そのサービスの性能が一時的に悪化した場合(2024年8月頃にCloud Codeの性能が悪化した事例がありました)、開発全体に混乱が生じるリスクがあります。

そのため、AIレビューツールの改定頻度は半年に一度程度に抑え、開発メンバーに負担をかけない形で体制を整えるよう努めています。


3. 実践編:基本フローとローカルレビューの活用

3-1. 日常レビューの基本フロー(Copilot/Codex)

実装が完了しPRを提出した後の日常的なレビューフローは、主に以下の流れで自動化されています。

  1. PRを提出: 実装が完了したら、通常通りPull Requestを作成します。
  2. 自動レビューの開始: GitHub CopilotやCodex(チャットGPT/Codexコネクター)が自動的にレビューを開始します
  3. レビュー結果の確認と修正: レビュアーはAIからのコメント(指摘)を確認します。実装者は指摘に応じて修正を行います
    • Tips: Cloud Codeのカスタムコマンドを利用すれば、PRに付いたレビューコメントを分析し、修正作業までAIに依頼できます(/pr-comments
  4. 再レビュー: 変更をプッシュすると、再度AIによるレビューが自動実行され、修正内容が適切かチェックされます

3-2. 発展編:ローカルレビュー機能の活用

より高度な品質保証を行うために、ローカル環境(手元) でレビューを行わせる方法があります。これはGitHub上でのPRレビューだけでなく、コミット前やブランチ間の差分チェックを開発プロセスのあらゆる段階で可能にします。

① Cloud Codeによるレビュー実行
Cloud Codeにはデフォルトでレビューコマンド(/review)が用意されており、PR番号を指定することで、ローカル環境から詳細で高品質なレビュー結果を得られます。

/review #1234

② Codex CLIの4つのレビューモード
Codex CLIにもレビューコマンドがあります。

/review

コマンドを実行すると、以下の4つのモードを選択でき柔軟にレビューしてくれます。

  1. ブランチ間比較レビュー: 現在のブランチと他のブランチ(例:maindevelop)の差分チェックに最適。
  2. 未コミット変更レビュー: コミット前の差分だけを対象にレビューし、セルフチェックの品質を担保できます(最もおすすめの使い方)。
  3. 特定コミットレビュー: 過去の特定のコミットを選択してレビューし、履歴を遡って問題箇所を特定する際に便利。
  4. カスタム指示レビュー: セキュリティやパフォーマンスなど、独自の指示(プロンプト)を追加して、特定の観点に絞った深いレビューが可能。

活用シーン:

  • 実装者の場合: PR提出前にセルフチェックとしてローカルレビューを必須とすることで、レビュアーの負担を大きく減らし、高品質なPRを作成できます。
  • レビュアーの場合: ボリュームが大きくレビューしづらいPRや、特に重要な機能について、AIの網羅的な分析と人間の戦略的な判断を組み合わせて、徹底的なレビューを実現できます。

4. 番外編:Devinレビューの可能性と具体的な成果

私が所属するIDチームでは、CopilotとCodexによる日常レビューを超え、より高度なレビュー体制を構築するためにDevinを導入しました。

4-1. Devinが必要となった背景

AI駆動開発により実装スピードが大幅に向上した結果、5月から6月にかけてPR数が急増しました:

Before: 65件/月
After: 184件/月(2.8倍増加 🚀)

このPR数の急増により、レビュー速度が追いつかないという問題が発生し、Devinの導入が検討されました。

Devinはリポジトリ全体を理解した上での自律的なレビューを実現します。これは、PRの差分だけでなく、コード全体を読んで人間的なレビューをすることを可能にする特性です。

Devinは主に以下の点で優れています。

  • リポジトリ理解力: Devin Wikiを活用し、リポジトリ全体の構成や機能を常に把握。
  • 複数リポジトリ対応: IDと旧環境の実装比較など、横断的なレビュー機能を提供。
  • 非同期処理: クラウド上で動作するため、複数セッションの同時実行が可能。

4-2. AIにビジネスロジックを検証させる

IDチームでは、Devinに対して「実装ガイドラインの検証」と「要件・仕様観点からのビジネスロジック検証」の2つのアプローチを依頼しています。これにより、人間では見落としがちだった旧環境との要件の一致確認や、複雑なビジネスロジック周りのレビューも高精度で行えるようになりました。

このDevinを含むAIレビュー体制を導入した結果、劇的にチームのパフォーマンスが伸びました。

指標 導入前の平均(スプリント1) 導入後の平均(直近スプリント) 変化率
月間PR処理数 65件(6月) 184件(7〜8月) 2.8倍の処理能力向上
PR承認までの平均時間 14.8時間 6.2時間 半分以下に短縮

AIレビューによって人間の負荷が軽減され、開発サイクルを劇的に加速させることができました。

【実践のヒント】
AIレビューの質をさらに上げるには、ドキュメントのリポジトリ管理を進めることが推奨されます。例えば、実装ガイドライン、要件定義書などをリポジトリ管理し、AIにレビューを依頼する際のコンテキストとして参照させることで精度が向上します。


まとめ:AIは開発をサポートする強力なツール

AIは人間を置き換えるのではなく、開発をサポートする強力なツールです。今回の勉強会では、AIレビューの基礎知識と活用方針、そしてGitHub Copilot、Codex、Cloud Code、Devinを使った実践的なレビュー手法を紹介しました。

今日から実践できること(アクションプラン)

すぐにできること:

  • PR提出前にCloud CodeまたはCodex CLIでセルフレビューを実施
  • GitHub CopilotまたはCodexの自動レビューを設定
  • 基本的な問題を事前に発見・修正する習慣をつける

余裕があれば挑戦:

  • レビュー観点(セキュリティ、パフォーマンス等)のカスタマイズ
  • 大規模プロジェクトでDevinの導入を検討
  • 実装ガイドラインや要件定義書のリポジトリ管理を進める

チームで取り組む:

  • AIレビューの知見をチームで共有
  • レビュー体制の改善提案を定期的に実施
  • チーム全体でAIツールのトレンドをキャッチアップ

個人的には「チームで取り組む」がとても大事だと思っています。
これだけトレンドの波が激しいAI界隈の情報を一人でキャッチアップするのは大変ですから😖

チームあるいは組織一丸となって、みんなで情報収集/トライアンドエラーをしていけたらいいなと

ラッコ株式会社

Discussion