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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
TonyTonyKun
July 22, 2026
Technology
62
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/aidevday2026
AI Dev Day 2026 のセッション資料です。
https://aidevday.com/
TonyTonyKun
July 22, 2026
More Decks by TonyTonyKun
See All by TonyTonyKun
Azure Static Web Apps の自動ビルドがタイムアウトしやすくなった状況に対応した件/global-azure2026
thara0402
0
810
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
400
これでバッチリ!Azure マルチテナントアーキテクチャ設計のコツ/jat06
thara0402
0
750
Azure Load Testing を使って Azure Functions Flex Consumption の HTTP Trigger のパフォーマンスとコストを最適化してみよう/global-azure2025
thara0402
0
350
Prompty を使って生成 AI アプリケーション開発のプロンプトを管理する/jat03
thara0402
0
90
Azure OpenAI Service で意図せず PTU モデルをデプロイして高額請求されてしまった件/jat04
thara0402
0
95
「Durable Task Scheduler」をチョイ見せ!/jat05
thara0402
0
70
Azure App Service on Linux の Sidecar に Phi-3 を配置してインテリジェントなアプリケーションを作ってみよう/jazug-anniv14
thara0402
0
1.5k
サイクルガードサービス AlterLock の問い合わせ対応業務に Azure OpenAI Service を活用した話/jazug46
thara0402
0
1k
Other Decks in Technology
See All in Technology
reFACToring
moznion
0
190
設計レビューとAIハーネスで向き合う AIが生み出した新しいボトルネックの対処法 / Design Reviews and AI Harnesses Against New Bottlenecks Created by AI
nstock
4
430
AIが当たり前の組織で エンジニアはどう育つか
nishihira
1
970
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
210
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
400
Webアプリ認証の全体像 / The Big Picture of Web App Authentication
kitano_yuichi
1
420
「顧客の声を聞かなければ何も始まらない」 ── 顧客の声から生まれた『AI返信補助機能』の開発プロセス / AICon2026_shikata_imai
rakus_dev
1
270
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
14
4.5k
41歳でAWSが好きすぎてITエンジニアになったおっさんの話
yama3133
1
740
AI時代こそ、スケールしないことをしよう -「作る人」から「なぜ作るか」を考える人へ / Do Things That Don't Scale in the AI Era — From How to Why
kaminashi
1
100
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
3
780
20260720_クラウド女子会×PyLadiesTokyoコラボ Amazon Bedrock ハンズオン用資料
yuuka51
1
110
Featured
See All Featured
Amusing Abliteration
ianozsvald
1
240
How STYLIGHT went responsive
nonsquared
100
6.2k
エンジニアに許された特別な時間の終わり
watany
108
250k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
The Pragmatic Product Professional
lauravandoore
37
7.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Technical Leadership for Architectural Decision Making
baasie
3
440
Ruling the World: When Life Gets Gamed
codingconduct
0
290
The Mindset for Success: Future Career Progression
greggifford
PRO
0
430
Odyssey Design
rkendrick25
PRO
2
730
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Evolving SEO for Evolving Search Engines
ryanjones
0
240
Transcript
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話 2026.07.24 AI Dev
Day 2026
自己紹介 名前 原 敏之 個人 X (Twitter) : @TonyTonyKun ROMANCE
DAWN for the new world • https://gooner.hateblo.jp/ Microsoft MVP for Microsoft Azure 2017 〜 コミュニティ Japan Azure User Group (JAZUG) Japan Azure Travelers 仕事 株式会社ネクストスケープ Copyright© 2026, JAZUG All Rights Reserved. 2
JAZUG のご紹介 3 Copyright© 2026, JAZUG All Rights Reserved.
JAZUG のご紹介 Japan AZure User Group ( 略称 : じゃずゆーじー)
コミュニティ活動概要 Microsoft Azure を通じて、技術、交流、実ビジネスを楽しむ “ちょっと興味がある=ゆるふわな方“ から “実ビジネスで使うんだよね” な方まで大歓迎!ゆるふわコミュニティです。 X ハッシュタグ:#jazug イベント情報は Connpass にて 4 Copyright© 2026, JAZUG All Rights Reserved.
全国に広がる JAZUG の輪 1 2 5 7 4 3 1
JAZUG 札幌 (きたあず) 2 JAZUG 仙台 3 JAZUG 名古屋 (なごあず) 4 JAZUG 大阪 (関西Azure研究会) 5 JAZUG Fukuoka 6 JAZUG Shizuoka 7 JAZUG 四国 (しこあず) 8 JAZUG for Women 6 5 Copyright© 2026, JAZUG All Rights Reserved.
Connpas メンバー数、もうすぐ6000人です! 6 Copyright© 2026, JAZUG All Rights Reserved.
過去動画は YouTube で配信中 7 Copyright© 2026, JAZUG All Rights Reserved.
公式グッズは SUZURI で販売中 8 Copyright© 2026, JAZUG All Rights Reserved.
東京での主な活動 Tokyo Jazug Night 月1回ペースで平日の夜に開催 次回の第62回は、2026/9/3(木)に品川で開催予定 JAZUG for Women 不定期で開催されるオフライン女性限定の勉強会
Global Azure 年1回世界中の Azure コミュニティが同じ日にイベントを開催 JAZUG 周年イベント 毎年9月-10月に開催される JAZUG x周年を祝うお祭り 今年の16周年は、2026/10/3(土)に品川で開催予定 Copyright© 2026, JAZUG All Rights Reserved. 9
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話 10 Copyright© 2026,
JAZUG All Rights Reserved.
モチベーション チャットで自然言語を入力するだけでデータベースの情報を 取得できる仕組みが欲しい UI 今月の売上は? NL2SQL 質問をクエリに変換して実行 チャット 1億円です。 DB
クエリ結果を回答に変換 NL2SQL (Text to SQL) は、生成 AI を利用して自然言語を SQL に変換する技術です。 SQL を書けない人でもデータベースから情報を取得でき、また SQL に詳しいエンジニア の作業効率も大きく向上できることが期待されています。 Copyright© 2026, JAZUG All Rights Reserved. 11
アーキテクチャ Azure Durable Functions + Durable Task Scheduler Azure Durable
Functions チャットから質問を送信 チャットに回答を返却 Orchestrator Activity Agent 選択 GetAgentToRun (Function Calling) AOAI NL2SQL Agent 実行 NL2SQL Agent AOAI SQL Query 実行 Execute SQL Agent 回答生成 SynthesizeAgentCallResults Durable Task Scheduler Copyright© 2026, JAZUG All Rights Reserved. Cosmos DB SQL Database AOAI 12
Azure Durable Functions を採用した理由 Durable Functions AI Agent の構築パターンに fan-out
/ fan-in をマッピングしやすい 非同期にタスクを並列実行させる処理をアプリケーションのレイヤー だけでなく、インフラのレイヤーまで含めて統制できる Durable Task Scheduler より優れたスケーラビリティの実現 • LLM からのレスポンスに時間がかかりやすいため 可観測性の向上 • 実行されるアクティビティが LLM によって動的に決定されるため 13 Copyright© 2026, JAZUG All Rights Reserved.
(参考) Durable Task Scheduler の Dashboard Timeline Sequence 14 Copyright©
2026, JAZUG All Rights Reserved.
まず最初に思いつくアプローチ 生成 AI を使って自然言語から SQL クエリを生成する LLM LLM 自然言語による質問 クエリ生成
クエリ実行 クエリ結果 SQL DB 回答生成 ※ クエリ生成では、データベースのテーブル定義やカラムの意味をシステムプロンプトとして与える。 生成 AI に丸投げするアプローチでは、クエリ変換の精度とセキュリティに課題がある • • 精度 • 正解率は約50% • テーブル選択や集計条件の誤りにより、意図したクエリを生成できない • インデックスの考慮不足により、大量データのパフォーマンスが懸念される セキュリティ • 機微情報の漏洩リスクがある Copyright© 2026, JAZUG All Rights Reserved. 15
RAG + SQL View のアプローチで課題解決 RAG(クエリテンプレート) + SQL View を組み込む
Description Parameter Query 売上を取得する 日付(年月日) SELECT * FROM Sales WHERE 日付 = @date 予算を取得する 日付(年月) SELECT * FROM Budget WHERE 日付 = @date LLM LLM 自然言語による質問 テンプレート 検索(RAG) クエリ実行 SQL DB (View) クエリ結果 回答生成 View は安全な公開用スキーマ →ユーザーに見せたくない列を除外する 検索 ・ベクトル検索 ・キーワード検索 ・スコア統合(RRF) パラメータ抽出・検証 ・パラメータ抽出 質問から条件抽出 ・パラメータ検証 必須有無 型や範囲など Copyright© 2026, JAZUG All Rights Reserved. 判定・評価 クエリ生成 セキュリティ検証 検索候補が質問に適合し ているかを LLM で判定 テンプレートのパラメー タを埋め込む ・SQL 構文チェック ・インジェクション対策 16
“質問の意図を正しく解釈すること” が重要 正解率は約70%に向上、セキュリティも担保できたが・・・ 精度向上の壁は、質問の意図を正しく解釈できていないことだった 質問の意図を正しく解釈する →メモリエンジニアリング(コンテキストや会話履歴の参照) →ナレッジの拡充(業務用語の辞書など) →曖昧な質問の場合は聞き返す(対象や期間など) Azure Durable
Functions チャットから質問を送信 チャットに回答を返却 Orchestrator Activity Agent 選択 GetAgentToRun (Function Calling) AOAI NL2SQL Agent 実行 NL2SQL Agent AOAI SQL Query 実行 Execute SQL Agent 回答生成 SynthesizeAgentCallResults Durable Task Scheduler Copyright© 2026, JAZUG All Rights Reserved. Cosmos DB SQL Database AOAI SQL クエリの結果をもとに質問に回答する →クエリの結果が知りたいわけではない →求める回答を生成するナレッジの拡充 17
まとめ Azure Durable Functions により、Agent のワークフローを柔軟 に構築できた RAG + SQL
View により、NL2SQL の精度と安全性を向上できた 重要なのは SQL を生成させる精度だけではなく、LLM が正しい 情報にたどり着ける仕組みを設計すること そして最後に残る課題は、質問の意図を正しく理解すること 18 Copyright© 2026, JAZUG All Rights Reserved.