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
TonyTonyKun
July 22, 2026
Technology
110
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
820
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
410
これでバッチリ!Azure マルチテナントアーキテクチャ設計のコツ/jat06
thara0402
0
750
Azure Load Testing を使って Azure Functions Flex Consumption の HTTP Trigger のパフォーマンスとコストを最適化してみよう/global-azure2025
thara0402
0
350
Prompty を使って生成 AI アプリケーション開発のプロンプトを管理する/jat03
thara0402
0
91
Azure OpenAI Service で意図せず PTU モデルをデプロイして高額請求されてしまった件/jat04
thara0402
0
96
「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
AI驚き屋発見器
yama3133
1
360
大 AI 時代におけるC# の事情 ~ぶっちゃけトークを交えながら~
nenonaninu
1
340
AI時代の開発生産性を捉え直す — 経営と現場をつなぐ「開発組織のオブザーバビリティ」— / AI Dev Ex Conference 2026
tkyowa
1
1.8k
13年運用タイトルのサーバーサイドが辿り着いた現在地 ― モンスターストライクにおける技術・組織・AI活用から得た知見
mixi_engineers
PRO
1
200
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
7
1.6k
CTOキーノート:AI時代の「つなぐ」を再定義 ― 真のIoTとリアルワールドAI【SORACOM Discovery 2026】
soracom
PRO
0
260
システム監視を 「システムを監視するだけ」で 終わらせないために
seiud
0
120
Multicaで30個のミニプロジェクトをAIエージェント運用して見えてきたこと
eiei114
1
680
事業成長とAI活用を止めないデータ基盤アーキテクチャの設計思想
hiracky16
0
740
iOS/Androidの二刀流エンジニアがFlutter & TypeScriptへ越境後の現在地 - Flutterがメインになって見えた景色と現在の醍醐味 / Dual-Platform Mobile Engineer Shifts to Flutter & TypeScript - The View and Real Thrill of Going Flutter-First
bitkey
PRO
0
110
データベース研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
480
2026年のソフトウェア開発を考える(2026/07版) / Agentic Software Engineering 2026-07 Findy Edition
twada
PRO
30
17k
Featured
See All Featured
Scaling GitHub
holman
464
140k
The Language of Interfaces
destraynor
162
27k
Test your architecture with Archunit
thirion
1
2.3k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
390
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Skip the Path - Find Your Career Trail
mkilby
1
170
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Navigating Weather and Climate Data
rabernat
0
410
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.6k
Utilizing Notion as your number one productivity tool
mfonobong
4
470
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.