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
80
1
Share
チームの開発生産性を高める!AI時代のコードレビュー
emi084
December 04, 2025
Other Decks in Technology
See All in Technology
非エンジニア職からZOZOへ 〜登壇がキャリアに与えた影響〜
penpeen
0
180
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
170
Introduction to Bill One Development Engineer
sansan33
PRO
0
400
本番環境でPHPコードに触れずに「使われていないコード」を調べるにはどうしたらよいか?
egmc
1
280
インフラを Excel 管理していた組織が 3 ヶ月で IaC 化されるまで
geekplus_tech
3
180
システムは「動く」だけでは足りない 実装編 - 非機能要件・分散システム・トレードオフをコードで見る
nwiizo
2
320
プロダクトを触って語って理解する、チーム横断バグバッシュのすすめ / 20260411 Naoki Takahashi
shift_evolve
PRO
1
270
AI前提とはどういうことか
daisuketakeda
0
180
組織的なAI活用を阻む 最大のハードルは コンテキストデザインだった
ixbox
6
1.7k
BIツール「Omni」の紹介 @Snowflake中部UG
sagara
0
270
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」ご紹介資料
laysakura
0
1.6k
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
5
14k
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
740
Fireside Chat
paigeccino
42
3.9k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
260
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
RailsConf 2023
tenderlove
30
1.4k
AI: The stuff that nobody shows you
jnunemaker
PRO
5
530
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
How STYLIGHT went responsive
nonsquared
100
6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
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│