Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure Durable Functions で作った NL2SQL Agent の精度向上...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/aidevday2026

AI Dev Day 2026 のセッション資料です。
https://aidevday.com/

Avatar for TonyTonyKun

TonyTonyKun

July 22, 2026

More Decks by TonyTonyKun

Other Decks in Technology

Transcript

  1. 自己紹介 名前 原 敏之 個人 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
  2. JAZUG のご紹介 Japan AZure User Group ( 略称 : じゃずゆーじー)

    コミュニティ活動概要 Microsoft Azure を通じて、技術、交流、実ビジネスを楽しむ “ちょっと興味がある=ゆるふわな方“ から “実ビジネスで使うんだよね” な方まで大歓迎!ゆるふわコミュニティです。 X ハッシュタグ:#jazug イベント情報は Connpass にて 4 Copyright© 2026, JAZUG All Rights Reserved.
  3. 全国に広がる 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.
  4. 東京での主な活動 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
  5. モチベーション チャットで自然言語を入力するだけでデータベースの情報を 取得できる仕組みが欲しい UI 今月の売上は? NL2SQL 質問をクエリに変換して実行 チャット 1億円です。 DB

    クエリ結果を回答に変換 NL2SQL (Text to SQL) は、生成 AI を利用して自然言語を SQL に変換する技術です。 SQL を書けない人でもデータベースから情報を取得でき、また SQL に詳しいエンジニア の作業効率も大きく向上できることが期待されています。 Copyright© 2026, JAZUG All Rights Reserved. 11
  6. アーキテクチャ 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
  7. Azure Durable Functions を採用した理由 Durable Functions AI Agent の構築パターンに fan-out

    / fan-in をマッピングしやすい 非同期にタスクを並列実行させる処理をアプリケーションのレイヤー だけでなく、インフラのレイヤーまで含めて統制できる Durable Task Scheduler より優れたスケーラビリティの実現 • LLM からのレスポンスに時間がかかりやすいため 可観測性の向上 • 実行されるアクティビティが LLM によって動的に決定されるため 13 Copyright© 2026, JAZUG All Rights Reserved.
  8. まず最初に思いつくアプローチ 生成 AI を使って自然言語から SQL クエリを生成する LLM LLM 自然言語による質問 クエリ生成

    クエリ実行 クエリ結果 SQL DB 回答生成 ※ クエリ生成では、データベースのテーブル定義やカラムの意味をシステムプロンプトとして与える。 生成 AI に丸投げするアプローチでは、クエリ変換の精度とセキュリティに課題がある • • 精度 • 正解率は約50% • テーブル選択や集計条件の誤りにより、意図したクエリを生成できない • インデックスの考慮不足により、大量データのパフォーマンスが懸念される セキュリティ • 機微情報の漏洩リスクがある Copyright© 2026, JAZUG All Rights Reserved. 15
  9. 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
  10. “質問の意図を正しく解釈すること” が重要 正解率は約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
  11. まとめ Azure Durable Functions により、Agent のワークフローを柔軟 に構築できた RAG + SQL

    View により、NL2SQL の精度と安全性を向上できた 重要なのは SQL を生成させる精度だけではなく、LLM が正しい 情報にたどり着ける仕組みを設計すること そして最後に残る課題は、質問の意図を正しく理解すること 18 Copyright© 2026, JAZUG All Rights Reserved.