Slide 1

Slide 1 text

2026年1月21日 Asterminds株式会社 r.kagaya CodeRabbit User Group Tokyo #0 〜立ち上げキックオフ〜 そのAIレビュー、レビューしてますか? 〜AI as a Judgeから考えるAIコードレビューの育成〜

Slide 2

Slide 2 text

2022年に株式会社ログラスに入社 経営管理SaaSの開発、開発生産性向上に取り組んだのち、 生成AI/LLMチームを立ち上げ、新規AIプロダクトの立ち 上げに従事、その後、25年8月に独立・現職 翻訳を担当したAIエンジニアリングが オライリージャパンより出版 Asterminds(アスターマインズ)株式会社 共同創業者・CTO r.kagaya(@ry0_kaga) 自己紹介

Slide 3

Slide 3 text

そのAIコードレビュー、レビューしてますか?

Slide 4

Slide 4 text

フィードバックして、育てられていますか?

Slide 5

Slide 5 text

AIコードレビューは 「人間の代わりに、コードを“判断”させている」

Slide 6

Slide 6 text

AIコードレビューは 「人間の代わりに、コードを“判断”させている」 LLM as a Judgeの知見が使えるのでは?

Slide 7

Slide 7 text

LLM as a Judgeの事例・プラクティス から考えるAIコードレビューの育て方 今日の内容

Slide 8

Slide 8 text

CodeRabbitの機能解説は少なめです...🙇

Slide 9

Slide 9 text

簡単にLLM as a Judge とは 


Slide 10

Slide 10 text

全ての土台となる評価 信頼できる評価軸があるからこその体系的な改善 「この修正で本当にシステムは良くなったか?」に自信を持って答えるためには? Vibe Check(雰囲気での確認)には限界がある なぜ難しいのか? オープンエンドな出力は正解が一つに収斂しないため AIエンジニアリングの世界においては、オープンエンドな出力の利用が 増える。 なぜ重要なのか? 評価パイプライン・基準がなければ、開発は単なる「手探りの試行錯誤」 に陥る可能性

Slide 11

Slide 11 text

評価の主体(誰が、または何が評価を行うか)の分類 最近は、「AIに評価させる」ことがアプローチの一つとして浸透してきている では、どうやって評価するのか? AIコードレビュー、ほぼこれ?

Slide 12

Slide 12 text

LLM as a Judgeとは AIモデル(生成応答)を評価するために、別のAIモデル(評価者)を利用する by オライリーAIエンジニアリング 速度とコスト効率 参照データ不要 高い相関性 人間の評価者(アノ テーター)と比較し て、はるかに高速か つ安価に評価を行う ことができる 正解データ(参照応 答)が存在しない本番 環境のデータに対し ても、プロンプトに基 づいて品質や安全性 を評価できる 人間の評価者と強い 相関(85%の一致率 など)を示すことが研 究で報告されており、 信頼性がある程度確 認されている 柔軟性 プロンプトを変更す るだけで、ハルシネー ションの検出、トーン の確認、役割(ロール プレイ)の維持など、 あらゆる基準に基づ いた評価が可能

Slide 13

Slide 13 text

LLM as a Judgeの特性・課題 評価基準は標準化されておらず、使用するツールやプロンプトによっ て定義やスコアリングが異なり、比較が困難 非一貫性 (Inconsistency) 確率的に動作するため、同じ入力に対しても実行するたびに異なるス コアを出力する可能性があり、評価の再現性が損なわれることがある 独自のバイアス コードレビューと文章の校正等の異なる点は、実行して検証できること (機能正確性) AIコードレビューを育てる上でも強力なフィードバック 基準の曖昧さ AI as a Judgeには特有の性質に起因する課題や特徴が存在

Slide 14

Slide 14 text

LLM as a Judgeの課題: バイアス これらのバイアスは、コードレビューでも起きうる問題か? 自己バイアス 位置バイアス 冗長性バイアス 自分が生成したものを高く 評価する モデルは、自分自身(または 同じシリーズのモデル)が生 成した応答を高く評価する傾 向 選択肢の順序を変えるだけ で評価が変わる 2つの応答を比較する際、内 容に関わらず「最初に提示さ れた応答」を好む傾向 長い回答を「良い」と判断し がち 内容の質に関わらず、より長 い回答を好む傾向

Slide 15

Slide 15 text

LLM as a Judgeの事例・プラクティス 
 から考えるAIコードレビューの育て方 


Slide 16

Slide 16 text

