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
SQLクエリの組み立てを 自動化するSlack Bot
Search
Hiroyuki Kuromiya
October 29, 2024
Technology
290
2
Share
SQLクエリの組み立てを 自動化するSlack Bot
#さくらのAI Meetup vol.5「データベース」の発表資料です
https://sakura-tokyo.connpass.com/event/332319/
Hiroyuki Kuromiya
October 29, 2024
More Decks by Hiroyuki Kuromiya
See All by Hiroyuki Kuromiya
誤算からはじまった小さなOSS貢献
khiroyuki1993
0
190
博士卒エンジニア キャリアの選択と 就活について
khiroyuki1993
0
420
notion-to-slides: convert notion page to presentation slides
khiroyuki1993
0
2.4k
ラーメン界の Basic Object を食べに行った話
khiroyuki1993
0
72
R で Github Repository をきれいにする
khiroyuki1993
0
650
Paper Introduction: The Recon Approach: A New Direction for Machine Learning in Criminal Law.
khiroyuki1993
0
180
Other Decks in Technology
See All in Technology
ネットワーク運用を楽にするAWS DevOps Agent活用法!! / 20260421 Masaki Okuda
shift_evolve
PRO
2
220
ServiceNow Knowledge 26 の歩き方
manarobot
0
150
Cortex Codeのコスト見積ヒントご紹介
yokatsuki
0
110
独断と偏見で試してみる、 シングル or マルチエージェント どっちがいいの?
shichijoyuhi
1
130
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
170
AIコーディング時代における、ソフトウェアサプライチェーン攻撃に対する防衛術(簡易版)
soysoysoyb
0
120
ニックトレイン2026[名古屋]
furutaatsuya
0
110
AIはハッカーを減らすのか、増やすのか?──現役ホワイトハッカーから見るAI時代のリアル【MEGU-Meet】
cscengineer
PRO
0
200
AgentCore Managed Harness を使ってみよう
yakumo
2
230
Choose your own adventure in agentic design patterns
glaforge
0
150
[最強DB講義]推薦システム | 評価編
recsyslab
PRO
0
110
Standards et agents IA : un tour d’horizon de MCP, A2A, ADK et plus encore
glaforge
0
190
Featured
See All Featured
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
340
A Modern Web Designer's Workflow
chriscoyier
698
190k
Building Adaptive Systems
keathley
44
3k
Docker and Python
trallard
47
3.8k
We Have a Design System, Now What?
morganepeng
55
8.1k
Bash Introduction
62gerente
615
210k
Utilizing Notion as your number one productivity tool
mfonobong
4
290
Embracing the Ebb and Flow
colly
88
5k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.8k
A designer walks into a library…
pauljervisheath
211
24k
Agile that works and the tools we love
rasmusluckow
331
21k
Transcript
1 SQLクエリの組み⽴てを ⾃動化するSlack Bot GMOペパボ株式会社 黒宮 寛之 #さくらのAI Meetup vol.5「データベース」
SQLクエリの組み⽴てを⾃動化するSlack Bot SUZURI事業部マーケットプレイスチーム - モバイルアプリのバックエンド開発 - 各種イベント周りの計測 - CI/CD周りの改善, etc
.. 京都⼤学院博⼠課程修了 → GMOペパボ新卒エンジニア(2023.4~) 2 黒宮 寛之(くろみー)
SQLクエリの組み⽴てを⾃動化するSlack Bot 今⽇の話 3
SQLクエリの組み⽴てを⾃動化するSlack Bot 4 何を作ったか
SQLクエリの組み⽴てを⾃動化するSlack Bot きっかけ 5
SQLクエリの組み⽴てを⾃動化するSlack Bot • Go製のDBドキュメントツール • DBMSのスキーマ情報から human-readable なDBドキュ メントを⽣成してくれる 6
tbls
SQLクエリの組み⽴てを⾃動化するSlack Bot ⽣成されるドキュメントの例 7 https://github.com/k1LoW/tbls/blob/main/sample/mariadb/comment_stars.md
SQLクエリの組み⽴てを⾃動化するSlack Bot • Go製のtblsのサブコマンド(tblsとは別レポジトリ で管理されている) • tblsによって⽣成されたDBドキュメントを参照して LLMへの問い合わせを⾏う 8 tbls-ask
SQLクエリの組み⽴てを⾃動化するSlack Bot tbls-askの課題 9 • CLIツールのため使える⼈がエンジニアに限られている • 認証情報の設定がちょっと⾯倒 (社内で共有できない)
SQLクエリの組み⽴てを⾃動化するSlack Bot Slack Botの構想 10 ※幾星霜(いくせいそう)とは、非常に長い時間が経過した ことを表す表現
SQLクエリの組み⽴てを⾃動化するSlack Bot 1. エンジニア以外のメンバーも気 軽に使える 2. 初期設定をまとめて共有の環境 にデプロイできる Slack Bot
化するメリット 11
SQLクエリの組み⽴てを⾃動化するSlack Bot 作ったもの 12
SQLクエリの組み⽴てを⾃動化するSlack Bot 作ったもの 13 この中で tbls-ask を実行する バックエンドのサーバーが動 いています
SQLクエリの組み⽴てを⾃動化するSlack Bot 問い合わせ対象のスキーマを選択できるようにした ⼯夫したポイント① 14 ✅ 事業部ごとに異なるスキーマを対象にしたいニーズに 対応
SQLクエリの組み⽴てを⾃動化するSlack Bot GitHub (Enterprise) の認可を実装し、常に最新のスキーマ を反映できるようにした ⼯夫したポイント② 15 ✅ スキーマの変更にリアルタイムに追従できる
※社内ではCIでtblsを実行しスキーマの変更があったタイミングで GitHubのドキュメントが更 新される仕組みがある
SQLクエリの組み⽴てを⾃動化するSlack Bot 苦労したポイント 16 DBのスキーマ情報がLLMのcontext windowを超過 • 実務で使われている(歴史のある)サービスのDBド キュメントは想像よりも⼤きかった OpenAI
API の context window (128k) を超過するサービス があったのでやむをえず⼀部情報を削ったりした
SQLクエリの組み⽴てを⾃動化するSlack Bot tbls-ask と同じくMITライセンスで公開しています (GitHub Copilot との共作です) 成果物 17 https://github.com/kromiii/tbls-ask-agent-slack
SQLクエリの組み⽴てを⾃動化するSlack Bot 社内の反応 18
SQLクエリの組み⽴てを⾃動化するSlack Bot 利⽤統計(所属部⾨別) 19 ※リリースから10月20日までの約半年間の統計(以下同様)
SQLクエリの組み⽴てを⾃動化するSlack Bot 利⽤統計(職種別) 20
SQLクエリの組み⽴てを⾃動化するSlack Bot 利⽤⽬的(任意回答) 21
SQLクエリの組み⽴てを⾃動化するSlack Bot 業務削減効果(任意回答) 22
SQLクエリの組み⽴てを⾃動化するSlack Bot ユーザーの声(エンジニア) 23 ディレクターさんが SQLを書いてきてくれる のでエンジニア がレビューをしたり、微修正をするだけで良くなったこと。自分 がクエリを書いて、ディレクターにこのクエリ使ってくださいと いうことがなくなった!
現部署に異動して 必要な情報を抽出するテーブルがどこに あるかわからない時に大変役立った
SQLクエリの組み⽴てを⾃動化するSlack Bot ユーザーの声(ディレクター) 24 「タクラミ」などの固有名詞について説明不要で使える 点が とても便利です。 具体的な質問でなくても、ある程度ざっくりとした質問にも答 えられる点を評価しています。抽象的な質問を汲んだ解説も してくれた記憶で、sqlの基礎も分からない状態からテーブ
ルの階層構造についてよく学ぶ機会 にもなりました。
SQLクエリの組み⽴てを⾃動化するSlack Bot 改善ポイント 25 たまに抽出できないテーブルを回答してくる時があるので正 確さがより向上すると嬉しいです エラー吐いたあとすぐエンジニアに依頼してしまっているの で、エラー含めて再度tbls-askを使って解決したいなと思う
SQLクエリの組み⽴てを⾃動化するSlack Bot 回答の精度を上げるためのアイデア 26 RAGを使うともう少し精度が上がるかもしれない&コス ト節約
SQLクエリの組み⽴てを⾃動化するSlack Bot 27 他サービスとの⽐較(余談) Gemini for Google Cloud Bigquery に標準搭載されている
GeminiによるSQL生成機能 SQLAI.ai SQLクエリ生成に特化した商用 SaaS Langchain オープンソースのLLMフレーム ワーク。SQL用のプラグインもあ る。
SQLクエリの組み⽴てを⾃動化するSlack Bot • Slack経由で呼び出せるのでビジネス(開発)の流れが 分断されない • パブリックチャンネルで使うことで他の⼈が質問の意 図と経緯を理解しやすい tbls-ask bot
の利点 28
ご質問‧ご意⾒お待ちしております 29 ご質問・ご意見お待ちしております 🖐