SQL-of-Thought:具有引导式错误校正的多代理文本到SQL

发表
Aman ChadhaAman Chadha 提交
作者: Saumya ChaturvediSaumya Chaturvedi, Aman ChadhaAman Chadha, Laurent BindschaedlerLaurent Bindschaedler

摘要

将自然语言查询转换为 SQL 查询是行业和学术界的一个关键挑战,旨在提高对数据库和大规模应用程序的访问能力。本研究探讨了如何利用上下文学习和思维链来开发一个健壮的文本到 SQL 系统解决方案。我们提出了 SQL-of-Thought:一个多智能体框架,将 Text2SQL 任务分解为模式链接、子问题识别、查询计划生成、SQL 生成和指导纠错循环。与仅依赖基于执行的静态纠错的现有系统不同,我们引入了受上下文学习启发的、基于分类法的动态错误修改。SQL-of-Thought 通过结合指导错误分类法和基于推理的查询规划,在 Spider 数据集及其变体上取得了最先进的结果。
查看 arXiv 页面查看 PDF

评论

Aman ChadhaAman Chadha
论文作者
论文提交者

SQL-of-Thought 引入了一个多代理 Text-to-SQL 框架,该框架将查询分解为子问题,在生成 SQL 之前进行规划,并在纠错循环中应用紧凑的错误分类法,从而在 Spider 基准测试上超越了先前最先进 (SOTA) 的模型。

➡️ 我们 SQL-of-Thought 框架的关键亮点

🧩 多代理 Schema-to-SQL 管道:专门的代理处理 Schema 链接、子问题分解、查询规划、SQL 综合和纠错,这反映了人类迭代起草和完善 SQL 的方式。规划和生成的分离减少了幻觉并强制执行逻辑结构。

🧠 先规划后生成 (Plan-Then-Generate) 及思维链 (Chain-of-Thought):SQL 不直接从文本派生,而是从中间查询计划派生,从而实现更忠实的推理。思维链确保子句一致性,并在需要纠正时方便透明地进行调试。

🛠️ 基于错误分类法的纠错循环:错误不是盲目地重新生成,而是被归类到一个简洁的分类法中(例如,缺失的连接、聚合-无分组、HAVING-vs-WHERE)。纠错代理使用此分类法来针对单独的执行错误无法检测到的逻辑缺陷。

📊 最先进的成果及稳健的泛化能力:在 Spider dev 上实现了 91.59% 的执行准确率,在 Spider-Realistic 上为 90.16%,在 Spider-SYN 上为 82.01%。消融实验证实,移除纠错循环或中间规划会显著降低准确率,验证了这两项贡献。

实践效率 + 成本混合:使用混合设置,其中在规划/纠错中选择性地调用更强大的模型(Claude 3 Opus),而较小的模型处理子问题分解和综合,从而在准确性、token 和成本效率之间取得平衡。