LLM as a Judgeから考えるAIコードレビューの「育て方」 LLMは自分の生成物を高評価しがち Anthropic公式ベストプラクティス 「1つのClaudeがコードを書き、 別のClaudeがレビューする」 フィードバックルー プの構築 「なぜそれがバグなのか」「どう修正すべきか」を説明させることで、人 間のレビュアーがAIの判断を検証(メタ評価)しやすくなる 評価基準(ルーブリック) の明確化 「AI as a Judge」を成功させる鍵は、人間が曖昧な指示を出すので はなく、明確な採点基準(ルーブリック)を与える コードレビューにおいても、「良いコードとは何か」を定義する必要 マルチレビュー集約 SWR-Benchでは、複数回レビューして集約するとF1が43%向上 別の研究では、複数モデルの多数決でバイアスが30-40%削減 1回で完璧を求めるより、複数の視点を組み合わせた方がいい 生成と評価の分離

Slide 17

Slide 17 text

評価基準の明文化 「何を見ればいいか」、「何を評価するか」を具体的に明示 ● 基準の曖昧さはAI as a Judgeの精度低下の主因の一つ ● 質問固有の基準 > 汎用基準 5段階は判定が難しいので、 2値 or 3段階の方が楽という話も別途

Slide 18

Slide 18 text

CodeRabbitなら? path_instructionsで評価基準を指示 ディレクトリごとに「何を見てほしいか」「どう判断すべきか」を記述 https://docs.coderabbit.ai/reference/configuration#param-path-instructions

Slide 19

Slide 19 text

LLM as a Judgeから考えるAIコードレビューの「育て方」 LLMは自分の生成物を高評価しがち Anthropic公式ベストプラクティス 「1つのClaudeがコードを書き、 別のClaudeがレビューする」 フィードバックルー プの構築 「なぜそれがバグなのか」「どう修正すべきか」を説明させることで、人 間のレビュアーがAIの判断を検証(メタ評価)しやすくなる 評価基準(ルーブリック) の明確化 「AI as a Judge」を成功させる鍵は、人間が曖昧な指示を出すので はなく、明確な採点基準(ルーブリック)を与える コードレビューにおいても、「良いコードとは何か」を定義する必要 マルチレビュー集約 SWR-Benchでは、複数回レビューして集約するとF1が43%向上 別の研究では、複数モデルの多数決でバイアスが30-40%削減 1回で完璧を求めるより、複数の視点を組み合わせた方がいい 生成と評価の分離 Anthropicの公式プラグインPR Review Toolkitも カバレッジ・設計等の役割別の複数エージェント

Slide 20

Slide 20 text

コードレビューはマルチエージェント向きのタスクか? シングル or マルチエージェントの整理の一つが、読み込み/書き込みのどちらの 側面が強いか? コンテキストの一貫性の要求が比較的低い、読み込み中心の並列探索がマルチ エージェントに向いてると考察

Slide 21

Slide 21 text

説明可能性:スコアだけでなく、理由を語る AIコードレビューを育てるための判断基準として理由を語らせる ● 「このレビューコメントは本当に正しいですか?」と自問自答させ、間違いが あれば修正させる ● レビュー結果に対して「なぜその指摘をしたのか」を振り返らせ、論理的な不 整合がないかを確認する (CodeRabbitで上手く実現する方法があれば教えて貰えたら嬉しい...!)

Slide 22

Slide 22 text

既存の枠組みや前提そのものを疑い、「なぜこの前提が正しいのか」「目的はこれ でよいのか」を根本から問い直す学習プロセス

Slide 23

Slide 23 text

既存の枠組みや前提そのものを疑い、「なぜこの前提が正しいのか」「目的はこれ でよいのか」を根本から問い直す学習プロセス 「この指摘基準は、今のコード・チーム・目的に本当に 合っているのか?」を問う

Slide 24

Slide 24 text

さらに育てる: Learnings機能 チーム固有の基準そのものが更新されていくLearnings > CodeRabbitはあなたとの対話から得られた知見を活用・蓄積し、時間の経 過とともに学習を強化します。 https://docs.coderabbit.ai/guides/learnings

Slide 25

Slide 25 text

理由を説明させたり、良い・悪いレビューを問いながら レビュー基準そのものをダブルループ学習で育てていく そのための機能もCodeRabbitにある

Slide 26

Slide 26 text

From Code to Courtroom: LLMs as the New Software Judges ソフトウェア工学におけるLLM-as-a-Judgeの包括的調査 コード品質、セキュリティ、ドキュメント等の評価にLLMを活用する研究を体系化 https://arxiv.org/abs/2503.02246

Slide 27

Slide 27 text

まとめ


Slide 28

Slide 28 text

まとめ ● AIコードレビューは評価基準とフィードバックで育てるもの ● LLM as a Judgeの事例やプラクティスは、AIコードレビューのレビューや 育成を考える上で、参考になる点はある ○ 今回取り上げられなかった内容やTips、学びを得られそうな事例/研究 は沢山ある ● コーディングエージェントの圧倒的な手数による可能性を感じる時代、コー ディング以外のプロセスのスクラップ&ビルドは求められる ○ コードレビューはその代表例に感じる

Slide 29

Slide 29 text

そのAIコードレビュー、レビューしてますか? フィードバックして、育てられていますか?

Slide 30

Slide 30 text

終わり