Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
兎に角、コードレビュー
Search
mitohato14
August 19, 2025
Programming
1
250
兎に角、コードレビュー
mitohato14
August 19, 2025
Tweet
Share
More Decks by mitohato14
See All by mitohato14
CodeRabbitと過ごした1ヶ月 ─ AIコードレビュー導入で実感したチーム開発の進化
mitohato14
4
2k
アプリの復旧を早くしたい!
mitohato14
1
110
事業開発とコミュニティ活動
mitohato14
0
51
プレビューファーストUI開発
mitohato14
1
470
新米テックリードの試行錯誤.pdf
mitohato14
1
510
JetpackCompose Slot APIs
mitohato14
0
920
Start Jetpack Compose.pdf
mitohato14
0
380
Other Decks in Programming
See All in Programming
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
3
940
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
190
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
120
Devoxx BE - Local Development in the AI Era
kdubois
0
130
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
3.4k
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
350
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
520
Flutterで分数(Fraction)を表示する方法
koukimiura
0
140
What's new in Spring Modulith?
olivergierke
1
160
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
200
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
230
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
173
15k
A Modern Web Designer's Workflow
chriscoyier
697
190k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Gamification - CAS2011
davidbonilla
81
5.5k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Being A Developer After 40
akosma
91
590k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Typedesign – Prime Four
hannesfritz
42
2.8k
How STYLIGHT went responsive
nonsquared
100
5.8k
Transcript
© DMM © DMM CONFIDENTIAL 兎に角、コードレビュー AIコードレビュー実践事例 3選 mitohato14 2025/08/20
© DMM 自己紹介 名前 mitohato14(Miyazato Hayato) 所属 合同会社DMM.com 主な業務 DMMポイントクラブ Android 社内向けSDK
登壇・執筆サポート 2
© DMM 今日話すこと CodeRabbitの導入背景 導入結果 今後の展開 3
© DMM サービスの紹介
サービス LP:https://lp.pointclub.dmm.com/ DMMポイントをお 得に貯めて 賢く管理 ! カジュアルゲームで 効率的に ポイントを稼げる !
FEATURE FEATURE DMMの お得な情報が 届く! FEATURE 3 サービスコンセプト
会員数 MAU 機能 DAU で手に入れよう モバイルアプリ版 6 万 カジュアル ゲーム
ポイント 管理 万 (会員IDベース(Web含む)) 10〜 13 万 5〜 6 通知 送客 広告 59 ※2025年02月25日時点
© DMM CodeRabbitを導入した話
© DMM 導入前の話
© DMM コードレビュー メンバー3人 1Approve以上でマージ 朝と夕に口頭レビュータイム(30分) 9
© DMM コードレビュー 細かい指摘が多くなりがち 細かい部分を見落としがち テストのシナリオケースとテストコードにズレ レビュー時間が大きく取られる レビュー品質がレビュアーに大きく依存 10
© DMM AIコードレビューの波
© DMM AIコードレビューの波 他チームでPR-AgentのAIコードレビュー導入事例があった 新しいSDK開発開始のタイミングで試験的運用 12
© DMM PR-Agent qodo-aiによるAIコードレビューツール https://github.com/qodo-ai/pr-agent OpenAIのAPIキーをGitHub Actions経由で利用 従量課金 13
© DMM 結果
© DMM PR-Agent導入結果 うまく使いこなせず背景化 指摘がAndroidのデファクトスタンダードっぽくなかった 見ることが減っていった 運用方法をきちんと定めずにとりあえず導入してみた感が強かった 15
© DMM 時は少し流れ
© DMM AI活用の流れ 部署全体的なAI活用促進 「人でやっていた業務の50%をAIに置き換えた(協働)うえで、開発リードタイ ムへの変化を観測する」 https://developersblog.dmm.com/entry/2025/04/18/110000 17
© DMM 18
© DMM AI活用の流れ コード生成だけでなく、要件定義やユーザー分析など ほぼすべての業務にAIを コードレビューももちろん対象 19
© DMM レビュー課題点整理
© DMM 目指したい状態 • 細かい問題は事前に検出され、レビュー前に解決されている • コードを人が見るだけでは気づきにくい不具合を早期に検出できる • 属人性を排除し、安定したコード品質を担保できる体制の構築 21
© DMM 目指したい状態 • 細かい問題は事前に検出され、レビュー前に解決されている • コードを人が見るだけでは気づきにくい不具合を早期に検出できる • 属人性を排除し、安定したコード品質を担保できる体制の構築 本格的なAIコードレビューの導入検討
22
© DMM 利用ツールの選定 社内で利用実績のあるツールを比較 • PR-Agent • CodeRabbit • GitHub
Copilot code review 23
© DMM PR-Agent 過去に利用経験あり 従量課金制でコストをかなり抑えられる 期待しているようなレビュー内容を得られなかった 24
© DMM CodeRabbit 定額課金制で、実行コストを意識しなくて良い 以下が魅力的に感じた • レビュー内容のカスタマイズ性 • シーケンス図による変更内容視覚化 •
チャット形式でのやり取りが可能で、学習もしていく • リポジトリ全体のコードを踏まえた上でのレビュー 25
© DMM GitHub Copilot code review GitHub Copilot有効化で利用可能 検討時はまだパブリックプレビュー 対応している言語が限られていて、Kotlinは対象外だった
26
© DMM CodeRabbitを導入してみることに
© DMM CodeRabbitとは
© DMM CodeRabbit AIを活用したコードレビュー支援ツール https://www.coderabbit.ai/ja • PR概要生成 • コードレビュー •
改善提案 • シーケンス図の生成 • 類似リポジトリの列挙 • チャット機能 • やり取りの学習もする • リポジトリ全体を考慮したレビュー 29
© DMM 導入していく
© DMM 導入 CodeRabbitにGitHubアカウントでログイン ダッシュボードから有効化するリポジトリを選択 すぐに使える(無料枠も!) yamlファイルを追加することでより良いレビューに 31
© DMM yamlファイル .coderabbit.yamlに記述 公式サイトを参考に設定を記述(構文チェックもできる) https://docs.coderabbit.ai/getting-started/configure-coderabbit/ レビュー用プロンプトを育てていく AIも活用しつつ、設定する 32
© DMM
© DMM
© DMM 実際の設定
© DMM
© DMM セットアップ 細かい部分まで指摘するように GitHubのrequest changesで 見落とさないように 37
© DMM プロンプトを別ファイル化し、他AIと共有 ファイルパスごとの構造化したレビュー観点 プロダクト固有の知識や コーディングルールを 別ファイル化 (他AIツールと共有) 38
© DMM
© DMM 運用方法 CodeRabbitからのレビュー対応が完了してからOpen CodeRabbitのレビューにはコメントやリアクションを残す 追加でレビューして欲しい時は「@coderabbitai full review」 40
© DMM 運用方法 CodeRabbitからのレビュー対応が完了してからOpen →ある程度問題解消してからレビューできるように CodeRabbitのレビューにはコメントやリアクションを残す →確認漏れなのか対応不要なのかわかるように 追加でレビューして欲しい時は「@coderabbitai full review」
→プッシュごとのレビューが煩わしく感じないように 41
© DMM 導入結果
© DMM PR内容の要約例
© DMM 44
© DMM 45
© DMM 46
© DMM 47
© DMM 指摘内容例
© DMM 49
© DMM 50
© DMM Kotlin/Android固有の指摘も 51
© DMM 嬉しかったこと
© DMM 嬉しかったこと • 変更内容の要約 • どのようなファイルにどんな変更が入ったかわかりやすい • 実装ミスに気づきやすい •
シーケンス図の生成 • レビュアーのコード理解促進 • チャット形式でCodeRabbitとやりとりできる • 指摘について質問したりプロダクト事情を伝えたり • レビューが早い • メンバーに見てもらう前に簡単な内容を修正できる • ポエム • ふふっと柔らかい気持ちになる 53
© DMM CodeRabbitとのやりとり プロダクトの背景や議論をログとして残せる Request Changes/Approveしてくれる 54
© DMM メンバーの声
© DMM メンバーの声 良いところ • 細かいレベルで精度の高いレビューを素早くしてくれる • 修正点が明確 • 問題指摘だけでなく、どう直せば良いかわかりやすい
• 気づけていなかった問題点を指摘してくれる • バグを事前に防げる 56
© DMM メンバーの声 気になること • 提案をそのまま受け入れるとエラーになる • suggest形式をそのまま受け入れない • 返信で後続対応しますといっても同じ指摘してくれる
• TODOコメント書けば良い 57
© DMM 良さそう🎉
© DMM 感じたAIコードレビューの効果
© DMM AIコードレビューの効果 導入当初はコードレビュー作業全体にかかる時間削減を期待 結果として • レビューする時間は減った • 指摘対応する時間は増えた •
マージまでの時間は増えている • コード・プロダクト品質の向上を感じる 60
© DMM AIコードレビューの効果 • レビューする時間は減った • 見る前にある程度問題が解消されている状態 • PR要約で理解促進 •
指摘対応する時間は増えた • レビュー開始までに指摘が多く、対応に時間が取られる • 直したらまた新しい指摘がある • マージまでの時間も増えている • トータルで見るとレビュー対応に費やす時間が増えている 61
© DMM 時間の増加 62
© DMM AIコードレビューの効果 品質向上への寄与を多く感じる 人が見落としがちな部分も指摘する バグに繋がるようなミスやコード構造のズレに気づける • テストシナリオと実態が異なる • 画面によって実装方法が異なる
• メソッド名と実装が異なる 63
© DMM AIコードレビューの効果 コード品質だけではなく、プロダクト品質にも アクセシビリティ対応 • ボイスオーバー用文字列の追加 • content descriptionの追加
• UIコンポーネントサイズの提案 64
© DMM 目指した状態になった?
© DMM 目指したい状態 • 細かい問題は事前に検出され、レビュー前に解決されている • コードを人が見るだけでは気づきにくい不具合を早期に検出できる • 属人性を排除し、安定したコード品質を担保できる体制の構築 66
© DMM 目指したい状態 • 細かい問題は事前に検出され、レビュー前に解決されている • 対応後にOpenすることで解決 • コードを人が見るだけでは気づきにくい不具合を早期に検出できる •
シナリオや命名とのズレが指摘される • プロジェクト全体の内容を踏まえた提案 • 属人性を排除し、安定したコード品質を担保できる体制の構築 • コーディングルールを加味した AIにより一定のレビュー品質が担保 67
© DMM 完璧?
© DMM 改善・課題点 マージまでの時間は長いまま 内容が誤っている時がある 不要な内容の提案がある プロンプト更新後の動作確認がやりづらい チームの状況的にPR作成が少ない時期も一定のコスト 69
© DMM 今後の話
© DMM 今後の展望 • 他AIツールでのコードレビュー効果測定 • Claude Code Actionを試しはじめた •
プロンプト・設定の継続的な改善 • マージまでの時間短縮 71
© DMM Claude Code Action Claude CodeをGitHub Actions上で利用できる 別目的でClaude Code
Actionをチームで導入し始めた 様々な用途で利用できる可能性を感じている コードレビューできるように整備中 :loading: 72
© DMM さいごに CodeRabbitによるコードレビューの効果を実感 • レビュー時間短縮 • 内部品質・外部品質の改善 • 不具合の事前検知
気軽に導入でき、チームやプロダクトに応じた設定が可能 チャット形式によるやりとりによるAI学習も魅力的 73
© DMM さいごに もっと詳しく知りたい人は以下も参考に! • https://speakerdeck.com/mitohato14/coderabbittoguo-gosita1keyu e-aikodorebiyudao-ru-deshi-gan-sitatimukai-fa-nojin-hua • https://developersblog.dmm.com/entry/2025/06/06/110000 •
https://findy-tools.io/products/coderabbit/407/540 74