点击蓝字 关注我们

本文共计3901字 预计阅读时长12分钟
在自然语言到 SQL 转换(NL2SQL)方向,腾讯云联合复旦大学提出CYANSQL:Cluster-aware Yielded Augmentation for NL2SQL 方法。该工作围绕复杂查询场景下大语言模型 SQL 生成能力不足的问题,提出了一种基于 SQL 逻辑结构聚类的Test-Time Scaling框架,在主流评测数据集 BIRD 上取得 87.22% 召回率(比行业最佳提升近5%),和73.47%准确率,有效提升了 NL2SQL 系统在复杂逻辑组合、候选生成多样性和最终 SQL 选择准确性方面的表现。
该研究论文已被数据与数据管理领域国际顶会 ICDE 2026录用。ICDE与SIGMOD、VLDB并列数据与数据管理领域三大顶级学术会议,被中国计算机学会评为A类会议,近年论文录用率约为20%,代表了全球数据与数据管理领域的风向标。

复杂 NL2SQL 的核心挑战:模型并不总能“见过”正确的逻辑结构
近年来,大语言模型在 NL2SQL 任务中展现出较强能力,能够根据自然语言问题自动生成 SQL 查询。然而,在真实企业数据分析场景中,用户问题往往涉及复杂的逻辑组合,例如多表 JOIN、GROUP BY、HAVING、聚合排序、嵌套查询、条件过滤等。对于这类问题,模型是否能够生成正确 SQL,很大程度上取决于提示词中的示例是否覆盖了对应的逻辑结构。
传统 few-shot 方法通常根据自然语言相似度选取少量示例作为 demonstrations。但自然语言相似并不意味着 SQL 逻辑结构相似。一旦选取的示例没有覆盖目标问题所需的关键逻辑组合,模型即使具备较强语言能力,也可能生成错误 SQL。
例如,在一个需要“按城市统计注册人数并返回注册人数最低的前 5 个城市”的查询中,如果提示示例只包含简单 ORDER BY,而不包含聚合排序逻辑,模型容易生成错误查询;而当示例中包含 ORDER BY SUM(...) 这类结构时,模型更容易学习到正确逻辑并生成正确 SQL。这说明,示例中的逻辑结构对模型生成结果具有直接影响。
因此,“找语义相似的示例”在复杂SQL推理中可能并不奏效,如何在推理阶段让模型接触到更全面、更有代表性的 SQL 逻辑结构知识,才是解决问题的关键。
CYANSQL:通过结构聚类实现Test-Time Scaling
针对上述问题,CYANSQL 提出了一种新的思路:不再仅依赖少量语义相似示例,而是先对示例 SQL 的逻辑结构进行聚类,再在推理阶段从不同结构簇中并行生成候选 SQL,最后通过执行结果增强的排序模型选出最优结果。

