← 最新の論文
💬 NLP

FlexSQL: Flexible Exploration and Execution Make Better Text-to-SQL Agents

FlexSQL は、推論プロセス全体で二層の修復メカニズムを用いて動的なスキーマ探索、データ検証、多様な実行計画を可能にする柔軟な設計原則を採用することで、Spider2-Snow ベンチマークにおいてより強力なモデルを上回るテキストから SQL へのエージェントを導入する。

原著者: Quang Hieu Pham, Yang He, Ping Nie, Canwen Xu, Davood Rafiei, Yuepeng Wang, Xi Ye, Jocelyn Qiaochu Chen

公開日 2026-05-06
📖 1 分で読めます☕ さくっと読める

原著者: Quang Hieu Pham, Yang He, Ping Nie, Canwen Xu, Davood Rafiei, Yuepeng Wang, Xi Ye, Jocelyn Qiaochu Chen

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

あなたが探偵になり、ある謎を解こうとしている状況を想像してください。しかし、現場は犯罪現場ではなく、数百万冊の書籍、ファイル、データポイントが収められた巨大で混沌とした図書館です。上司から与えられたヒントは曖昧です。「2014 年初頭に提出された材料科学に関する特許をすべて見つけ、それらが参照している古い特許の数を数えてください」。

この問題を解決しようとする現在のほとんどのコンピュータプログラムは、硬直したロボットのように振る舞います。開始時に一度だけ図書館の地図を与えられ、その地図に基づいていくつかの棚を選び、指示リスト(クエリ)を作成し、それを実行しようとします。もし行き詰まったり答えが間違っていたりしても、指示の小さなタイプミスしか修正できません。「待てよ、そもそも間違った棚を選んでいた」「『材料科学』が『MS-01』というコードの奥に隠れていたことに気づかなかった」といったことは言えません。彼らは最初の過ちのまま立ち往生します。

FlexSQLは、より好奇心旺盛な人間の探検家のように振る舞う新しいタイプの探偵エージェントです。硬直しているのではなく、柔軟です。その仕組みを簡単な比喩を使って説明します。

1. 「柔軟な探検家」(柔軟な相互作用)

一度だけ図書館の地図を見て経路を決めるのではなく、FlexSQL は考えながら図書館を歩き回ることができます

  • 従来の方法: ロボットは地図を見て、「材料科学」は「科学」セクションにあると推測し、リストの作成を始めます。
  • FlexSQL の方法: エージェントは「『材料科学』がどこにあるか確信が持てない。『技術』セクションへ行って、箱を覗き込み、ラベルを読んでみよう」と言います。
  • 専用のツールを使って棚を閲覧(スキーマ)、箱の実際のコンテンツ(データ値)、そして推測が妥当かどうかを確認するための小さなテスト検索を実行します。間違った通路にいることに気づけば、すぐに引き返して正しい方へ向かうことができます。行き止まりに立ち往生することはありません。

2. 「ブレインストーミング・チーム」(多様な計画)

「各々が参照しているより古い特許」というヒントは厄介です。これは国内特許だけを意味するのでしょうか?外国のものも含みますか?審査中の出願も含みますか?

  • 従来の方法: ロボットは一つの解釈(例:「国内のみ」)を選び、それに固執します。それが間違っていれば、答え全体が誤りになります。
  • FlexSQL の方法: 探偵チームがブレインストーミングをするように振る舞います。同時に複数の異なる仮説(計画)を生成します。
    • 計画 A: 国内の引用のみを数える。
    • 計画 B: 国内と外国の両方を数える。
    • 計画 C: 審査中の出願も含めてすべてを数える。
      これらすべての仮説を実行し、どの答えが最も正しい可能性が高いかを「多数決」で決定します。このようにして、一つの仮説が間違っていたとしても、チーム全体として正しい答えにたどり着ける可能性があります。

3. 「バイリンガルの翻訳者」(柔軟な実行)

時には、単一の直線的な指示(SQL)として書くには複雑すぎるタスクがあります。ループや「もし〜なら」の判断、データベース言語で記述すると煩雑になる段階的な計算が必要になるかもしれません。

  • 従来の方法: ロボットはすべてを一つの硬直した SQL 文に無理やり押し込めようとしますが、しばしば複雑になりすぎて破綻しやすくなります。
  • FlexSQL の方法: それはバイリンガルです。指示をデータベースが話す言語であるSQLで書くことも、柔軟なプログラミング言語であるPythonで書くこともできます。
    • タスクが単純なリストであれば、SQL を使用します。
    • 複雑なループや段階的な計算が必要な場合は、その方が考えやすいので、まず Python スクリプトを書きます。
    • Python スクリプトが完璧に動作したら、最終結果をデータベースが理解できるように SQL に翻訳し直します。これは、複雑なレシピをまずノートに書き、それを公式の厨房注文書に翻訳するようなものです。

4. 「やり直し」ボタン(バックトラック)

FlexSQL が計画を立ててから、「ああ、質問を完全に誤解していた」と気づいた場合、コードを修正するだけではありません。バックトラックボタンを押します。最初まで完全に戻り、図書館の棚を再点検し、戦略全体を変更して新しい計画を開始します。これにより、壊れた基礎を修正しようとして時間を無駄にするのを防ぎます。

結果

この「柔軟な探偵」は、巨大な実世界の企業データベースをシミュレートする非常に困難なベンチマークSpider2でテストされました。

  • スコア: gpt-oss-120b というモデルを使用し、FlexSQL は**65.4%**のスコアを記録しました。
  • 比較: このスコアは、はるかに大きく強力なモデル(DeepSeek-R1gpt-o3 など)を使用した他のトップシステムよりも高かったのです。
  • 教訓: 柔軟であること、つまり図書館を歩き回り、複数の仮説をブレインストーミングし、二つの言語を話し、必要に応じて「元に戻す」を押すことにより、FlexSQL は「硬直したロボット」よりも優れた問題解決能力を発揮しました。しかも、より小さな脳みそでです。

要約すれば、FlexSQL はビッグデータの複雑な世界において、柔軟性が硬直性を凌駕することを証明しています。一つの事前に書かれた地図を頑固に追従するよりも、探索し、適応し、考えを変えることができるエージェントの方が優れているのです。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →