SQL-of-Thought: Multi-agentic Text-to-SQL with Guided Error Correction¶
会议: NeurIPS 2025
arXiv: 2509.00581
代码: 无
领域: LLM推理 / NLP
关键词: text-to-SQL, multi-agent, error taxonomy, chain-of-thought, Spider benchmark
一句话总结¶
提出 SQL-of-Thought——一个多智能体 Text-to-SQL 框架,将任务分解为 schema linking → 子问题识别 → CoT 查询计划生成 → SQL 生成 → 基于 31 类错误分类法的引导修正循环,用 Claude 3 Opus 在 Spider 上达到 91.59% 执行准确率,比此前最佳 Chase SQL(87.6%)提升近 4 个百分点。
研究背景与动机¶
领域现状:Text-to-SQL 已从序列到序列模型发展到 LLM 提示方法(DIN-SQL、DAIL-SQL),多智能体方法(MAC-SQL、Chase SQL)进一步提升模块化和准确率。
现有痛点:(a) 现有错误修正仅依赖执行反馈——95-99% 的生成 SQL 语法正确,但逻辑错误(如 JOIN 类型错误、聚合遗漏)无法通过执行信号检测;(b) 无引导的推理可能引入新错误;(c) 缺少系统的错误分类来指导修正。
核心矛盾:语法正确 ≠ 语义正确——需要超越执行反馈的结构化错误诊断。
切入角度:设计 31 类错误分类法,结合 CoT 推理在修正循环中精准定位和修复逻辑错误。
方法详解¶
整体框架¶
5 个专门化智能体顺序执行 + 引导式修正循环:Schema Linking → Subproblem → Query Plan (CoT) → SQL Generation → 执行测试 → [失败则] Correction Plan (CoT + 错误分类法) → Correction SQL → 重新执行。
关键设计¶
-
分阶段推理:
- Schema Linking Agent:识别相关表、列、主外键
- Subproblem Agent:将查询分解为子句级子问题(WHERE/GROUP BY/JOIN 等),输出结构化 JSON
- Query Plan Agent:用 CoT 生成步骤化执行计划(禁止生成 SQL)
- SQL Agent:基于计划生成可执行 SQL
-
31 类错误分类法:
- 覆盖 9 大类:语法错误、schema linking 错误、JOIN 错误、过滤条件错误、聚合逻辑错误、值表示错误、子查询错误、集合运算错误、结构遗漏
- 使用简洁错误码(非冗长描述)以节省上下文窗口
- Correction Plan Agent 被提示参考分类法,先诊断错误类型再制定修复策略
-
引导式修正循环:
- 与 DIN-SQL(仅重新生成)和 DAIL-SQL(仅执行反馈)不同,修正循环提供错误类型 + CoT 修复计划
- Correction Plan Agent → Correction SQL Agent 两步修正(vs 直接修正)
- 循环直到执行成功或达到最大尝试次数
实验关键数据¶
Spider 基准¶
| 方法 | Spider EA | Spider-Realistic EA |
|---|---|---|
| DIN-SQL + GPT-4 | 82.8% | 78.1% |
| DAIL-SQL + GPT-4 + SC | 83.6% | 75.2% |
| MAC-SQL + GPT-4 | 86.8% | - |
| Tool-SQL + GPT-4 | 86.9% | 82.9% |
| Chase SQL | 87.6% | - |
| SQL-of-Thought + Claude 3 Opus | 91.59% | 90.16% |
消融实验(100 样本)¶
| 配置 | 准确率 | 说明 |
|---|---|---|
| SQL-of-Thought (full) | 95% | 完整框架 |
| w/o 修正循环 | 85% | -10%,修正至关重要 |
| w/o Query Plan | 90% | -5%,CoT 计划有用 |
模型对比¶
| 模型 | SQL-of-Thought EA |
|---|---|
| Claude 3 Opus | 95% |
| GPT-5 | 89% |
| GPT-4o-mini | 87% |
| GPT-3.5 | 67% |
| Llama-3.1-8B | ~45% |
关键发现¶
- 修正循环贡献 +10%:语法正确但逻辑错误的 SQL 需要结构化诊断才能修复
- CoT Query Plan 贡献 +5%:先规划再生成 SQL 比直接生成更可靠
- Claude 3 Opus 最佳:在所有模型中推理能力最强,SQL 生成最准确
- 成本 trade-off:单次 Spider 运行 ~\(42,混合模型方案可降至 ~\)30(85% EA)
亮点与洞察¶
- 错误分类法的价值:31 类错误的结构化分类使 LLM 从"盲目重试"变为"精准修复"——去除分类法后重复修正同一错误的现象加剧
- 两步修正 > 直接修正:先生成修正计划再生成 SQL 比直接给 SQL Agent 错误信息更有效——LLM 需要结构化推理步骤
- 失败消融教训:多个修复 Agent 各修一类错误然后合并 → 矛盾冲突;携带修正历史 → 上下文膨胀导致退化
- 开源模型落后巨大:Llama-3.1-8B 仅 45%,暴露小模型在复杂结构化生成上的局限
局限与展望¶
- 仅在 Spider 系列评估:Spider 不代表真实数据库复杂度(TAG 框架显示仅覆盖 ~20% 真实查询)
- 高 API 成本:多 Agent 框架单次 ~$42,限制了实际部署
- 错误分类法未穷举验证:跨不同查询结构的覆盖率未知
- 改进方向:(1) 在 BIRD-SQL 和真实数据库上评估;(2) 微调小模型替代 API 调用降低成本;(3) 自动学习/更新错误分类法
相关工作与启发¶
- vs DIN-SQL:DIN-SQL 的修正仅重新生成 prompt 无具体错误信息;SQL-of-Thought 提供分类法引导的精准修正
- vs Chase SQL:Chase SQL 用多候选+选择策略,SQL-of-Thought 用单路径+迭代修正——更高效
- vs Think2SQL:Think2SQL 发现推理对 SQL 的帮助 mixed;SQL-of-Thought 通过分阶段推理(计划→SQL)和分类法引导消除了"无引导推理反而有害"的问题
- 启发:对于结构化输出生成(SQL/代码),"诊断→计划→修复"比"检测→重试"更有效
评分¶
- 新颖性: ⭐⭐⭐⭐ 错误分类法引导修正是新颖且实用的设计
- 实验充分度: ⭐⭐⭐ 仅 Spider 系列,缺少 BIRD-SQL 和真实数据库
- 写作质量: ⭐⭐⭐⭐ 架构清晰,消融分析到位(包括失败消融的教训)
- 价值: ⭐⭐⭐⭐ Spider SOTA 有说服力,但需在更难 benchmark 上验证泛化性
评分¶
- 新颖性: ⭐⭐⭐ multi-agent+error taxonomy的组合
- 实验充分度: ⭐⭐⭐ 标准基准测试
- 写作质量: ⭐⭐⭐
- 价值: ⭐⭐⭐ 对text-to-SQL实践有参考价值