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
Azure Durable Functions で作った NL2SQL Agent の精度向上...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
TonyTonyKun
January 30, 2026
Technology
0
300
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
第8回 Azure Travelers 勉強会 仙台の旅のセッション資料です。
TonyTonyKun
January 30, 2026
Tweet
Share
More Decks by TonyTonyKun
See All by TonyTonyKun
これでバッチリ!Azure マルチテナントアーキテクチャ設計のコツ/jat06
thara0402
0
670
Azure Load Testing を使って Azure Functions Flex Consumption の HTTP Trigger のパフォーマンスとコストを最適化してみよう/global-azure2025
thara0402
0
260
Prompty を使って生成 AI アプリケーション開発のプロンプトを管理する/jat03
thara0402
0
75
Azure OpenAI Service で意図せず PTU モデルをデプロイして高額請求されてしまった件/jat04
thara0402
0
86
「Durable Task Scheduler」をチョイ見せ!/jat05
thara0402
0
63
Azure App Service on Linux の Sidecar に Phi-3 を配置してインテリジェントなアプリケーションを作ってみよう/jazug-anniv14
thara0402
0
1.4k
サイクルガードサービス AlterLock の問い合わせ対応業務に Azure OpenAI Service を活用した話/jazug46
thara0402
0
990
Microsoft Ignite 2023 現地参加レポート/ignite2023
thara0402
0
330
Azure Container Apps で .NET 7 アプリを Blue-Green デプロイしてみよう!/jazug12
thara0402
0
1.8k
Other Decks in Technology
See All in Technology
聲の形にみるアクセシビリティ
tomokusaba
0
170
Evolution of Claude Code & How to use features
oikon48
1
590
JAWS DAYS 2026 ExaWizards_20260307
exawizards
0
410
[2026-03-07]あの日諦めたスクラムの答えを僕達はまだ探している。〜守ることと、諦めることと、それでも前に進むチームの話〜
tosite
0
180
Abuse report だけじゃない。AWS から緊急連絡が来る状況とは?昨今の攻撃や被害の事例の紹介と備えておきたい考え方について
kazzpapa3
1
480
OCHaCafe S11 #2 コンテナ時代の次の一手:Wasm 最前線
oracle4engineer
PRO
1
110
OCI Security サービス 概要
oracle4engineer
PRO
2
13k
白金鉱業Meetup_Vol.22_Orbital Senseを支える衛星画像のマルチモーダルエンベディングと地理空間のあいまい検索技術
brainpadpr
2
290
Security Diaries of an Open Source IAM
ahus1
0
210
マルチプレーンGPUネットワークを実現するシャッフルアーキテクチャの整理と考察
markunet
2
230
猫でもわかるKiro CLI(AI 駆動開発への道編)
kentapapa
0
110
「ストレッチゾーンに挑戦し続ける」ことって難しくないですか? メンバーの持続的成長を支えるEMの環境設計
sansantech
PRO
3
640
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
A better future with KSS
kneath
240
18k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
Site-Speed That Sticks
csswizardry
13
1.1k
Odyssey Design
rkendrick25
PRO
2
540
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
GitHub's CSS Performance
jonrohan
1032
470k
Visualization
eitanlees
150
17k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
99
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Transcript
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話 2026.01.24 第8回 Azure
Travelers 勉強会 仙台の旅
自己紹介 名前 原 敏之 個人 X (Twitter) : @TonyTonyKun ROMANCE
DAWN for the new world • https://gooner.hateblo.jp/ Microsoft MVP for Microsoft Azure 2017 〜 仕事 株式会社ネクストスケープ Copyright© 2026, JAZUG All Rights Reserved. 2
モチベーション チャットで自然言語を入力するだけでデータマートの情報を 取得できる仕組みが欲しい Copyright© 2026, JAZUG All Rights Reserved. 3
NL2SQL (Text to SQL) は、自然言語を SQL に変換する技術です。 SQL を書けない人でもデータベースから情報を取得でき、また SQL に詳しいエンジニア の作業効率も大きく向上できます。 Data Lake Data Mart ダッシュボード グラフ / 表 チャット データ基盤 質問をクエリに変換して実行 クエリ結果を回答に変換 パイプライン 今月の売上は? 1億円です。 NL2SQL
アーキテクチャ Azure Durable Functions で NL2SQL Agent を作る Copyright© 2026,
JAZUG All Rights Reserved. 4 Orchestrator GetAgentToRun (Function Calling) Agent 選択 NL2SQL Agent 実行 NL2SQL Agent Execute SQL Agent SynthesizeAgentCallResults SQL Query 実行 回答生成 チャットから質問を送信 Activity Azure Durable Functions チャットに回答を返却 AOAI AOAI AOAI SQL Database Cosmos DB 本日のテーマ : NL2SQL Agent の精度をどのように向上させるか?
アプローチ①:シンプルな NL2SQL の構成 生成 AI を使って自然言語から SQL クエリを生成する Copyright© 2026,
JAZUG All Rights Reserved. 5 クエリ生成 自然言語による質問 SQL DB クエリ実行 回答生成 クエリ結果 LLM LLM 生成 AI に丸投げする構成では、クエリ変換の精度が出ない・・・ ※ クエリ生成では、データベースのテーブル定義やカラムの意味をシステムプロンプトとして与える。
アプローチ①の課題 正解率は50%くらい、残りの50%は意図したクエリを生成できない 類似したテーブルがある場合、参照するテーブルを間違ってしまう テーブルの結合が苦手 Group By 句の指定を間違いやすい インデックスの考慮が不十分なので、大量データのパフォーマンス懸念 ユーザーには見せたくないカラムの値を返してしまう セキュリティ上の機微な情報を保護することを100%保証できない
Copyright© 2026, JAZUG All Rights Reserved. 6 NL2SQL の “精度向上” と “セキュリティ担保” をどのように実現するか? ・システムプロンプトのチューニングには限界がある ・間違ったクエリの場合は再生成や修正提案させてもいいが、チャットのレスポンスが劣化する
アプローチ②:RAG + SQL View で課題解決 RAG(クエリテンプレート) + SQL View を組み込む
Copyright© 2026, JAZUG All Rights Reserved. 7 テンプレート 検索(RAG) 自然言語による質問 SQL DB (View) クエリ実行 回答生成 クエリ結果 LLM 検索 パラメータ抽出・検証 判定・評価 クエリ生成 セキュリティ検証 ・ベクトル検索 ・キーワード検索 ・スコア統合(RRF) ・パラメータ抽出 質問から条件抽出 ・パラメータ検証 必須有無 型や範囲など 検索候補が質問に適合し ているかを LLM で判定 テンプレートのパラメー タを埋め込む ・SQL 構文チェック ・インジェクション対策 Description Parameter Query 売上を取得する 日付(年月日) SELECT * FROM Sales WHERE 日付 = @date 予算を取得する 日付(年月) SELECT * FROM Budget WHERE 日付 = @date LLM View は安全な公開用スキーマ ユーザーに見せたくない列を除外する
アプローチ②を組み込んだ結果 正解率は70%に向上、テンプレートでクエリの品質担保 テーブル結合、Group By 句、インデックスを適切に指定できる SQL View でセキュリティ上の機微なデータを100%保護 View の列名の日本語化で、LLM
によるパラメータ判定精度も向上 Copyright© 2026, JAZUG All Rights Reserved. 8 クエリテンプレートの内容や粒度を改善することで、更なる精度の向上が期待できそう ・類似したテンプレートを集約して、ある程度大きな粒度のユースケース単位で作る ・Description を「どんなときにこのテンプレートを使うのか」という観点に変更する
まとめ NL2SQL を使って SQL を書く時間を減らし、データから洞察 を得ることに時間を使いたい。 クエリテンプレート+ SQL View のアプローチは精度向上に効
果的で現実的な手法だと思われる。 自然言語の曖昧さをどう扱うかが、NL2SQL 成功の最大の鍵。 Copyright© 2026, JAZUG All Rights Reserved. 9