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
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
260
AWS Network Firewall Proxyを触ってみた
nagisa53
1
250
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
130
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
3
210
1,000 にも届く AWS Organizations 組織のポリシー運用をちゃんとしたい、という話
kazzpapa3
0
190
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
AI駆動開発を事業のコアに置く
tasukuonizawa
1
400
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.6k
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
480
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
680
コンテナセキュリティの最新事情 ~ 2026年版 ~
kyohmizu
7
2.4k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
350
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
68
Typedesign – Prime Four
hannesfritz
42
3k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
87
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
350
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
180
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Designing for Performance
lara
610
70k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
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│