A Semantic-Layer-Mediated Agent for Natural Language to SQL over Heterogeneous Enterprise Databases
AI 深度解读
背景
自然语言到 SQL(NL2SQL)是让业务人员通过自然语言直接查询数据库的关键技术。然而,当前 NL2SQL 的研究大多停留在学术基准(如 Spider)上,一旦落地到真实的企业级数据库,性能往往会出现断崖式下跌。
真实的企业数据库环境远比学术基准复杂和恶劣:物理表数量动辄数百,充斥着晦涩难懂的列名(如 c1、is_vld);底层数据仓库和数据库的 SQL 方言各异(如 Snowflake、BigQuery 的语法差异);且实际业务查询往往涉及复杂的嵌套聚合、时序推理和多表连接。传统的“端到端直接生成 SQL”的模型在面对这种混乱的物理模式和异构方言时,极易产生幻觉或语法错误,难以满足企业级应用的严苛要求。
核心内容
针对上述痛点,本文提出了一种语义层介导的 NL2SQL 智能体。其核心设计理念是将语义意图与物理 SQL 执行解耦,不再让模型直接面对原始且混乱的数据库 Schema 生成 SQL,而是引入一个经过人工策划的“语义层”作为中间媒介。
该系统的核心架构与工作流如下:
- 语义层与中间表示 (SMQ):系统构建了一个屏蔽底层物理表复杂性的语义层。智能体在推理时,不直接生成 SQL,而是生成一种紧凑的中间表示——语义模型查询。SMQ 聚焦于业务语义,而非底层的物理表连接和方言细节。
- 确定性编译器:SMQ 随后会被一个确定性的编译器翻译成特定方言的物理 SQL。编译器提供的是经过验证的 SQL 构建块,智能体只需将这些构建块组合成最终查询。这种机制确保了生成的 SQL 在语法和结构上的绝对正确性,避免了模型直接生成代码时的随机性。
- 受限的思考-行动循环:智能体采用“思考-行动”循环工作流,但其行动空间受到严格约束,只能在语义层提供的合法操作和 SMQ 构建块中进行选择,从而大幅降低了决策的复杂度。
- 多后端支持:系统支持 SQLite、BigQuery 和 Snowflake 三种主流数据库后端,证明了其在异构企业环境中的适配能力。
在评估阶段,该系统集成了 Gemini 3 Pro 模型,并在包含 547 个任务的 Spider2-snow 基准测试上取得了 94.15% 的执行准确率。这一成绩在官方排行榜上排名第三,且大幅超越了仅依赖原始 Schema 的方法
查看原文 →arxiv.org
