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
emi084
December 04, 2025
Technology
110
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
チームの開発生産性を高める!AI時代のコードレビュー
emi084
December 04, 2025
Other Decks in Technology
See All in Technology
Digitization部 紹介資料
sansan33
PRO
2
7.7k
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
730
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
3
490
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
280
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
190
事業価値と Engineering 2026年度版
recruitengineers
PRO
37
19k
ラジオの科学
frievea
0
230
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.1k
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
130
Featured
See All Featured
Designing for Timeless Needs
cassininazir
1
430
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
430
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
400
Skip the Path - Find Your Career Trail
mkilby
1
180
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
460
The World Runs on Bad Software
bkeepers
PRO
72
12k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
160
Writing Fast Ruby
sferik
630
63k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
570
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
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│