论文
FlexSQL:灵活的探索和执行打造更好的文本到 SQL 代理
FlexSQL: Flexible Exploration and Execution Make Better Text-to-SQL Agents
摘要
大型分析数据库上的文本到 SQL 需要导航复杂的模式、解决不明确的查询并根据实际数据做出决策。当前的大多数系统都遵循固定的管道,其中模式元素预先检索一次,并且仅重新访问数据库以进行事后修复,从而限制了从早期错误中恢复。我们提出了 FlexSQL,一种文本到 SQL 代理,其核心设计原则是灵活的数据库交互:代理可以在推理过程中的任何时刻探索模式结构、检查数据值并运行验证查询。 FlexSQL 生成不同的执行计划来涵盖多种查询解释,根据任务以 SQL 或 Python 实现每个计划,并使用可以从代码级错误回溯到计划级修订的两层修复机制。在 Spider2-Snow 上,使用 gpt-oss-120b,FlexSQL 获得了 65.4% 的分数,优于使用更强、更大模型(例如 gpt-o3 和 DeepSeek-R1)的强大开源基线。当集成到通用 编码智能体(作为 Claude 代码中的技能)时,我们的方法比 Spider2-Snow 产生了超过 10% 的相对改进。进一步的分析表明,灵活的探索和灵活的执行共同有助于我们方法的有效性,强调灵活性作为一个关键的设计原则。我们的代码位于:https://github.com/StringNLPLAB/FlexSQL