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コードレビューがチームの"文脈"を 読めるようになるまで
Search
Takumi Maruyama
November 27, 2025
Programming
0
110
AIコードレビューがチームの"文脈"を 読めるようになるまで
Takumi Maruyama
November 27, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
「文字列→日付」の落とし穴 〜Ruby Date.parseの意外な挙動〜
sg4k0
0
310
Feature Flags Suck! - KubeCon Atlanta 2025
phodgson
0
180
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
4.7k
React Native New Architecture 移行実践報告
taminif
1
110
データファイルをAWSのDWHサービスに格納する / 20251115jawsug-tochigi
kasacchiful
2
100
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
120
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
4
2.1k
AWS CDKの推しポイントN選
akihisaikeda
1
210
『実践MLOps』から学ぶ DevOps for ML
nsakki55
2
480
2025 컴포즈 마법사
jisungbin
0
150
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
5
2.6k
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
1.8k
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Typedesign – Prime Four
hannesfritz
42
2.9k
It's Worth the Effort
3n
187
29k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
11
940
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
How STYLIGHT went responsive
nonsquared
100
5.9k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
980
Bash Introduction
62gerente
615
210k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
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