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
AIレビュー導入によるCIツールとの共存と最適化
Search
Masaya Nakashima / 中島 暢哉
March 06, 2025
Programming
1
2.3k
AIレビュー導入によるCIツールとの共存と最適化
2025/3/6 コードレビューどうしてる? 品質向上と効率化の現場Tips共有会 登壇資料
https://findy.connpass.com/event/345102/
Masaya Nakashima / 中島 暢哉
March 06, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
Raku Raku Notion 20260128
hareyakayuruyaka
0
430
atmaCup #23でAIコーディングを活用した話
ml_bear
4
740
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
4
370
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
200
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
270
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
360
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
230
2026/02/04 AIキャラクター人格の実装論 口 調の模倣から、コンテキスト制御による 『思想』と『行動』の創発へ
sr2mg4
0
680
Claude Code、ちょっとした工夫で開発体験が変わる
tigertora7571
0
200
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
210
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
330
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
330
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
600
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4k
Balancing Empowerment & Direction
lara
5
930
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.3k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
60
50k
RailsConf 2023
tenderlove
30
1.4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
240
4 Signs Your Business is Dying
shpigford
187
22k
Rails Girls Zürich Keynote
gr2m
96
14k
Transcript
AIレビュー導入によるCIツールとの共存と最適化 中島 暢哉 2025年3月6日 1
自己紹介 中島 暢哉 合同会社 DMM.com プラットフォーム開発本部 第1開発部 アカウントサービスグループ 会員バックエンドチーム チーム記事
• AWS Database Migration Service (DMS) – MySQLでの活用Tips集 • DMM会員基盤 オンプレミスMySQLからAmazon Aurora MySQLへの移行方法とハマった点 • Pull Request のレビュー効率をあげるためにやっておきたいこと 2
None
会員バックエンドチーム・開発環境 チーム規模 • リーダー1名含めた開発者7名体制 開発環境 • 言語:Go • インフラ環境:AWS •
CI:GitHub Actions ◦ Lint ◦ Testなど • CD:ArgoCD • Docker / Kubernetes 4
コードレビューの課題 • レビューの質に一貫性がない ◦ 人員異動が発生したときに備えて最低限の質を担保したい(属人化の回避) • 変更内容のドキュメント作成が負担になる ◦ 人によって内容の粒度が違う •
Pull Requestが大きいと認知負荷が高い ◦ 分割にも限界がある ◦ 単純なミスの指摘漏れが発生しやすい ◦ 結果としてリードタイムが長くなる → AIレビューの導入を検討 5
AIレビュー(PR-Agent)導入の目的 目的:レビューコストの削減とコード品質の向上 ✅ 初回レビューの自動化 • タイプミスやエラーの見落としを未然に防ぐ • Pull Requestのタイトルや説明を整理し、レビュアーの理解を促進 ✅
人間のレビューを高度化 • AIが初歩的なミスを指摘 → 人間はアーキテクチャや設計に集中できる • レビューの速度と品質を向上させ、全体の効率を改善 AIレビューの導入によりレビュー負担を軽減しつつ、 コード品質を担保することを目指しました。 6
PR-Agentの概要 PR-Agentは、Codium AIにより、オープンソースで開発されている AIツール 裏側では、GPT-3.5やGPT-4を使い、GitHubのPull Requestに対して行える、 以下の機能を提供しています。 • Pull Requestで変更されたコードの、分析・要約・レビューを行う
• Pull Requestのタイトルと説明を変更する • Pull Requestで変更されたコードの改善提案を行う など また、PR-Agentからは、GitHub ActionsのWorkflowを使って導入するためのActionsが提供されている ため、Azure OpenAI API Keyさえあれば導入は簡単にできます。 https://github.com/qodo-ai/pr-agent 7
PR-Agentの導入例 describe機能 8
PR-Agentの導入例 improve機能 9
PR-Agent導入後の気づき メリット • よくあるミス・言語仕様の理解度が高い ◦ 見逃しがちなTypoやデバック用のコードに対する指摘 ◦ 言語仕様的なミスに対する検出精度 • Pull
Requestの説明を整理・要約 ◦ レビューポイントをまとめてくれる デメリット • ドメイン知識が弱い ◦ プロジェクト固有の仕様や業務ルールを深く理解できない • ベストプラクティスの適用判断が難しい ◦ あえて実施していないケース(タイミングの関係等で採用できない)を適切に判断できない 10
コードレビューの課題 • ❌レビューの質に一貫性がない ◦ 人員異動が発生したときに備えて最低限の質を担保したい(属人化の回避) • ✅変更内容のドキュメント作成が負担になる ◦ 人によって内容の粒度が違う •
△Pull Requestが大きいと認知負荷が高い ◦ 分割にも限界がある ◦ 単純なミスの指摘漏れが発生しやすい ◦ 結果としてリードタイムが長くなる 11
既存のCIツール(Lint, Test…)とは何がちがうのか 12
AIレビューとCIツール 役割の違い 13 比較項目 AIレビュー(PR-Agent等) CIツール(Lint, Test等) 目的 PRの可読性向上、ミスの指摘 コード品質のチェック、規約の強制
チェック内容 タイプミスやロジックの改善提案、 PRの説明補助 Linter、型チェック、テスト実行 対応レベル 推奨(人が判断する) 強制(機械的にFail/Pass)
AIレビューとCIツールの棲み分け ✅ AIレビュー(PR-Agentなど) • Pull Requestの説明を整理し、レビュアーの負担を軽減 • 「ルールでは防げないが、人が見落としやすい部分を指摘」 ◦ 例:「この変数名は曖昧では?」
◦ 例:「この処理は簡潔に書けるのでは?」 • 人が最終的には判断を行う(人間のレビューはなくならない) ✅ CIツール(Lint, Testなど) • コーディング規約やフォーマットの自動チェック • 「ルールで決められたチェック」を自動で適用 ◦ 例: 「インデントがずれているので Fail」 • 機械的にFail/Passを決める部分を担当 14
まとめ ✅ AIレビュー • 標準的な指摘はできるもののドメインを理解して深い指摘ができてない • 最終的には人の判断が必要になる ✅ AIレビューとCIツールの棲み分け •
CIツール ◦ 機械的にFail/Passを決める部分を担当 • AIレビュー ◦ AIレビューは人間のレビューを補助し、より高度な議論を可能にする 15
AIレビュー導入によるCIツールとの共存と最適化 中島 暢哉 2025年3月6日 16