韩国科学技术院(KAIST)研究团队开发出一项文本转SQL修复技术。当AI生成的数据库查询语句出现错误时,系统无需从头重写整条SQL,只需定位并修复出错片段即可继续执行。
KAIST于4日表示,计算机学院Minsoo Kim教授团队发布了“SafeQL”。该技术面向将自然语言问题转换为SQL(Structured Query Language,结构化查询语言)的场景,可对生成过程中出现的错误进行分步修复。
近年来,文本转SQL应用持续升温。AI可以把“去年卖得最多的商品是什么”这类自然语言问题转成SQL,再从企业的销售、客户和库存等数据库中检索答案。
不过,在实际使用中,AI生成的SQL常会出现引用不存在的表或字段、连接条件错误、关联关系缺失等问题,导致语句无法执行。以往遇到这类报错,通常需要将整条SQL重新交给大语言模型(LLM)生成;但反复重写不仅可能引入新的错误,也会增加时间和调用成本。
SafeQL的做法是,不重写整条SQL,而是结合数据库返回的错误信息和实际存储内容,定位问题后仅修复出错部分。其可处理的错误类型包括不存在的表或字段、缺失的关联关系、错误的函数调用以及检索值错误等,并按步骤逐项修正。
在具体机制上,研究团队引入了“安全查询空间”(Safe Query Space)。在多个修复候选中,系统会优先检查与原始AI生成SQL最接近的候选查询,并提前剔除类型不匹配或相关性较低的候选,以提升修复效率、缩短处理时间。
据介绍,SafeQL已集成至开源数据库管理系统PostgreSQL内。只有在局部修复难以解决问题时,系统才会重新调用LLM,从而减少不必要的额外调用。
研究团队随后通过国际文本转SQL基准BIRD和Spider对性能进行了验证。结果显示,在BIRD测试中,SafeQL对初始SQL执行报错的修复率最高达到87.4%;与既有方式相比,令牌消耗最高减少15.1倍,修复耗时最高缩短29.6倍。在Spider测试中,其执行准确率达到91.7%。
研究团队预计,SafeQL可应用于企业级AI Agent、自然语言数据分析、商业智能以及数据分析Copilot等场景。
Minsoo Kim表示,企业要让AI真正承担实际业务,关键在于能否准确找到所需数据。SafeQL有望同时降低AI错误率、成本和处理耗时。
本项研究由KAIST计算机学院研究员Geonho Lee担任第一作者,Minsoo Kim担任通讯作者。相关成果将于在美国波士顿举行的数据库领域国际学术会议VLDB上发表。