バグ削減と開発時間短縮を実現する AI コードレビュー
by
Atsushi Nakatsugawa
×
Copy
Open
Slide 1
Slide 1 text
CodeRabbit × MagicPod 共催ウェビナー バグ削減と開発生産性向上を 実現する AI コードレビュー CodeRabbit 中津川篤司
Slide 2
Slide 2 text
𝕏 自己紹介 中津川 篤司 CodeRabbit デベロッパーアドボケイト 一般社団法人DevRel 代表理事 @goofmint fb.me/goofmint
Slide 3
Slide 3 text
CodeRabbitについて覚えてほしい3つのこと 1. レビューを基本とした、Agentic Change Management 2.シート単位の定額・OSSは無料 3.レビュイーはもちろん、レビュアーにも有効 coderabbit.ai/ja
Slide 4
Slide 4 text
CodeRabbit, Inc.について 1.従業員270名程度(内エンジニアが100名位) 2.ほぼリモートワーク(US、ベンガルールオフィ スあり) 3.日本支社なし 4.トークンマキシングな企業 https://www.coderabbit.ai/
Slide 5
Slide 5 text
Agentic Change Managementとは? AIエージェントの生成するコード変更を、 • 検証 • 優先順位付け • 理解 • 承認 • 保守 まで一貫して管理する仕組み
Slide 6
Slide 6 text
アジェンダ 1.コードレビューの目的 2.コードレビュー4つの課題 3.バグ削減と開発時間短縮 4.CodeRabbitが支援できる領域 5.CodeRabbitのデモ
Slide 7
Slide 7 text
コードレビューの目的 1.バグの早期発見 2.設計・実装方針の確認 3.セキュリティや保守性の確認 4.チーム内の知識共有
Slide 8
Slide 8 text
コードレビューの必要性 1.AIは責任を取れない 2.リリース後の手戻りは設計時の30倍とも 3.人員は入れ替えが発生する
Slide 9
Slide 9 text
コードレビュー4つの課題
Slide 10
Slide 10 text
1. レビュー開始までの待ち時間 1.レビュアーの空き時間までPRが確認されない 2.複数のPRが特定のレビュアーへ集中する 3.開発者が前の作業内容を忘れた頃に指摘が 返ってくる via Nudge: Accelerating Overdue Pull Requests toward Completio
Slide 11
Slide 11 text
2. レビュー内容のばらつき 1.レビュアーの経験や得意分野によって指摘が 変わる 2.同じ問題でも指摘される場合とされない場合 がある 3.忙しさによって確認の深さが変わる
Slide 12
Slide 12 text
3. レビュー作業の負担 1.変更内容を理解するだけで時間がかかる 2.命名、例外処理、入力チェックなどの反復的 な確認 3.単純な問題への指摘で、設計や業務仕様の確 認時間が減る
Slide 13
Slide 13 text
4. 開発現場で発生しやすい課題 1.案件・チーム・ベンダーによる品質差 2.プロジェクトごとに異なる開発標準 3.プロジェクト途中の増員や担当者変更 4.ドキュメント化されたルールがレビュー時に 参照されない
Slide 14
Slide 14 text
レビューと開発生産性向上
Slide 15
Slide 15 text
レビューが開発生産性向上に有効な理由 1.バグを後工程で発見すると、調査と修正の範囲 が広がる 2.指摘内容が曖昧だと、開発者が原因を調べる時 間が必要になる 3.レビューが遅れると、PRが長時間滞留する
Slide 16
Slide 16 text
開発時間を短縮するために必要なこと 1.問題を早く発見する 2.レビュー開始を早くする 3.指摘理由と修正方法を明確にする 4.修正後の確認を早くする 5.同じ問題を繰り返さない レビュー時間削減ではなく、レビューの待ち時間と手戻りを削減
Slide 17
Slide 17 text
レビューは2つの側面がある レビュイー レビュアー プログラマー シニアエンジニア レビューを受ける人 レビューをする人
Slide 18
Slide 18 text
レビューは2つの側面がある レビュイー レビュアー プログラマー シニアエンジニア レビューを受ける人 レビューをする人 ↑ AIコーディングエージェントのレビュー機能はこちら向け VS Code機能拡張・CLIもこちら
Slide 19
Slide 19 text
レビューは2つの側面がある レビュイー レビュアー プログラマー シニアエンジニア レビューを受ける人 レビューをする人 ↑ 開発生産性を上げるなら、 こちらのサポートが重要 CodeRabbitのPRレビューはこちらも対象
Slide 20
Slide 20 text
CodeRabbitが支援できる領域
Slide 21
Slide 21 text
CodeRabbitが支援できる領域 1.問題の検出(レビュイー向け) 2.PRの理解(レビュアー向け) 3.レビューの進行(レビュアー向け)
Slide 22
Slide 22 text
問題の検出(CodeRabbit Review) 1.条件分岐やロジックの不整合 2.null、空値、境界値の考慮漏れ 3.個人情報や機密情報の不適切な扱い 4.パフォーマンス上の問題 5.例外処理の不足 7.テスト不足 6.認証・認可の問題 8.保守性を下げる実装
Slide 23
Slide 23 text
PRの理解(CodeRabbit Change Stack) 1.変更内容の要約 2.変更された処理の整理 3.影響範囲の把握 4.重点的に確認すべき箇所の抽出
Slide 24
Slide 24 text
レビューの進行(CodeRabbit Triage) 1.レビューの優先順位の提示 2.最適なレビュアーの推薦
Slide 25
Slide 25 text
AIに任せない領域 1.仕様上の例外を許容するか 2.アーキテクチャとして妥当か 3.プロジェクトとしてリスクを受容できるか 4.今後の保守・運用の問題がないか 5.リリースを承認するか
Slide 26
Slide 26 text
MagicPodとの連携
Slide 27
Slide 27 text
実装計画・レビュー連携 1.CodeRabbit Plan MagicPodにあるエラー情報から実装計画を作成 2.CodeRabbit Review MagicPodにあるエラー情報を使い、レビュー
Slide 28
Slide 28 text
No content
Slide 29
Slide 29 text
エージェント連携 1. チャット 「MagicPodの //の テストケースの結果を教えて」 2. ループエンジニアリング 毎日2時に以下のテストケースを実行して、結果を教えて https://app.magicpod.com// //
Slide 30
Slide 30 text
CodeRabbitのデモ
Slide 31
Slide 31 text
https://github.com/goofmint/note2web/pull/79 https://app.coderabbit.ai/change-stack/goofmint/note2web/pull/87/layers/1
Slide 32
Slide 32 text
まとめ • コードレビューには待ち時間、属人化、確認漏れ、品質差という課題 • バグの早期発見は、後工程の手戻りと開発時間の削減に有効 • AIコードレビューはPRの理解、問題検出、修正支援、再確認を支援 • 人間は業務要件、設計、リスク、リリース判断に集中