Text-to-SQL
研究筆記 · Text-to-SQL · Prompting

當你用 GPT 寫 SQL 「拆解問題」反而在害你

我們做了 prompting 領域到現在最大的對照實驗, 5 個 LLM × 5 種 prompting 寫法 × 3 種語言、 上百個 cell、每個 cell 數百到上千 query。 發現一個反直覺事實、兩個能直接拿來用的結論、一個資訊論的硬上限。

📖 第一次來?5 分鐘讀完這篇研究 5 步驟導覽 · 從問題到發現、一路帶你看完
100+
實驗 cell 數
10K+
query 評估數
dz=6.85
S₂ 拆解平均負效應
W=0.91
跨語言一致性
01

越強的模型、越不應該拆解

「把複雜 query 拆成幾個小問題、各自回答、再合起來」這個直覺。 在強模型(GPT-4.1、DeepSeek-V3)身上、平均讓準確率掉 6.85 個百分點,三個語言、五個模型、結果一致。

英文 EN −6.85 pp · dz=1.04
繁中 ZH-TW −5.73 pp · dz=0.96
日文 JA −7.52 pp · dz=1.18

在 Playground 看完整矩陣 →

02

ML selector 贏不了一行 if-else

我們訓了 11 種機器學習選擇器(規則、多分類、binary gate、cascade)、 想根據 query 內容自動選最好的策略,全部打不贏這條手寫規則:

if (S₀ produces wrong SQL) try S₁  // schema filter
手寫規則
+9.28pp
S₀ → S₁ fallback
vs
最強 ML selector
+3.69pp
gate_gb (Gradient Boosting)

為什麼?資訊理論的硬上限,我們在第二篇用 Fano 不等式證明了 · 看 γ 證明 (3 頁 PDF) →

03

策略排名跨語言一致

英文、繁中、日文,哪個策略好、哪個爛,排名一樣 (Kendall's W = 0.91, p = 0.042)。 在英文發現 S₁ 最好、中日文部署時直接選 S₁ 就好,部署成本降一個數量級。

英文 EN
  1. 1 S₁ Schema 篩選
  2. 2 S₃ Skeleton
  3. 3 S₄ Classify
  4. 4 S₂ Decompose
繁中 ZH-TW
  1. 1 S₁ Schema 篩選
  2. 2 S₃ Skeleton
  3. 3 S₄ Classify
  4. 4 S₂ Decompose
日文 JA
  1. 1 S₁ Schema 篩選
  2. 2 S₄ Classify
  3. 3 S₃ Skeleton
  4. 4 S₂ Decompose

最好(S₁)和最壞(S₂)位置完全相同、中間兩個位置在日文交換一次。

建構中 · 預計 2027 Q1 投稿

第二篇:把第一篇的發現變成定理

第一篇是「看到了什麼」。第二篇要回答為什麼, 資訊論上限、策略代數、與具體新方法。

γ

資訊論上限

證明任何只看 query 文字的 selector 都有準確率天花板、 用 Fano 不等式給上界公式、解釋 #02 觀察的「為什麼」。

查看證明
β

策略代數框架

把 Text-to-SQL 領域 13 篇主流論文(DIN-SQL / CHASE-SQL / MAC-SQL / XiYan-SQL...) 全部表達成 5 個原子的組合,統一這個碎片化的領域。

查看定義
V

Decomposition Verifier

基於 γ + β 理論預測、做一個具體方法, 拆解前先評估「值不值得拆」、不值得就退回直接生成。 Oracle 上限分析顯示 dz = 2.06

查看計畫