Slide 1

Slide 1 text

エンジニアの仕事を機械の番人から仕組み設計者へ コードレビューの課題をAIで解決したGLOBIS事例 株式会社グロービス 大沼 和也 1

Slide 2

Slide 2 text

GLOBISにおけるAI活用のためのプロジェクト AIアクセラレートプロジェクト 個人のAI活用を促進 BPE(Business Process Enabling)プロジェクト 業務プロセスにTech/AIを組み込む DevExチームによる開発プロセスへのAI組み込み 開発プロセスにAIを組み込む 2

Slide 3

Slide 3 text

GLOBISでつかっているツー ルの現在地 エディタ系 Cursor, GitHub Copilot, Windsurf, RooCode, Cline エージェント系 Devin(Search,wiki含む), Claude Code Action(2事業で トライアル中、今週から全 体に広げていく予定) 3

Slide 4

Slide 4 text

AIが生成したコードのレビューに疲れてませんか? 4

Slide 5

Slide 5 text

現在のコードレビュー = 「機械の番人」 トヨタ生産方式での「機械の番人」 機械が正しいコードを書いているか監視 異常があれば対応 本質的な改善活動ではなく、監視業務 現在のコードレビュー AIが正しいコードを書いているか細かく確認 バグの検出 動作確認 人間が「番人」として機械的な作業に時間を費やしている 5

Slide 6

Slide 6 text

目指すべき姿: 「番人」から「設計者」へ 機械的な作業→ AIに任せる 構文チェック 型エラー検出 パフォーマンス問題の検出 人間が集中すべきこと 設計思想のレビュー アーキテクチャの妥当性 ビジネス要件との整合性 長期的な保守性の評価 6

Slide 7

Slide 7 text

なぜ今、この転換が必要なのか 1. AIの進化 コード理解能力の向上 複数の特化型AIの並列実行が可能に 2. 開発速度の要求 より速いデリバリーが求められる 品質を保ちながらスピードを上げる必要 3. エンジニアの価値最大化 機械的作業から解放 創造的・戦略的な仕事に集中 7

Slide 8

Slide 8 text

本日お話しすること AIを活用したコードレビューの実装 継続的にメンテナンス可能なワークフロー 並列実行による効率化 特化型AIエージェントの設計 8

Slide 9

Slide 9 text

導入:従来システムの課題 RooCodeやClineでの成果と限界 レビュー精度は非常に高い workflowに組み込むまでの素振りは非常にやりやすい modeが増えるほど実行時間が延びる チャット形式(VSCodeプラグインありき)でしか実行できない 9

Slide 10

Slide 10 text

自動テストの構築 Mastraを用いて複数のモデルやツールを組み合わせ、並列実行できる自動テストの仕 組みを構築した 10

Slide 11

Slide 11 text

自動テストの構築 11

Slide 12

Slide 12 text

テストケースの作成(抜粋) questions: - name: "Service層ロジックのModel層移行提案" enabled: true prompt: | 以下のService層のコードをレビューしてください。Rails的な設計観点から改善点があれば指摘してください。 ```ruby # app/services/user_subscription_service.rb class UserSubscriptionService ... # 省略: ユーザーサブスクリプション関連のロジック end ``` expected: | このService層のコードには、Railsの設計原則に反する問題があります: **主な問題点:** 1. **ビジネスロジックがModelから分離されている**: ユーザーの月額料金計算やアクセス権限判定は、Userモデル自身が持つべき責務です 2. **Fat Service**: Service層が肥大化し、本来Modelが持つべきロジックを抱え込んでいます 3. **テストの複雑化**: Service層とModel層の両方をテストする必要があり、テストが複雑になります **改善案:** ```ruby # app/models/user.rb class User < ApplicationRecord ... # 省略: ユーザーサブスクリプション関連のロジック end ``` ... 12

Slide 13

Slide 13 text

モデル変更時の挙動を自動テストで品質保証する テストケース GPT- 4.1 Claude Sonnet-4 Gemini 2.5 Flash Gemini 2.0 Flash valid?/save併用チェッ ク 条件分岐検出(偽陰性検 証) 条件分岐検出(偽陽性検 証) DHHルーティング Service→Model提案 13

