Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CodeRabbitの効果検証と過ごしてみた3ヶ月
Search
armondando
September 17, 2026
Programming
30
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CodeRabbitの効果検証と過ごしてみた3ヶ月
CodeRabbitを組織に導入するために実施した効果検証と、導入したチームの変化について
armondando
September 17, 2026
Other Decks in Programming
See All in Programming
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
140
速習iPhone Duo対応
yuukiw00w
1
510
Are APIs Still Relevant in the AI Era?
soyuka
0
230
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
1
330
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
2.3k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
390
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
120
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
170
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
710
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
300
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
270
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Optimising Largest Contentful Paint
csswizardry
37
4k
Exploring anti-patterns in Rails
aemeredith
4
510
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
540
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
540
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
430
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
The Language of Interfaces
destraynor
162
27k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Transcript
CodeRabbit User Group Tokyo #4 CodeRabbitの効果検証と 過ごしてみた3ヶ月 株式会社ウェイブ 技術推進部 渡邉
プロダクトエンジニアリング部 安藤 1
今日話すこと • 前半は CodeRabbitを組織に導入するために効果検証をした話をします • 後半は 導入したチームで、人間のレビューがどう変わったかを紹介します * すごい使いこなしてるよという話ではないです... *
n=1の事例としてお聞きいただければ幸いです 2
自己紹介 • • • • 渡邉 技術推進部所属 メインはRails、AWSでのWebアプリ開発 現在はAIを前提としたソフトウェア開発を 推進する活動をしています
3
現場で試してみて、効果があるか測ることにした • AIのコードレビューサービスを調査していた • CodeRabbitのセットアップや設定が簡単で体験が良かった ◦ セルフホストのGitlabに対応していた • チームに導入するため、効果の説明をできるようにしたい •
現場で使ってみて、計測して、効果検証してから導入を考える 4
スケジュール:検証期間2ヶ月。中間と最終で2回計測。 4 2〜4 12 12 チーム 名 / チーム 名
リポジトリ 3/1 検証開始 4/1 中間報告 5/1 最終報告 検証前 中間 最終 2月 3月 4月 CodeRabbitをできるだけ効果的に使った状態で計測したい CodeRabbitはユーザーとのやり取りを学習したり、設定を変えることで育っていってレビュー 指摘の質が変わる 中間報告で、計測結果をチームにフィードバックして、CodeRabbitの改善を促す 5
判断基準:一人あたり月1時間の削減で費用対効果あり Essentialsプラン $30 / 人月 ≒ 4,500 円 削減できれば費用対効果がプラスになる作業時間 =
1時間 / 月 人件費 0.5万円 / 時間 で換算 CodeRabbitを導入するメリットはコード品質の向上なども見られるが、 2ヶ月程度の短期的な検証では効果を見るのは難しいと判断して、作業時間削減 に絞った 「1時間削減できるなら導入してもいいね」とステークホルダーと合意を取った 6
計測方法: 定性と定量の両面 • 定性 : アンケート • 定量:Pull Requestから取得できるデータを収集 7
測った項目:定性(アンケート) 項目 内容 役割 レビューする時間の短縮 変わらない/30分/1時間/4時間/1日以上 の5択で自己申告 効果の直接指標 レビューされる時間の短縮 同上
効果の直接指標 開発リードタイムの短縮 同上 効果の直接指標 レビュー指摘の品質評価 8項目を5点満点で: タイポ/バグ/セキュリティ/パフォーマンス/コーディングルール/ ビジネス要件/カスタマイズ性/属人化解消 得意不得意を見る 継続希望 続けたいか 自由記述 良かった点・困った点 現場の感触 8
測った項目:定量(PRのデータから集計) 項目 PR数 内容 役割 CodeRabbitで事前にレビューされていれば、人のレビューコメント数は少なくなっていく はず 数が減っていれば人の負荷軽減や作業時間削減に効果があるはず 効果の間接指標 Pull
Requestの件数 人が書いたレビューコメントの件数 人のレビュー コメント数 良い指摘 ÷ CodeRabbit の指摘数 良い指摘の割合 CodeRabbitが、適切なところを指摘できているか 良い指摘だと思ったらスタンプを付けてもらう(修正の有無は問わない) 割合が低い場合は、ノイズになり邪魔になっている可能性がある 有効に使えている か リードタイム(レビュー依頼 → マージ までの時間)の計測はしたかったが、チームごとにブ ランチやPRの運用が異なり、有効なデータの計測が難しくて断念... 今後の課題 9
定量 良い指摘の割合: 🐰うさぎスタンプで数える 10
結果 ① 定性:削減時間の平均は、チームで割れた チーム別 平均削減時間 / 月(最終アンケート、n=12) A(2名) B(4名) C(3名)
D(3名) 全体(12名) レビューする時間 4.0 時間 0.4 時間 1.3 時間 0 1.1 時間 レビューされる時間 0.5 時間 0.4 時間 0 0 0.2 時間 開発リードタイム 2.5 時間 0.4 時間 1.3 時間 0 0.9 時間 A、B、Cチームはジュニアメンバーや入って日が浅いメンバーがいて、軽微なミスを CodeRabbitが拾ってくれることで、時間削減を実感できていた Dチームは実装頻度が低く、恩恵を感じることが少なかった
結果 ② 定性:効く指摘と、効かない指摘 指摘の品質評価(最終、5点満点、n=12) タイポ 3.92 セキュリティ 3.67 バグ 3.58
属人化解消 3.33 コーディングルール 3.25 カスタマイズ性 3.08 パフォーマンス 3.08 ビジネス要件 2.83 0 1 2 3 4 コードを見て分かるものは早い段階で良い指摘ができていて、効果を実感した そのプロダクトならではのドメインを考慮した良い指摘は少なかった 期間内では CodeRabbitを育てられなかった 5
結果 ③ 定量:良い指摘は増えた。人のコメントは減らなかった 導入前(2月) 中間(3月) 最終(4月) PR数 361 237 308
人のレビューコメント 92 151 189 PRあたり 0.25 0.64 0.61 人のコメントは 92 → 189。減っていない 要因は不明 指摘は 256 → 220 に減り、 スタンプは 43 → 58 に増えた 指摘の質が変わった CodeRabbit の指摘 — 256 220 うさぎスタンプ — 43 58 良い指摘の割合 — 16.8% 26.4% 時期的な影響もあった 4月には新メンバーも増えていた CodeRabbitが育っていくことで良い指摘が増えることがわかった 時間が削減したかは、定量ではわからなかった 13
判断:チームごとに導入を決めてもらう 2チーム 1チーム 1チーム 継続 後から導入 導入せず メンバーが入れ替わって、レビュー体制 チームで話し合い、自分たちでレビュー が変わった
スキルを育てる判断 合格ラインを超えた/半数が実感 全チームで一律で導入ではなく、効果があったチームで導入する 最終結果をもとに、チームで判断して稟議承認を得る 一部の効果計測は継続し、惰性で利用し続けないように定期的に観測 14
まとめ • 2ヶ月で効果検証を実施 • 一人あたり1時間/月 の作業時間削減を目安とした • 定性と定量で計測 ◦ 定性:レビューする/される時間、リードタイム
◦ 定量:人のレビューコメント数、良い指摘割合 • ジュニアや日の浅いメンバーには効果が高かった • 検証結果を見て チームごとに導入を判断 した 15
検証では、人のレビューコメントは減らなかった では、導入したチームで、 人間のレビューはどう変わったか 前半:導入するか判断するまで 後半:導入したあと、実際のチームで何が起きたか 16
自己紹介 • 安藤 • プロダクトエンジニアリング部所属 • 現在は弊社サービスの決済ドメインのリ アーキテクチャを進めています 17
導入の経緯 チーム体制が変わり、レビューが自分に集中した 💦 シニア2名・ジュニア1名 シニア1名・ジュニア2名 チーム体制が変わり、シニアが2名から1名に。レビューが自分に集中するように なった 18
導入の経緯 検証結果が現状に当てはまり、利用を開始した 効果検証の結果 ジュニアや日の浅いメンバーには効果 が高かった 導入チームの現状 = シニア1名・ジュニア2名 レビューが1人に集中していた CodeRabbitに協力してほしい
=> 利用開始 19
良かった ① コードから判断できる範囲をレビューしてくれた CodeRabbit が見てくれる 規約違反・テスト観点の抜け typo・コメントの更新漏れ 人間が集中できる 設計の意図・ドメイン理解 検証結果通り、コードから判断できる範囲をレビューしてくれた。
人間は設計の意図・ドメイン理解に集中できた。 20
良かった ② 学習した独自ルールも汲み取ってレビューしてくれた 学習件数(CodeRabbit Learnings) 学習したルールの例 アーキテクチャ トランザクション境界は Controller に置く。モデル内では張らない。
ユビキタス言語 用語の使い分けを守る。同じ概念を別の語で書くと指摘する。 ドキュメント ADR は決定時点の記録。実装に合わせて書き換えず、差異は注記で示す。 レビューを通じて学習した独自ルールも汲み取ってレビューしてくれていた 21
良かった ③ 考慮漏れを拾ってもらえ、レビューの負荷が減った 🤝 細かい考慮漏れをCodeRabbitによって拾ってもらえるようになった。 レビュー時の心理的な負荷が減った。 22
困ったこと 大きいPRに対して、コメントが大量にくる 細かい指摘(ノイズ含む)から重要な指摘まで、全て読むのが大変 23
対策 PRを小さく分割し、関係ない変更を混ぜない 小さなMRを積み重ねてレビューを受ける(Stacked merge requests) 1つのPRに関係ない変更をなるべく混ぜない PRを小さく分割して、CodeRabbitのコメントを読める量に保つ 24
定量 CodeRabbit Analytics:約3ヶ月の利用実績 179 838 61.3% 4.68 / 0.87 マージされたMR
CodeRabbitのコメント 受容率 コメント数 / MR (CodeRabbit / 人間) CodeRabbitのコメントは人間の約5倍。そのうち6割が受け入れられた 25
約3ヶ月CodeRabbitを使って感じたことまとめ レビュアー 学習の蓄積 レビュー時 負担が減った 精度が高くなった 心理的負荷が減った 安心してレビューを任せられる 長く使うほど独自ルールを汲み取る 細かい考慮漏れを拾ってもらえる
安心して任せられることでレビュアーの負担が減り、人間は設計とドメイン理解に集 中できた 自分たちのニーズに合わせて使い込めば、引き続き効果が得られると感じた 26
おまけ うさぎをくまにしようとしていた 27
ご清聴ありがとうございました! 28