写SQL效率提升300%!腾讯游戏基于AI+湖仓一体的数据体系实践
本文根据刘岩老师在〖2024 DAMS中国数据智能管理峰会-上海站〗现场演讲内容整理而成。(文末有PPT获取方式,不要错过)
作者介绍
腾讯游戏拥有将近二十年、700+款大型游戏的数据工作沉淀。复杂的业务环境下,我们每年需要处理数万个数据提取需求,SQL编写需要耗费大量时间和精力,如何提升效率成为一个关键问题。
本文介绍了腾讯游戏数据团队如何通过最新的大语言模型技术,通过构建「AI+湖仓」的数据体系,提升SQL编写效率的创新实践。通过这套技术方案,AI生成SQL的一次性准确率提升至89%,SQL代码编写效率提升300%。
一、AI要解决的问题不仅仅是写SQL
腾讯游戏是全球最大的游戏开发和发行平台之一,数据工作对于业务发展而言向来都至关重要,数据团队一直紧跟业务需求来做,通过建设数据中台用1%的资产支撑了80%的业务需求。近些年,随着腾讯游戏的快速增长,业务量越来越庞大复杂,业务对于使用明细数据进行数据分析和探索的需求越来越多,传统数据中台的资产建设方式遇到了挑战。
在实际的业务场景之下,现存游戏业务的数据挖掘/提取类需求每年有数万个,数据交付效率遇到瓶颈。如何进一步提升效率,更快更好地支持游戏业务,就成为了我们的重点工作。
AI技术的发展,让我们看到了新的可能性,我们开始思考如何使用AI技术来解决上述痛点问题。而经过大量的实践和探索,我们也进一步发现,要实现真正的AI赋能提效,我们不仅仅要让AI写出SQL,而是要搭建一个完善的数据工程平台和资产体系,让AI全面参与需求理解、资产体系、计算加速和持续运营的各个环节中。
二、基于「需求标准」的人与AI需求对齐
从业务出发,数据工作的第一个环节就是提出数据需求。在大语言模型诞生之后,如何写好需求的提示词(Prompt)一直是大家关注的焦点,好的提示词,能让AI交付结果的准确率有很大的提升。
在实际的业务场景下,每个需求方都有自己描述需求的习惯,我们很难通过培训确保大家都能够写出高质量的提示词。对此,我们做法是:基于业务经验总结一个完备SQL需求的标准,即「筛选」、「问题」、「结果」的三段式提问,并包括对「行业知识」的说明,在这个标准的基础上引入AI技术,通过需求Agent,匹配需求案例和行业知识,将需求整理和改写成标准的格式,确保人与AI在需求理解层面对齐。
另外为了降低业务使用门槛,通过需求Agent可以将标准化的Excel模版,转换成AI能理解的结构化需求,通过模版沉淀来保障AI理解需求的准确率。
三、从经典数据中台到AI资产体系
需求提示词写好之后,大模型能不能把SQL写对呢?这里就需要提到大模型交付准确率提升的关键:数据资产体系建设。
我们做了一些调研,目前在公共数据集(例如:Spider)下AI写SQL的准确率已经高达90分以上,基本能够达到人类的水平;然而在真实业务场景下,AI写SQL的准确率会断崖式下跌,例如,在模拟真实业务场景的BIRD数据集下只能做到 75 分左右。之所以会有这样的差距,是因为真实业务场景下的数据会有「大而脏的值」和「隐形知识」,且当SQL复杂时,大模型的生成SQL执行效率较低,无法满足实际使用需求。例如:按部门统计工资,而工资字段在原始明细数据是字符型的,存储的值为¥57,000.00,那样大模型就必须先将字符串转换成数字才能得到正确的统计查询结果。
然而,腾讯游戏实际业务场景的数据需求更加复杂,传统资产体系存在缺乏非结构化标准、建设滞后于业务需求、治理成本高等问题,不能支持大语言模型实现快速准确的交付数据需求。因此,我们将经典数据中台升级为「AI+湖仓」中台,打造「新一代AI数据资产」。
传统数据中台到新一代AI数据资产的升级
第一种是已有的物理资产,大模型可以直接使用指标来跟用户交互,这部分占大约 50%; 第二种是「没有指标,但有特征」的资产,大模型可以通过特征来生成指标满足用户的需求,这部分约占 40%; 第三种是「无特征」的、纯新的资产,往往需要用户来补充一些业务信息,再去交由大模型生成特征和指标,这部分约占 10%。
四、根据复杂度进行需求分解
五、基于湖仓一体的计算加速
六、可持续优化的工程平台