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
海外登壇の心構え - コワクナイヨ - / how to prepare for a presentation abroad
kishida
2
100
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
4.7k
React Native New Architecture 移行実践報告
taminif
1
110
開発15年のAIネイティブでない 巨大サービスのAI最適化
rapicro
0
110
Honoを技術選定したAI要件定義プラットフォームAcsimでの意思決定
codenote
0
270
Flutterアプリ運用の現場で役立った監視Tips 5選
ostk0069
1
530
スタートアップを支える技術戦略と組織づくり
pospome
8
13k
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
11k
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
13
5.4k
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
260
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
100
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Rails Girls Zürich Keynote
gr2m
95
14k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Embracing the Ebb and Flow
colly
88
4.9k
Making Projects Easy
brettharned
120
6.5k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
Speed Design
sergeychernyshev
33
1.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Become a Pro
speakerdeck
PRO
30
5.6k
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