---
title: GitHub Actions × RAGでコードレビューの検証の結果
tags: 
author: [中村祥](https://www.docswell.com/user/6281552)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/LE131ZWKJG.jpg?width=480
description: GitHub Actions × RAGでコードレビューの検証の結果 by 中村祥
published: February 06, 25
canonical: https://www.docswell.com/s/6281552/ZJ46WG-2025-02-06-094423
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/LE131ZWKJG.jpg)

GitHub Actions × RAGでコードレビューの検証の結果
2025.01.31
〜Classmethod AI Talks(CATs) 新年生成AI LT大会2025〜
Solvio株式会社エンジニア 中村祥


# Page. 2

![Page Image](https://bcdn.docswell.com/page/GEWP896PJ2.jpg)

⾃⼰紹介
中村祥
所属：Solvio株式会社
普段の業務：⽣成AIやRAGを利⽤したシステム構築
最近のアップデート：初めてITイベントにでます！！
ブログ：Zenn（sho__）
© solvio, inc.
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/47ZK89Y673.jpg)

コードのレビューをもらう‧する際に不便を感じたことはないですか？？
© solvio, inc.
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/YJ6QPKDLJV.jpg)

背景や現状の課題
コードレビューの現状
- レビューに⼯数がかかってしまう。
- コード規約を徹底するのが難しい
- レビュアーごとに指摘基準がバラバラ
- ジュニアエンジニアが規約を覚えるのに時間がかかる
解決したい問題
- レビュアーの⼯数軽減
- レビュー内容の属⼈性の減少
- 規約の⼀貫した適⽤
- 本質的なロジックレビューに集中できるように
© solvio, inc.
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/GJ5RKP3M74.jpg)

課題解決のために今回作成したシステムの全体フロー
© solvio, inc.
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/LE3PZ369J5.jpg)

RAGとは？？
⾃社に蓄積された業務⽂書‧規定などの社内情報、外部の最新情報を活
⽤する⼿段として、データを検索して情報を抽出し、それに基づいて⼤
規模⾔語モデル（LLM）に回答させる⽅法のことです。
普通LLMが回答できないことを回答できるようにするための⼿法
© solvio, inc.
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/8EDLR4V8JG.jpg)

Reusable Workﬂowの構成（呼び出し元）
このWorkﬂowにて⾏っていること
1.リポジトリを checkout
2.Git差分と周辺コードを取得 (git diff origin/main…HEAD)
3.Secrets(OPENAI_API_KEY, GITHUB_TOKEN) をPythonに渡す
4.Pythonスクリプトで処理開始
• レビュー対象RepoからこのWorkﬂowを呼び出しレビューの実⾏
• 事前にSecretsにAPIキー設定必須
• GitHub Token も使ってPRにコメント投稿
Workﬂow⼀部抜粋
© solvio, inc.
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/V7P2WMVW78.jpg)

メインスクリプト
メインスクリプトにて⾏っていること
1.取得したdiﬀとその周辺コードをもとに関連
コード規約を取得
2. コード規約とdiﬀを⼊⼒としてLLMにてレ
ビュー作成
3. 総合判断としてカテゴライズ
Approve / Requested Changes
/Comment
4.GitHubへレビュー投稿
© solvio, inc.
メインスクリプト⼀部抜粋
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/2JVD89Z9JQ.jpg)

プロンプトサンプル
⼊⼒データとして
- コード規約
- コード差分とその周辺
を受け取り、その情報からコードをレビュー
をするようなプロンプト
プロンプト⼀部抜粋
© solvio, inc.
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/5EGY5Z44EL.jpg)

サンプルコード規約
今回使⽤するコード規約に関しては、GPTに
出⼒してもらい、RAGの参照データとして⼊
⼒しておきます
プロンプト⼀部抜粋
© solvio, inc.
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/4JQMZLGR7P.jpg)

実際のレビュー
© solvio, inc.
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/K74V3D5QJ1.jpg)

実際のレビュー
レビュー対象
- 5つのファイルでのコード変更
- ⾔語に関してはPythonを利⽤している
レビューの内容
- Approve/Requested changes/Commentの分類
- どのコード規約を参照して回答しているか
- 何故修正が必要なのか
- 修正案の提⽰
© solvio, inc.
実際のレビュー(⼀部抜粋)
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/LJ131ZWL7G.jpg)

実際のレビュー
【コメントの記載忘れ】
関数の説明をせずに怒られてしまいました、、
【機密情報のハードコーディング】
FrontendのURLハードコーディングしてしまって
Requested Changesに、、
© solvio, inc.
実際のレビュー(⼀部抜粋)
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/GJWP896Q72.jpg)

現状の評価（Good Points）
【コスト】
1PRに対して5円程度（5ファイルでの変更、IN:4000 / OUT:1000 / TOTAL:5000）
⇩
エンジニアが⾏う際の⼈件費に⽐べるとコスパ◎
【時間】
1分前後
⇩
⼈間が⾏う際に20分だとしても⼤幅減少（参考）
レビューが早いのでエンジニアは早期対応→効率化
【規約の網羅性】
体感ですとかなり網羅している
⇩
⼈間が⾏うと⾒落としが存在する点の改善
© solvio, inc.
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/4EZK89Y3E3.jpg)

現状の評価（Negative Poins）
【変更点が多い時の挙動】
コードが多くなった時に全体を通したコードができていないことがある
⇩
Diﬀごとにレビューするような仕組みへの変更
【⾔語に対する精度】
Python以外の⾔語に対する精度が変わる可能性がある
⇩
⾔語ごとに使⽤するモデルの変更
【不明なレビュー】
レビューの際に関係ないコード規約を参照している
⇩
抽出したコード規約を評価するシステムの導⼊
© solvio, inc.
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/Y76QPKDZ7V.jpg)

今後の展望
- ⾃動修正PR：
- AIが出した修正案にて⾃動PR提出
- 教育⽤システムとしての⽅向
- 新卒‧未経験エンジニア向けの「AIコードメンター」システム化
- セキュリティ対策
- OSSのLLMを使⽤することでのセキュリティ強化
© solvio, inc.
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/G75RKP39E4.jpg)



