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
AIレビュー導入によるCIツールとの共存と最適化
Search
Masaya Nakashima / 中島 暢哉
March 06, 2025
Programming
2.7k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AIレビュー導入によるCIツールとの共存と最適化
2025/3/6 コードレビューどうしてる? 品質向上と効率化の現場Tips共有会 登壇資料
https://findy.connpass.com/event/345102/
Masaya Nakashima / 中島 暢哉
March 06, 2025
Other Decks in Programming
See All in Programming
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
220
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
330
SFCで実現する病院・医療システムの動的組み立て式UI
koukimiura
1
170
ChromeでローカルLLM
ryu1013
0
200
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
210
オーケストレーション記述言語 Katari
yukikurage
0
240
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
230
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
150
Next.js: The final boss of Web Performance
guaca
0
390
Goコンパイラを作ってGoをもっと理解する / Build a Go compiler to better understand Go
ikura_hamu
0
130
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
350
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
630
Featured
See All Featured
HDC tutorial
michielstock
2
1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
300
The SEO identity crisis: Don't let AI make you average
varn
0
630
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
The Language of Interfaces
destraynor
162
27k
4 Signs Your Business is Dying
shpigford
187
23k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
740
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
660
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Building Applications with DynamoDB
mza
96
7.3k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
121
130k
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