Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて

AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて

2026/03/12 「組織の疲弊を防ぐレビュー負荷軽減実践方法」https://jp.findy-team.io/event/live/review_load_260312/

Avatar for ハゲワシ

ハゲワシ

March 11, 2026
Tweet

More Decks by ハゲワシ

Other Decks in Programming

Transcript

  1. © Kakaku.com Inc. All Rights Reserved. 2 自己紹介 経 歴

    社 外 活 動 所 属 @hagevvashi 株式会社カカクコム 食べログカンパニー 開発本部 品質管理部 Developer Productivity チーム 菅 原 直 人 DevOpsDays Tokyo実行委員 2018〜 フロントエンド開発 2021〜 テスト自動化 2025〜 PRレビューAI化
  2. © Kakaku.com Inc. All Rights Reserved. 4 目次 1. QAがPRレビューAI化に取り組む背景

    a. 開発での生成AI利用とQAの課題 2. 食べログのPRレビューAI化システム a. 指摘コメント生成の仕組み b. 初期レビュー観点 c. プロンプト改善のための評価指標 3. プロンプト改善のポイント a. 影響範囲の考慮漏れの難しさ b. 影響範囲の考慮漏れの課題 c. 過去バグから抽出されたレビュー観点 d. レビュー観点毎のトリガー e. レビュー観点抽出プロンプトの本番運用結果 f. 深刻度をAI自身に自己評価させる g. 深刻度をAI自身に自己評価させた結果 4. まとめ a. 今後の展望
  3. © Kakaku.com Inc. All Rights Reserved. 6 開発での生成 AI利用とQAの課題 QAの課題

      生成AIの設計・実装での活用により、   今後PR数が増えることが想定される   人に依存したQAの手法だけだと   ボトルネックになってしまう 開発での生成AI利用   AIと自動化を活用することで   バグ検知の仕組みを案件に対して   スケールさせる QAの解決策   1. PRレビューAI化   2. 自動テスト実装のAI化   3. 手動テスト設計のAI化 今回は PRレビューAI化 の話 !
  4. © Kakaku.com Inc. All Rights Reserved. 8 食べログの AI化PRレビューの流れ 1

    2 3 PRレビューを実施し、レビュー対象 のPRに指摘コメントを投稿 PRレビュー対象Issueにコメント 指摘コメントを受理 / 不受理 判定 し、必要に応じてコード修正 GitHub Actions Devin GitHub PR  コメントをトリガーとして  Devinを起動 開発者 Devin 開発者 指摘の内容 指摘のスコア (レビュー観点毎) 受理/不受理 入力欄 指摘
  5. © Kakaku.com Inc. All Rights Reserved. 9 指摘コメント生成の仕組み PRレビューAI化システム (Devin)

    レビュー対象 PR A レビュー指示プロンプト レビュー観点プロンプト B 開発者 入力(トリガー) 出力 レビュー対象へのコメント PRへの指摘コメント  レビューの手順・方法  レビュー手順の順番  観点プロンプトの場所・読み方  指摘投稿スクリプトの場所・実行方法  指摘テンプレート A レビュー指示プロンプト B レビュー観点プロンプト  見つけたいバグ  バグを見つける手順  バグを見つける手がかりの場所  具体例(Few Shot)
  6. © Kakaku.com Inc. All Rights Reserved. 10 指摘コメント生成の仕組み PRレビューAI化システム (Devin)

    レビュー対象 PR A レビュー指示プロンプト レビュー観点プロンプト B 開発者 入力(トリガー) 出力 レビュー対象へのコメント PRへの指摘コメント  レビューの手順・方法  レビュー手順の順番  観点プロンプトの場所・読み方  指摘投稿スクリプトの場所・実行方法  指摘テンプレート A レビュー指示プロンプト B レビュー観点プロンプト  見つけたいバグ  バグを見つける手順  バグを見つける手がかりの場所  具体例(Few Shot) 今回改善する部分はB
  7. © Kakaku.com Inc. All Rights Reserved. 11 初期レビュー観点 No レビュー観点

    1PRあたり平均 合計 割合 - 総コメント数 6.14   20177   100%   1 コーディングスタイル問題 0.31   1022   5%   2 ケアレスミス 0.18   602   3%   3 セキュリティリスク 0.03   122   1%   4 パフォーマンスリスク 0.08   295   1%   5 ロジックエラー 0.14   475   2%   6 テスト強化指摘 0.07   256   1%   7 ドキュメンテーション改善 0.08   283   1%   8 維持管理リスク 0.67   2222   11%   9 互換性/依存関係の問題 0.03   118   1%   10 業務要件 0.13   430   2%   11 影響範囲の考慮漏れ 0.12   426   2%   12 その他 ※1 4.14   13614   67%  2024年度の 約4000件のPR / 約20000件のレビューコメント から 初期レビュー観点 を抽出 ※1 レビュー指摘以外(LGTM や 返事 など)のコメント
  8. © Kakaku.com Inc. All Rights Reserved. 12 プロンプト改善のための評価指標 ※1 QAがバグを指摘できているか判断

    適合率が低いほど、指摘のうち、「バグを指摘できている割合」が低い = ノイズが多い 分子が低い → バグを検出できていない ので増やす 分母が多い → バグ以外が多い ので減らす レビュー観点毎の適合率をもとに仮説検証のサイクルを回している    ・プロンプト改善の方針を策定(仮説を立てる)    ・プロンプト改善の結果を評価 適合率から判断可能なこと 分子を増やす施策と分母を減らす施策がある = AIによるバグ指摘 / (AIによるバグ指摘+AIによるバグ以外の指摘) ※1 適 合 率
  9. © Kakaku.com Inc. All Rights Reserved. 14 影響範囲の考慮漏れの難しさ 初 期

    レ ビ ュ ー 観 点 レビュー観点の中でも、特に 影響範囲の考慮漏れ は難しい 影響範囲の考慮漏れ にフォーカスしていく    一般的なコード知識・レビュー知識で  指摘できるレビュー観点 No レビュー観点 1 コーディングスタイル問題 2 ケアレスミス 3 セキュリティリスク 4 パフォーマンスリスク 5 ロジックエラー 6 テスト強化指摘 7 ドキュメンテーション改善 8 維持管理リスク 9 互換性/依存関係の問題 10 業務要件 11 影響範囲の考慮漏れ  食べログ固有知識が必要な観点 食べログ固有知識 が必要な上、ソースコード差分に現れない間違い を見つける必要がある 影響範囲の考慮漏れ観点でバグを検出するために
  10. © Kakaku.com Inc. All Rights Reserved. レビュー観点「影響範囲の考慮漏れ」で バグを検出できていない 15 影響範囲の考慮漏れの課題

    食べログの「影響範囲の考慮漏れ」の 具体的 なレビュー観点を教えるために過去バグを分析 解 決 の ア プ ロ ー チ この時点の適合率 27 件(PoC 展開中のチームが 2025/11 にAIレビュー実施したPR) 0 %(0/8) 8 件(影響範囲の考慮漏れの指摘) 課 題 適合率が0% ? 対象PR 対象指摘 適合率 食べログの 具体的 な固有知識が必要な観点であることが、AIに伝わっていないのでは?
  11. © Kakaku.com Inc. All Rights Reserved. 16 過去バグから抽出されたレビュー観点 No. 過去バグのタイトル

    レビュー観点 1 店舗画面操作によるユーザへのメール送信エラー ライブラリのアクセス権限 2 DB構成変更による予約機能閲覧障害 DBマイグレーションによる破壊的変更 3 ポイント日次付与失敗 データ変更による間接的影響 4 ネット予約で3Dセキュア後エラーになる場合がある 処理フロー順番変更による影響 過去バグから具体的なレビュー観点 を抽出する
  12. © Kakaku.com Inc. All Rights Reserved. 17 レビュー観点毎のトリガー No. レビュー観点

    トリガー 実験結果 (検出率) 1 ライブラリのアクセス権限 変更差分に共有ライブラリ が含まれる場合 60% (3/5) 2 DBマイグレーションによる破壊的変更 変更差分にDBマイグレーションコード が含まれる場合 100% (5/5) 3 データ変更による間接的影響 変更差分にデータ変更コード が含まれる場合 100% (5/5) 4 処理フロー順番変更による影響 変更差分に処理フロー順番変更コード が含まれる場合 80% (4/5) 「この場合はこのレビュー観点でレビューする」という 暗黙知がある 「レビュー観点抽出元の過去バグ」 の原因PRを再現したPRに対して、 AIレビューを実施した結果 人間 トリガー : 各レビュー観点において、レビュー手順を開始する条件 その暗黙知をトリガーとしてAIに教える
  13. © Kakaku.com Inc. All Rights Reserved. リリース後の本番運用ではバグを1件検出できたが、 ノイズが多い 19 レビュー観点抽出プロンプトの本番運用結果

    指摘の深刻度をAI自身に自己評価させる 解 決 の ア プ ロ ー チ この時点の適合率 22 件(PoC 展開中のチームが 2026/02 にAIレビュー実施したPR) 5.9 %(1/16) 16 件(影響範囲の考慮漏れの指摘) 課 題 適合率が5.9% ? どんな指摘がノイズか否かを、AIが判断できていないのでは? 対象PR 対象指摘 適合率
  14. © Kakaku.com Inc. All Rights Reserved. 20 深刻度をAI自身に自己評価させる 深刻度の基準 =ドメインナレッジ

    深刻度がないと、AIは一般的な指摘をたくさんしてしまう レビュー指摘の深刻度をAIが自己評価する基準 としてインプット 過去バグから抽出した深刻度の基準の例 深刻度の評価 Critical High Ignore 共有しているAPIやデータテーブルの利用によりデータ不整合が発生 共有しているAPIやデータテーブルの利用によりエラーになる 共有しているAPIやデータテーブルの利用によりエラーにはならない
  15. © Kakaku.com Inc. All Rights Reserved. 21 深刻度をAI自身に自己評価させた結果 ※ 全く同じPRを再現し、深刻度を導入した状態で再実施

    バグを検出できている上で、 ノイズが減少 (15 → 1) この時点の適合率 22 件(PoC 展開中のチームが 2026/02 にAIレビュー実施したPR) 50 %(1/2) 2 件(影響範囲の考慮漏れの指摘) 対象PR 対象指摘 適合率 実際に減ったノイズ例 自己評価導入前に PRに投稿された指摘 自己評価導入後に AIが自己評価して 投稿しなかった指摘 同じ指摘 深刻度が低い
  16. © Kakaku.com Inc. All Rights Reserved. 23 まとめと振り返り 今回の経験から学んだこと AIでバグを検出できるようにするための工夫

    自社プロダクトの 具体的な固有知識をAIに教えることで、ノイズを抑えつつバグを検出 今後の展望 1 2 AIがノイズを抑えられるようにするための工夫  過去バグから具体的なレビュー観点を抽出  レビュー観点毎にトリガー(レビュー手順を開始する条件)を定義  自社プロダクトにおける深刻度を自己評価させる   1. PRレビューAI化   2. 自動テスト実装のAI化   3. 手動テスト設計のAI化  今日の話はPRレビューAI化 ですが、  他にもAI化の取り組みをしています