text2sql论文14:Tool-Assisted Agent on SQL Inspection and Refinement in Real-World Scenarios


Tool-SQL:基于Agent智能体的Text2SQL解决方案,显著提升Text2SQL效果

1.背景与挑战

Text2SQL核心问题:自然语言转SQL在真实场景中面临数据库不匹配(Database Mismatches),包括:

  • 条件不匹配:用户查询条件与数据库实际值不一致(如"todd casey" vs "Todd Casey")

  • 约束不匹配:违反外键、数据类型等隐式规则,不触发执行异常但导致结果错误

2.现有方案局限

方案类型 代表方法 缺点
自我纠正 DIN-SQL等 依赖静态规则,仅能处理有限错误类型
执行反馈 MAC-SQL等 仅能捕获执行异常(如语法错误),忽略数据库不匹配

3.Tool-SQL创新方案

核心思想:通过工具增强的Agent动态检测和修正SQL问题

两大核心工具:

1) 数据库检索器(Database Retriever)

  • 功能:解决条件不匹配问题
  • 技术实现:使用SimCSE模型检索相似数据库单元格(支持语义匹配,如缩写、格式差异)
  • 迭代修正流程:
检查WHERE/HAVING条件值是否匹配数据库
若无匹配 → 返回相似值供Agent参考
Agent选择修正值或调整条件
重复至成功或达最大尝试次数
  • 优势:处理真实场景中的模糊查询(如用户输入非标准化值)

2) 错误检测器(Error Detector)

  • 功能:诊断约束不匹配和潜在执行问题

  • 检测范围:

外键关系缺失
JOIN冗余/缺失
列类型不匹配
GROUP BY子句误用
  • 技术实现:
基于数据库模式(Schema)静态分析
避免直接执行高风险查询,提升安全性

4.技术亮点

Agent架构设计:将SQL生成分解为Python函数调用(如add_where()),结构化参数便于工具检测

动态迭代:工具反馈 → Agent修正 → 重新验证

真实场景适配:专为模糊条件和隐式约束优化,超越传统执行反馈方案

5.效果对比

数据集:Spider、Spider-Realistic、Spider-Mismatch(自建真实场景数据集)

6.核心价值

质量提升:解决传统方法忽略的数据库不匹配问题

安全性:通过静态分析减少高风险查询执行

可扩展性:工具库可灵活扩展(如新增业务规则检测)