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コードレビューがチームの"文脈"を 読めるようになるまで
Search
Takumi Maruyama
November 27, 2025
Programming
560
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AIコードレビューがチームの"文脈"を 読めるようになるまで
Takumi Maruyama
November 27, 2025
Other Decks in Programming
See All in Programming
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
770
golang-bob.pdf
iwatsukayura
0
130
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
3
430
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
140
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
280
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
320
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Designing for humans not robots
tammielis
254
26k
The untapped power of vector embeddings
frankvandijk
2
1.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
Automating Front-end Workflow
addyosmani
1369
210k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
The Language of Interfaces
destraynor
162
27k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
570
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Transcript
AIコードレビューがチームの"文脈"を 読めるようになるまで エムスリー株式会社 丸山拓己
自己紹介 • 丸山拓己 / Takumi Maruyama • 2024/01入社 • リサーチプロダクトチーム所属
(※) 2025年11月時点 日本の医師のエムスリー会員率 エムスリーが事業展開している国の数 エムスリーが占める全世界で医師会員の割合 全世界で医師会員合計 18 カ国 (※) 50
%以上 (※) 700 万人以上 (※) 90 %以上 エムスリー が展開する医療従事者向け情報 サイト「m3.com」は34万人を突破、日本 の医師の9割以上が会員。(※) 日本の医師の9割が登録するm3.comを開発 圧倒的な医療業界へのアクセス基盤
エムスリーが製薬企業と医療業界の間に入りリサーチプロダクトを提供 製薬企業の適切なマーケティング、医師や患者へのアクセス、スムーズな薬剤開発を実現 リサーチプロダクトが実現する世界 4
目次 • AIコードレビューまでの経緯 • AIレビューの課題感 • AIに文脈を教える”育成コマンド” • 今後の展望・まとめ Nano
Banana Proで作った画像
エンジニアリンググループでのAI活用 • 2023年以降、生成AI関連のツールを積極的に活用 • 開発生産性は大きく向上したと感じている https://speakerdeck.com/vaaaaanquish/llmgaji-jie-xue-xi-fen-ye-tota-fen-ye-niqi-kositakiyazumukarajian-ji-meruenzinianowei-lai-xiang?slide=7
予測されたスピード向上による副作用 • 開発は効率化されたが、レビューは引き続き人間が行っていた • AIの書くコードを完全に信用できないため、レビューは必須 • アウトプットが増えても、レビューがボトルネックになる レビューでもAIの力を使いたい
AIコードレビューの導入 • 有志によってAIコードレビューのテンプレートが整備される • Claude CodeをGitLab CI上で動かしてレビュー ◦ GitLab MCPを使用して、マージリクエスト(MR)にコメントを作成
• チームごとにレビュー用のプロンプトを設定できる ◦ プロンプトの他に、MCPやClaude Codeの設定なども
チーム内での運用 • 開発が頻繁に行われているリポジトリに導入 • まずは、人間がトリガーする形で運用 ◦ MR作成 → AIコードレビュー →
レビュー依頼 • Pushごとにレビューするとノイズになる可能性があった
AIコードレビューの効果 • Typoが今まで以上に検出されるようになった • ベストプラクティスに沿った書き方を提案してくれる • テストの抜け漏れを教えてくれる より本質的なロジックや設計に集中できるようになった
使ってわかった AIコードレビューの課題
見えてきたAIレビューの限界 得意 • タイポの検出 • ベスプラからの逸脱 • セキュリティ上まずいコードの 指摘 苦手
• 周辺コードと体裁を揃える • コンポーネントの粒度を揃える • より良いファイル配置の提案
更新すればいい...でも... • レビュー用のプロンプトを都度更新すればいい • 都度更新しても整理されないプロンプトになってしまう • (正直めんどくさい) MRのコメントに書いてるから 覚えて欲しいな... 🤔
メンバーのコメントは生きたドキュメント • メンバーは持っているドメイン知識を元にコメントをしてくれている ◦ みんな自分の考えをわかりやすく整理してコメントくれている • 議論も活発なので、そこから学べることも多い • GitLab上のコメントであれば、関連するコードも一緒に参照できる 人間のコメント・議論から
プロンプトを更新すれば良さそう!
AIに文脈を教える”育成コマンド”
AIレビュアー育成コマンド • Claude Codeのコマンドとして作成 • MRのコメントから、自動的にレビュー用プロンプトを更新する • 現状は各自のローカルで動かすように作られている
育成コマンドの全体像 直近のMRを取得 各MRのレビュー観点整理 観点をプロンプトに反映
直近のMRを取得 • 2週間以内のMRを取得 • 取得したMRをフィルタ ◦ 複雑性が高い ◦ 議論が活発に行われている ◦
コメントが多くついている 直近のMRを取得 観点をプロンプトに反映 レビュー観点整理
レビュー観点の整理・要約 直近のMRを取得 観点をプロンプトに反映 レビュー観点整理 • サブエージェントで行う • コメントからレビュー観点を整理 ◦ 人間のコメントのみを取得
◦ AIレビュー・無関係な会話は除外 • MRごとにmdファイルにまとめる
プロンプトへの反映 直近のMRを取得 観点をプロンプトに反映 レビュー観点整理 • ファイルを元にプロンプトを更新 • 元のプロンプトは更新しない • 必要に応じて人間が調整
◦ 更新履歴が書かれていることがある
工夫1: サブエージェントの活用 • 全てのステップを行うとすぐAuto Compactが走る • サブエージェントを使うことでコンテキストの消費を抑えられる ◦ Claude Codeのサブエージェントは別のコンテキストで実行される
◦ https://code.claude.com/docs/en/sub-agents • サブエージェントは並列実行できるので、実行時間も短縮できる ◦ 直列: 約20分 → 並列: 10分
工夫2: ハルシネーションの防止 • AIがコメントの整理中にレビューや自分のコメントをつけていた ◦ コメントのついたコードをレビューしたり、コメントを評価したり • コメントをつけたメンバーのIDを一緒に出力するようにした ◦ これによりAIが勝手にレビューを行わずに人間のコメントのみを要約してくれる
**実際についたコメントとコメントをつけたユーザ名も併記すること。** ↑実際にプロンプトに書いてある文言
詳しいプロンプトはブログをチェック!
実際にAIが学んだルール(抜粋) 見た目の類似性だけでなく、ビジネス責務や利 用条件の違いを考慮してコンポーネント分離・ 統合を判断する コンポーネント設計 外部システムとの連携は必要時のみ実行し、パ フォーマンスとコストを考える 外部システムとの連携 外部システム連携時はマスターデータの所在を 明確にし、整合性と同期タイミングを設計する
データの整合性 自動で重要なレビュー観点が追記されるようになった
現在の課題・今後の展望
現在の課題 • AIがコメントしなくてもいい内容を、コメントしないようにしたい ◦ プロンプトには入れているが、あまり効果がない • レビュー用のプロンプトが長くなっていく ◦ コンテキストが長くなることで、他の重要な指示・知識が薄れる ◦
どこかで必要な情報・不要な情報を取捨選択する必要がある
今後の展望 • 定期実行できるようにしたい ◦ ローカルで実行するよりも仕組み化したい • レビュー用のプロンプトだけでなく、CLAUDE.mdも更新したい ◦ レビュー時の観点は、開発時点でも持っておくべき •
うまく動くようになれば、テンプレート化したい
まとめ コードレビュー効率化のた めにAIレビューを導入 Typoやベスプラ逸脱などは 検知可能になる プロジェクト固有の事情は レビューに反映されづらい AIレビュー導入 過去のレビューから レビュー用プロンプト生成
メンバーのコメントから プロジェクト独自の観点を 学習 育成コマンド作成 レビュー観点から CLAUDE.mdをよくする 定期的に実行されるように 改良予定 今後の展望
エムスリー公式テックチャンネル https://www.youtube.com/channel/UC_DkAOcwgmtQnJLDctci4rQ 社内勉強会やブログなど面白い話題がたくさん! エンジニア公式Xアカウント https://x.com/m3_engineering