AI 写 SQL 真的靠谱吗?腾讯游戏在 AI + 湖仓一体的实践
本文由腾讯游戏数据技术负责人刘岩撰写,介绍团队如何借助大语言模型和StarRocks,构建一个高效的湖仓一体+AI数据管理新范式。
腾讯游戏是全球领先的游戏开发和运营商,数据团队拥有十余年、700多款大型游戏的数据沉淀。每年要处理超过3万个数据提取需求,SQL编写耗费大量时间和精力。效率成了关键问题。
传统的人工服务模式在交付效率上已遇到瓶颈。随着AI技术发展,能否利用大语言模型(LLM)开发一套自助工具,让游戏业务团队快速高效地获取数据?这是团队探索的主要方向。
AI生成SQL在真实业务场景下的挑战
从调研来看,目前LLM在公共数据集(如Spider)上写SQL的准确率已经超过90分,基本达到人类水平。然而在真实业务场景下,准确率断崖式下跌——例如在模拟真实业务场景的BIRD数据集上,AI准确率只有65分左右,无法满足实际需求。
再看LLM技术的演进。以OpenAI为例,2022年11月底推出基于人类反馈强化学习(RLHF)的ChatGPT,2023年3月推出GPT-4.0提升复杂任务推理和多模态能力后,OpenAI就不再在基础模型上做进一步提升,而是聚焦工程化应用——Prompt工程、Agent、工具使用(RAG、函数调用)、更低的成本、更多的token。

(LLM技术演进路线图)
关键洞察是:AI写SQL要实现实际应用,技术路线不是训练更强大的LLM模型,而是通过工程化提升准确率。准确率不高的根本原因,不是AI写SQL能力不行,而是没有给大模型「完备的信息」。数据资产不完整、冗余混乱、行业及产品专用知识缺失,导致大模型对业务需求的理解出现歧义,无法交付准确结果。
因此,如何建设一套更先进的数据资产,给大模型提供更完备的信息,让AI更好地理解数据资产,就成了提升AI写SQL准确率的关键突破口。
基于AI+湖仓的数据资产体系
腾讯游戏在数据建设上有十几年经验。业务需求已从业务经营分析类的报表和看数,发展到精细化运营(明细数据)、归因分析(新指标和分层)、预测干预(算法实时处理)等深度需求。传统数据中台面临很大挑战:
- 逻辑模型自顶向下规划,物理模型自下而上建设,对新需求(后验指标)建设滞后,中台一直在追赶需求。
- 为满足新需求(后验指标),不得已建设临时表,后续合并到中台治理难度大,且持续治理的业务收益低。
- 数据中台解决了统一问题,但对于个性化、差异化、明细化的数据挖掘、归因、干预等业务创新支撑较弱。
腾讯游戏数据团队与StarRocks合作,将传统数仓建模转移到湖仓一体架构上,打造了基于AI+湖仓的「新一代AI数据资产」。通过使用语义层替代物理ADS/DWS层,能够快速配置新增数据集、指标、维度,并通过实时链路接入、透明加速等技术满足性能需求,实现快速响应用户后验需求和分析挖掘。

(传统数据中台到新一代AI数据资产的升级)
新一代AI数据资产模型架构下,底层接入部分由离线改为实时,减少离线数仓到OLAP的摆渡过程。用户可以直接使用实时的明细数据(而非传统的T+1结果数据)做进一步挖掘和分析,快速洞察数据背后的深层次问题。

(基于湖仓一体的技术架构)
语义层的语义资产被分为三种类型:
第一种是「已有看板」的资产,大模型可以直接用指标与用户交互,这部分约占70%。第二种是「没有指标,但有特征」的资产,大模型可以通过特征生成指标满足需求,约占20%。第三种是「无特征」的纯新资产,往往需要用户补充业务信息,再交由大模型生成特征和指标,约占10%。
这样一来,AI大模型可以直接交付数据结果,或者通过AI与人互动最终交付数据需求,实现资产自助交付的高效体系。在这个体系下,游戏项目组内不同团队的数据需求方,都可以通过AI生产和维护同一个特征库、指标库和同一份资产,让资产能够被AI和人理解,提升数据使用效率。

(AI+湖仓中台的运营)
这套「AI+湖仓中台」体系会产生大量运算。为确保低成本、高效率运行,团队基于StarRocks的异步物化视图查询改写功能和多种刷新机制,建设了成本效率优化引擎,将数据治理问题变成技术问题。效率优化引擎围绕热度、粒度、速度三个核心要素开展治理。对于高热度、慢速度的SQL,按照同粒度合并成优质资产,每个优质资产对应一个StarRocks异步物化视图。StarRocks可以自动判断是否复用物化视图中的预计算结果处理查询,如果可以,直接从相关物化视图读取预计算结果,避免重复计算消耗资源和时间。通过在数据湖之上构建异步物化视图,查询性能得到提升,同时省去了手动修改查询的麻烦。

新一代AI数据资产的应用
资产建设完毕后,接下来是开发一套AI自助化数据提取工具,解决实际业务问题。
首先,面对复杂的数据资产概念,团队引入了「本地专有模型」。大语言模型通用的知识在检索和推荐方面已经很完善,但针对企业通用知识、部门/项目知识、创造性知识——比如所支持的游戏业务品类众多、概念复杂——常规操作无法满足需求。「本地专有模型」就能更好地解决这些问题,通过知识图谱、语义理解、检索、排序等技术,帮助大模型理解数据资产,真正实现「数据资产不仅可以被人类理解,也可以被AI理解」的建设目标。

(专有模型技术架构)
其次,使用Agent多智能体架构,将一个Job(工作)分解成若干个Task(任务)。这些Task一部分由人类完成,一部分由AI完成,还有一部分需要人与AI协同完成。通过需求Agent,人类提出的数据需求,AI会辅助进行需求整理,并改写成AI能够理解的格式,消除AI理解需求的歧义,确保交付准确的数据结果。

以新一代AI数据资产为基础,通过通用LLM模型、本地专有模型、Agent多智能体架构,AI能力得到更好释放。在应用层面,借助AI能力可以实现资产检索、SQL编写助手、自助分析助手等工具,降低数据使用门槛,让数据离用户越来越近。

(系统技术架构)
在腾讯游戏内部,已落地推出问答式智能AI数据助手「uDataChat」。用户可以通过自然语言与AI交互,让AI生成SQL,自助提取所需业务数据。

(uDataChat在数据智能问答的应用)
这套工具已取得显著成效:数据平均交付时间由人工服务时代的2小时提升到0.33小时,用户自助交付率提升70%;资产复用率由70%大幅提升至77%,并具备快速、低成本、批量复制到其他游戏业务的能力;交付准确率由刚上线时的51%提升至89%,这一准确率已满足实际业务使用场景的需求。
未来展望
AI技术在数据工作上的应用仍有巨大潜力。腾讯游戏团队在持续探索:除了通过AI生成SQL提升数据获取效率,还在进一步尝试将「AI+湖仓一体」能力与更多工具和系统集成,与StarRocks共同探索挖掘AI潜力,用AI重构数据各个领域。同时也欢迎各行各业的伙伴来交流这方面的技术经验。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名