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
2.6k
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
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
230
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
660
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
340
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
2.7k
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
1B+ /day規模のログを管理する技術
broadleaf
0
120
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.7k
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
7
1.1k
AIエージェントで 変わるAndroid開発環境
takahirom
1
350
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
380
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
470
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
250
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
350
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
Docker and Python
trallard
47
3.9k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
The Curious Case for Waylosing
cassininazir
1
420
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Accessibility Awareness
sabderemane
1
150
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