CYANSQL 核心架构——结构聚类驱动的 Test-Time Scaling 框架
整体框架包含三个核心阶段:
第一,Cluster Build,结构聚类构建。CYANSQL 首先从示例 SQL 中抽取 SQL Skeleton,即保留 SELECT、FROM、JOIN、WHERE、GROUP BY、ORDER BY 等操作关键字,同时将具体表名、列名和值替换为占位符,从而得到一个只描述 SQL 逻辑流程的抽象结构。随后,系统将这些 SQL Skeleton 构建成类似前缀树的自动机结构,并借鉴 Huffman Coding 的思想,将结构相近的 SQL Skeleton 合并为若干聚类。每个聚类代表一种相对独立的 SQL 逻辑组合模式。
第二,Candidate Generate,多路径候选生成。在推理阶段,CYANSQL 为每个输入问题启动多条并行生成路径。每条路径只使用来自某一个结构簇的示例进行提示,使模型分别从不同逻辑结构视角生成 SQL 候选。这样,部分路径可能更擅长 JOIN 类问题,部分路径可能覆盖复杂聚合、GROUP BY、HAVING 或排序逻辑。通过这种方式,CYANSQL 能够显著提升候选 SQL 的多样性和召回率。
第三,Candidate Rank,候选排序选择。在得到大量候选 SQL 后,CYANSQL 会执行这些 SQL,并根据执行结果将其划分为不同等价类。系统保留若干最大等价类中的代表性 SQL,并将 SQL 语法、裁剪后的相关 Schema 信息以及真实执行结果共同输入排序模型,由排序模型选择最终 SQL。相比只看 SQL 文本,执行结果能够提供更加直接、明确的判断信号,帮助模型区分语义相近但结果不同的候选查询。
实验结果:BIRD 数据集87.22% 召回率
在主流 NL2SQL 评测数据集 BIRD development set 上,CYANSQL 达到 87.22% Recall比行业原最佳提升近5%,同时Execution Match accuracy达到73.47% 。
其中,Recall 衡量的是生成候选集中是否至少存在一个正确 SQL。高召回率表明,基于结构聚类的Test-Time Scaling策略能够有效扩大模型对不同逻辑组合的覆盖范围,使系统在候选生成阶段获得更高的上限。随后,通过执行结果增强的排序模块,系统能够从大量候选 SQL 中进一步筛选出更可能正确的最终答案。
消融实验也进一步验证了各模块的有效性。去除 SQL 修订模块后,准确率和召回率均出现明显下降;去除聚类机制、改用固定示例后,召回率下降接近 5 个百分点,说明基于 SQL Skeleton 的结构聚类是提升逻辑覆盖能力的关键;在排序阶段,去除执行结果或 Schema 裁剪也会带来性能下降,而完全去除排序模块、仅选择最常见执行结果,则会导致更明显的准确率损失。这些结果说明,CYANSQL 的生成多样性和执行增强排序机制共同推动了整体性能提升。
持续探索:从 VLDB 到 ICDE,连续两年入选数据与数据管理领域国际顶会
这并非腾讯云大数据团队首次在 NL2SQL 方向取得国际学术突破。腾讯云大数据团队从2024年开始布局NL2SQL、NL2Code和RAG等AI重点领域;在2025 年,团队提出的"数据内容感知"设计理念即被数据与数据管理领域国际顶会 VLDB 接收——该设计可无缝集成到主流 NL2SQL 系统中,最高将查询执行准确率提升 18.3%;同时该能力也跟云产品EMR、DLC、ES和TCHouse做深度集成,让用户可以通过自然语言轻松完成数据任务开发、数据科学以及交互式分析等任务。
从"数据内容感知"到 CYANSQL 的"结构聚类 × 推理时扩展",团队在 NL2SQL 方向连续两年获 VLDB、ICDE 国际顶会收录,方法路线持续演进,体现了在 AI Native 大数据核心能力方向的系统性投入,目前团队在持续攻克大数据场景下需要复杂推理的Agent for Data System 的各类挑战。
腾讯云数据分析智能体(TCDataAgent)在NL2SQL权威评测中表现不俗:
Bird 榜单排名位列全球第三、国内第一(2025年6月)
Spider 2.0-Snow 榜单排名位列全球第一(2026年2月)
面向企业级智能数据分析,推动 AI Native大数据平台能力演进
NL2SQL 是企业智能数据分析的重要入口。随着企业数据规模持续增长、数据模型日益复杂,真实业务场景中的数据分析问题往往不再是简单单表查询,而是涉及复杂的业务逻辑、跨表关联、多层聚合和结果验证。如何让自然语言查询系统稳定生成正确、可执行、符合业务语义的 SQL,是 AI Native 大数据平台和智能分析系统面临的核心挑战之一。
CYANSQL 从“Test-Time Scaling”的角度,为复杂 NL2SQL 提供了一种新的技术路径:通过结构化组织历史示例,在推理阶段系统性增强模型对 SQL 逻辑组合的覆盖能力;同时结合执行反馈和排序模型,提高最终 SQL 选择的可靠性。这一技术路线已在TCDataAgent中落地应用——其NL2SQL 能力由 Test-Time Scaling 与排序模型协同强化,大幅提升自然语言取数精度。
CYANSQL 的研究突破,与腾讯云大数据 AI Native 产品架构演进同频。2026 年腾讯云大数据产品架构演进,聚焦打造数据和系统智能、分析与 AI 融合计算及多模态数据湖,实现从 AI Ready 到 AI Native。 在数据和系统智能层,TCDataAgent、TCInsight 等产品把大模型能力前置到数据消费入口;在分析与 AI 融合计算层,EMR、DLC、TCHouse 系列与 ES 等产品支撑分析、AI 计算与搜索三类核心场景;在底层,多模态智能数据湖 TCLake 提供面向多模态数据的统一存储与目录底座。CYANSQL 等前沿研究,在数据和系统智能层强化产品的自然语言交互能力,与全栈产品矩阵协同,帮助企业以更自然、更高效、更可靠的方式释放数据价值。
未来,研究团队将继续围绕复杂 NL2SQL、候选排序、执行反馈、推理成本优化等方向开展深入探索,进一步提升自然语言数据分析系统在真实企业场景中的可用性、准确性和可扩展性。

腾讯云大数据团队专家参与ICDE 2026线上答疑
END
关注腾讯云大数据╳探索数据的无限可能
往期精彩



求点赞
求分享
求喜欢