Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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