Slide 14

Slide 14 text

コードレビューにおいて 誤検知(偽陽性): 人間がすぐ判断できるので許容できるからある程度許容したい 検知漏れ(偽陰性): 人間がすぐ判断できないので少ないほうがいい 14

Slide 15

Slide 15 text

コードレビューの評価抜粋1 15

Slide 16

Slide 16 text

コードレビューの評価抜粋2 16

Slide 17

Slide 17 text

Claude Code Action によるアプローチ 従来システムとの比較 RooCode/ClineやDevin → Claude Code Action導入 新たに可能になったこと チャットベース直列実行ではなく、CLIで並列実行できる 自動テストしやすい 複数モデル・複数特化エージェントへの並列配信 スクリプトファーストでworkflowを組める Devinと比べてコストが1/5以下 17

Slide 18

Slide 18 text

スクリプトファーストの設計思想 Devinの課題事例 レビュー後に、PRにレビューコメント投稿の失敗 謎に動きが止まり、完了にも失敗にもならないことがあった 解決策 スクリプト側での制御により、高速に全step確実に実行できる 18

Slide 19

Slide 19 text

スクリプトファーストの設計思想 RooCodeだとAIファーストの設計になってしまう 入力されたPRのURLをもとにbranchをcheckout(RooCode) ↓ 入力されたPRのURLからdiffを取得(RooCode) ↓ diffをもとに複数のAIレビュアーがレビュー実行(RooCode) ↓ レビューを取りまとめる(RooCode) ↓ レビュー結果をPRにコメント(RooCode) 19

Slide 20

Slide 20 text

スクリプトファーストの設計思想 Claude Code Actionを使うと、CLIでのデータ受け渡しが容易 入力されたPRのURLをもとにbranchをcheckout(スクリプト) ↓ diffをもとに複数のAIレビュアーがレビュー実行(ClaudeCode) ↓ レビューを取りまとめる(スクリプト) ↓ 取りまとめたレビューを要約(ClaudeCode) ↓ レビュー結果をPRにコメント(スクリプト) 20

Slide 21

Slide 21 text

スクリプトファーストの設計思想 Claude Codeは手元での検証からGHAなどのworkflow化があまりにもかんたん (-pつけてワンショットにするだけ) ps auxを使って、リソース使用量が多いプロセスの問題点を見つけ出す例 % ps aux | claude code "リソース使用量が多いプロセスの問題点を教える" レビューして、そのレビュー結果が正しいかを確認する例 (.claude/settings.jsonを使わずに、--allowedToolsでコピペで動くようにしています) % claude -p "https://github.com/owner/repo/pull/NUMBER をレビューして、レビュー内容をreview.mdに保存して" \ --allowedTools "Write" "Bash(gh pr diff:*)" "Bash(gh pr view:*)"\ | claude -p "review.mdのレビュー結果みて、指摘事項が正しいかを確認してreview-checked.mdに保存して"\ --allowedTools "Write" 21

Slide 22

Slide 22 text

特化型エージェントの実装 (導入中) 特化型AIエージェントを複数用 意し、並列実行することで高速 化を実現 各エージェントは特定の観点に 特化し、効率的なレビューを実 施 初手はそれぞれの観点でレビュ ーし、取りまとめないのもアリ (実装が簡単) 目的を明確にすることで、より 高精度なレビューを目指す 22

Slide 23

Slide 23 text

個人情報特化でレビューを検証 した例 GHAにて標準で複数並列で 動かせるので実行が早い workflowを分けて direct_prompt に役割や目的を 書くことで、容易に特化型AIエ ージェントを作成可能 23

Slide 24

Slide 24 text

明日からできるアクションプラン Claude Code ActionをAPIキー課金で導入すれば、非常に小さく試すことができる Claude Code Actionの direct_prompt を使い、特定の観点に特化したAIエージェント を気軽に作成できる 24

Slide 25

Slide 25 text

まとめ 達成された成果 1. Claude Code Actionを使った、スケーラブルな特化型AIシステム 2. 並列処理による高速化 3. 自動テストによる品質保証 今後の展望 人間の観点や目的をAIに移植し、機械の番人ではなく仕組みづくりをするエンジニア を増やす 25