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
ML@Loft リポジトリをまるごとAIでレビューする
Search
Kawataki Yoshikazu
October 30, 2024
Technology
0
95
ML@Loft リポジトリをまるごとAIでレビューする
ML@Loft - コンテンツレビューにおけるLLM活用のリアル で発表したスライド資料
Kawataki Yoshikazu
October 30, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
型情報を用いたLintでコード品質を向上させる
sansantech
PRO
2
150
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
3
1.5k
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
190
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
120
5分でわかるDuckDB
chanyou0311
10
3.3k
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
200
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
390
TypeScript開発にモジュラーモノリスを持ち込む
sansantech
PRO
2
690
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
300
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
160
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
140
[JAWS-UG新潟#20] re:Invent2024 -CloudOperationsアップデートについて-
shintaro_fukatsu
0
120
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Thoughts on Productivity
jonyablonski
68
4.4k
Optimising Largest Contentful Paint
csswizardry
33
3k
Code Review Best Practice
trishagee
65
17k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How STYLIGHT went responsive
nonsquared
96
5.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.4k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Practical Orchestrator
shlominoach
186
10k
The World Runs on Bad Software
bkeepers
PRO
66
11k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
910
Transcript
© EXNOA LLC 1 リポジトリをまるごと AIでレビューする Long Contextモデルを利用したレビューシステムの紹介
© EXNOA LLC • 合同会社EXNOA • 技術統括本部 技術推進部 サーバーグループ •
川瀧 嘉和 自己紹介 2
© EXNOA LLC 背景と課題 • 自社でパブリッシュするゲームタイトルの技術面のレビューを横断的に 行っているが、様々な言語、アーキテクチャやプラットフォームのものが あり、レビュワーの技術スタックでカバーしきれないことある。 • 比較的短期間にアプリケーションやインフラストラクチャーなど、資料物
量が多く、幅広い範囲をレビューする必要があり、全てを網羅的にレ ビューしきれない場合がある。 3
© EXNOA LLC レビューシステム概要 本システムは、LongContextモデルを活用 し、リポジトリ全体を単一のコンテキスト として捉え、複数の評価基準に基づいて包 括的に分析します。 これにより、プロジェクト全体の文脈を考 慮した、改善提案を自動生成するレビュー
ツールです。 4
© EXNOA LLC アーキテクチャ概要 5 Amazon Web Services、“Powered by AWS”ロゴ、[およびかかる資料で使用されるその他のAWS商標]
は、 米国その他の諸国における、 Amazon.com, Inc.またはその関連会社の商標です。 • シンプルなECSによる構成 • WebインタフェースはGradioを採用 • 処理部分はフルスクラッチで開発
© EXNOA LLC レビュープロセス概要 レビュープロセスの中で Claude 3.5 Sonnet と Gemini
1.5 Proを使用 ・レビュー対象ファイルリストの作成 ・レビューの実施 ・レビュー結果の評価 6 レビュー対象ファイルリスト作成 Gemini レビュー用プロンプトを構築 レビューを実行 Claude Gemini OR 提案を評価 有効? Claude Gemini OR はい いいえ 提案に追加 提案を破棄 結果を出力 視点ごとのレビュー 提案の評価とフィルタリング
© EXNOA LLC 試しにvllmをレビューしてみました 7 https://github.com/vllm-project/vllm.git
© EXNOA LLC 8
© EXNOA LLC 9
© EXNOA LLC 10
© EXNOA LLC 11
© EXNOA LLC 提案の一例 12
© EXNOA LLC 技術的なポイント • AIによる回答に一貫性をもたせキャッシュできるよう常にTemperature=0 • コンテキスト長が長くなったと言っても、一度に全体を取り込めないリポジトリは多い • レビューするファイルそのものもAIに選定させて無駄なファイルを除外
• 出力コンテキストが長くなるとJSONで出力が不安定になる • マークダウンで出力し、正規表現で解析 • 地道なプロンプトのチューニング • いろいろなリポジトリをレビューにかけ繰り返し調整 13
© EXNOA LLC メリットと効果 • 操作が簡単で誰でもAIレビューの提案出力が可能になった。 • 関連した複数のファイルを横断する指摘や提案もしてくれる。 • レビュワー担当者の技術スタックによらず一定精度のレビューが可能になっ
た。 • 提案の再確認は必要だが、確実にレビュー品質は向上した。 • 精度の高いモデルを入れ替えるだけで、レビュー精度の向上が期待できる。 14
© EXNOA LLC 課題 • 担当者の技術スタックによらずレビューはできるものの、提案内容の妥当 性を人間が評価できる必要がある。 • レビュー対象ファイルリストの選定の精度がファイルパスに依存してしま う。
• CodacyやSonarQubeなどの競合になると思われるサービスとの比較がで きていない。 15
© EXNOA LLC まとめ • LongContextモデルを利用することで、プロジェクト全体を包括的に レビューすることが可能になった。 • Claudeをはじめ世の中には様々なモデルが公開されてきているので、 その時の最善のものを利用することで、より高精度なレビューを実現
できるようになる。 • AIによるレビューはできても最終的に人の確認は必要。 16