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
410
AIコードレビューがチームの"文脈"を 読めるようになるまで
Takumi Maruyama
November 27, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
ThorVG Viewer In VS Code
nors
0
660
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
310
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
520
dchart: charts from deck markup
ajstarks
3
960
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
180
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
290
クラウドに依存しないS3を使った開発術
simesaba80
0
220
AIエージェントの設計で注意するべきポイント6選
har1101
6
3.1k
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.4k
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
620
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
0
450
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
200
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Test your architecture with Archunit
thirion
1
2.1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.5k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Balancing Empowerment & Direction
lara
5
840
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
63
GitHub's CSS Performance
jonrohan
1032
470k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
330
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
280
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