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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
emi084
December 04, 2025
Technology
1
70
チームの開発生産性を高める!AI時代のコードレビュー
emi084
December 04, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
猫でもわかるKiro CLI(セキュリティ編)
kentapapa
0
130
Webhook best practices for rock solid and resilient deployments
glaforge
2
310
AWS DevOps Agent x ECS on Fargate検証 / AWS DevOps Agent x ECS on Fargate
kinunori
2
250
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
210
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
530
Context Engineeringの取り組み
nutslove
0
380
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
270
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
170
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
150
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
プロポーザルに込める段取り八分
shoheimitani
1
680
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.6k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Speed Design
sergeychernyshev
33
1.5k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
150
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
460
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
97
How to Talk to Developers About Accessibility
jct
2
140
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
330
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Thoughts on Productivity
jonyablonski
74
5k
A Soul's Torment
seathinner
5
2.3k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
320
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Transcript
AI時代のコードレビュー 今、人が担うべき役割は? 2025/12/04 emi084 ©GLOBIS. ALL Rights Reserved.
氏名:emi084 所属:株式会社グロービス(14年目) 約10年間、社内SEとして業務シス テムの開発・運用に携わる 2022年、バックエンドエンジニア へ転向し、 『GLOBIS 学び放題』等 のサービス開発に従事 最近は生成AIを活用した社内オペレ
ーションの効率化にも取り組んでい る 自己紹介 ©GLOBIS. ALL Rights Reserved. 2│
AIコードレビューを活用するために、 人が担うべき役割を考える 以下の方向けにお話します。 これからAIレビュワーを導入しようと考えている方 導入したが「欲しいレビューが来ない」と感じている方 どこまでAIレビュワーを頼れるのか分からないと思っている方 今日のテーマ ©GLOBIS. ALL Rights
Reserved. 3│
1. AIレビュワーに振り回されない 2. 足りないコンテキストを補うレビューをする 3. AIを育てる AIコードレビューを活用するためにやるべきこと ©GLOBIS. ALL Rights
Reserved. 4│
1. AIレビュワーに振り回されない ©GLOBIS. ALL Rights Reserved. 5│
私やチームメンバーが実際に振り回された例を三つご紹 介します! AIレビュワーに振り回された事例 ©GLOBIS. ALL Rights Reserved. 6│
AIレビュワー「この命名は〇〇が良いです」 開発者「確かに!…(修正) 」 AIレビュワー「〇〇はよくありません。△△が良いです」 開発者「え?そうなの?最初からそう言ってよ…(修正) 」 AIレビュワー「〇〇にすることを提案します」 開発者「 」 例1:AIレビュワーの無邪気さに翻弄される
AIは無邪気なので、人間と同じ感覚で付き合うと翻弄されてしまう » AIには「一貫性がない」前提で向き合う » ©GLOBIS. ALL Rights Reserved. 7│
AIレビュワー「Modelクラスに役割を持たせすぎている、単一責任の原則に基づ き役割ごとに独立した小さなクラスに分割するべき」 開発者「確かに分かりやすい!その手があったのか!」 他のチームメンバー「チームの開発方針(Fat Model)と異なるため、局所的な 分割は逆に可読性を下げる。今は機能追加を優先するフェーズなので、大規模なリ ファクタリングは避けるべき」 例2:AIレビュワーを盲信する AIは一般的に正しいことを言うが、チームにとって正しいとは限らない »
「今やるべきか?」の判断は人間にしかできない » ©GLOBIS. ALL Rights Reserved. 8│
AIレビュワー「コントロール層にバリデーションが実装されているが、モデル層 にも実装すべき」 開発者「了解!…(修正) 」 レビュワー「2重にバリデーションを実行しているのはなぜでしょうか?」 開発者「AIに指摘されたので」 レビュワー「 」 ※ 2重バリデーションの是非はケースによります
例3:AIレビュワーに判断を委ねる AIはあくまでもアドバイザー、判断をすべきなのは人間 » 責任は全て人間が持つ » ©GLOBIS. ALL Rights Reserved. 9│
AIには一貫性がない AIは知らないこと(コンテキストが足りないこと)は指摘できない AIはあくまでもアドバイスをするだけのポジション 最終的な判断は人間の責務であることを忘れない 「AIレビュワーに振り回されない」のまとめ AIの特性を知る » オーナーシップを手放さない » ©GLOBIS.
ALL Rights Reserved. 10│
2. 足りないコンテキストを補うレビューをする ©GLOBIS. ALL Rights Reserved. 11│
AIが指摘できず、人間が指摘した事例を4つご紹介します AIが指摘できなかった事例 ©GLOBIS. ALL Rights Reserved. 12│
def some_method(user:) if user.is_active?がtrueの場合 処理A else 処理B end end 指摘:
user (インスタンス全体)だと主語がデカすぎて、どのような用途で渡しているのか が見えづらいので、 user.is_active? (Boolean値)を渡す形で良い気がしました ー。 例1:可読性・意図の明確さ ©GLOBIS. ALL Rights Reserved. 13│
画面の実装結果: 指摘: 利用規約の横にある別タブアイコンの色が不自然な青になってしまっているので、そ の部分だけ修正していただけると助かります…! 例2:UI/UX関連 ©GLOBIS. ALL Rights Reserved. 14│
仕様: 「欠席が3回以上」 or 「課題未提出」 → テスト受験不可 if 欠席が3回以上 "受験できません(欠席が多いため)" elsif
課題未提出 "受験できません(課題未提出のため)" else "受験可能です" end 指摘: 欠席が3回以上かつ課題未提出の場合、どちらのメッセージが表示されますか?両方該 当するケースが考慮されていないのでは? 例3:仕様の考慮不足 ©GLOBIS. ALL Rights Reserved. 15│
仕様: ユーザーが購入したことのある商品のジャンルを検索したいケース select * from ユーザー join 購入履歴 on ...
join 商品ジャンルマスター on ... 指摘: 現状、一部経路からの購入では「購入履歴」テーブルに保存されないケースがありま す。 「申込履歴」テーブル経由で取得した方が良いかなって思いました。 例4:複雑な仕様・歴史的経緯に絡むこと ©GLOBIS. ALL Rights Reserved. 16│
可読性・意図の明確さ UI/UX関連 仕様の考慮不足 複雑な仕様・歴史的経緯に絡むこと ここまでの事例を見て、 「コンテキストさえあれば、AIも人間と同等のレビューができるのでは?」 と思いませんでしたか? 「足りないコンテキストを補うレビューをする」のまとめ 人間が補うべきコンテキストの一例 »
©GLOBIS. ALL Rights Reserved. 17│
3. AIを育てる ©GLOBIS. ALL Rights Reserved. 18│
方法 1. プロンプトで教える 2. コメントで教える 3. ナレッジで教える 4. 役割を分担する AIを育てるとは?
AIを育てる = 足りないコンテキストをAIに教えること » ©GLOBIS. ALL Rights Reserved. 19│
例)AIレビュワーへの指示に「チームの方針」を追加する AIレビュワー「Modelクラスに役割を持たせすぎている、単一責任の原則に基づ き役割ごとに独立した小さなクラスに分割するべき」 指示の追加 - ファットモデルは許容される - 多くの責任を持つ大きなモデルは問題ではありません - ロジックをサービス層に抽出するよりも、ファットモデルが推奨されます
- モデルが「大きすぎる」または「責任が多すぎる」とは指摘しないでください - 複雑なモデルは、サービスに分割するのではなく、concernsを使って整理すべきです 方法1:プロンプトで教える ©GLOBIS. ALL Rights Reserved. 20│
「人間が読んでわからないコード」は「AIが読んでもわからない」 コメントこそが、コードに最も近い最強のコンテキストになる。 例) # 〇〇経路の購入は記録されません。すべての購入履歴を取得したい場合は「申込履歴」を参照してください。 class 購入履歴 ... end #
pending が組織から削除された状態を意味する next unless admin_affiliation.state == 'pending' ※ 本来はリファクタリングすべきですが、現実は即対応できないことも多いですよね…! 方法2:コメントで教える ©GLOBIS. ALL Rights Reserved. 21│
例) Flaky Testに関するナレッジ 過去に起きたFlakyのパターンを集約し、テストコードのレビュー時に参照さ せる リポジトリ外に関するナレッジ 「ここを直したら〇〇チームへの連携」 「このテーブル変更は、△△リポジトリにも影響する」 方法3:ナレッジで教える 「過去の失敗」や「やるべきこと」をナレッジとして教える。
» ©GLOBIS. ALL Rights Reserved. 22│
コンテキストを与えすぎるとトークン不足や混乱が起きるため、役割ごとにエージェ ントを分割する必要がある 汎用レビュワー 一般的なバグの検知 チーム推奨ルールの適用 Flaky Testレビュワー Flaky Testの予兆を防ぐ Migrationレビュワー
DBロックやダウンタイムのリスク検知 他チームへの連携要請 方法4:役割を分担する AIにも「単一責任の原則」を適用する » ©GLOBIS. ALL Rights Reserved. 23│
AIを育てるためには、とにかくコンテキストを伝える必要がある 簡単そう?大変そう?どのように感じていますか? 私たちは Try & Errorを繰り返しながら、徐々にAIがレビューできる領域を広げています AIのために言語化するプロセスは、結果として『暗黙知』を整理しチームの資産 を作っています 今後も、改善と進化をさせていきます! 「AIを育てる」のまとめ
©GLOBIS. ALL Rights Reserved. 24│
1. AIレビュワーに振り回されない 2. 足りないコンテキストを補うレビューをする 3. AIを育てる おさらい:AIコードレビューを活用するためにやるべきこと ©GLOBIS. ALL Rights
Reserved. 25│
アドベントカレンダー AIを育てる方法が弊社アドベントカレンダーで続々と紹介されているのでぜひご覧く ださい! https://qiita.com/advent-calendar/2025/globis GLOBIS Advent Calendar 2025 » ©GLOBIS.
ALL Rights Reserved. 26│
ご清聴ありがとうございました! ©GLOBIS. ALL Rights Reserved. 27│