腾讯 DataXA内部实践 周树豪 腾讯云大数据智能分析Agent产品负责人 目录 01 内部实践背景及痛点 02 内部实践实现思路 03 内部实践落地挑战及解决思路 内部实践背景及痛点 分析门槛高 经营分析数据指标口径多且复杂,分析结论一般由专业的经营分析师人工解读后输出给各业务部门及老板,分析门槛高 需求响应时间长 如果有临时性的分析需求现有报表无法满足,则需要提需求让数据部门排期配置新的数据表和报表。这个过程往往需要天~周级别,需求响应时间长。 智能分析Agent内部实践背景及痛点 缺乏知识沉淀 不同分析场景的分析思路离散在各经营分析师脑海里,难以沉淀和复用 使用场景局限 原先经营分析系统由于逻辑较为复杂仅支持PC端如果在外需要临时查看数据很不方便 腾讯内部经营分析场景 成本等大量经营数据,各业务部门及老板需要 腾讯在售卖各类云产品时,产生了收入、利润、 在经营分析系统上查看经营数据报表,来了解经营情况 内部实践实现思路 搜索引擎 沉淀知识库 构建经营分析知识库,沉淀使用过程中遇到的业务黑话、计算逻辑、潜在分析思路等,让小 白也能复用沉淀知识快速进行数据分析 问答式分析小白都会用 自动化解读 总结数据情况并给出业务建议 内置业务归因模型 可一键定位指标波动根因 智能分析Agent实现思路:通过大模型实现对话式分析,大幅提升分析效率 通过大模型实时问数 用户提问后通过大模型实时生成查询语句并出数,解决临时需求多需要排期的问题 自动化解读和归因 通过大模型自动对数据结果进行解读和归因,输出分析结论,解决原先强依赖经营分析师人工解读,分析门槛高的难题 精简交互逻辑构建移动端 原先拖拉拽字段进行数据分析的方式优化成对话式分析,交互逻辑大大精简,构建移动端变得可能,能满足外出问数场景 内部实践落地挑战及解决思路 挑战1:复杂计算及方言适配问题 NL2SQL(旧方 案) Q示例:2024年10月腾讯云BI收入同比变化多少? 大模型直接生成 NL2DSL为主,NL2SQL为辅(新方案) Q示例:2024年10月腾讯云BI收入同比变化多少? 大模型先生成 SELECTDATE_FORMAT(`ftime`,'%Y-%m')AS`定账月`,年同比增长率(SUM(`shouldincome_after`))AS`收入(不含税)的同比变化率`FROM`CSIG经营数据`WHERE `prod_class4_name`IN('腾讯云BI')AND`ftime`='2024-10'GROUPBY`定账月`ORDERBY`定账月`ASCLIMIT10000 挑战: 维度:无指标:收入 计算方式:年同比 条件:产品名称=腾讯云BI、时间=2024年10月 亮点: BI系统再转换成SQL 1、复杂计算易出错:同环比等计算需要生成的SQL语句较为复杂,此时NL2SQL容易在时间转换函数、格式上出错; 2、SQL方言问题:经营分析数据存放在 Clickhouse里,而大模型生成标准SQL的准确率较高,转换成Clickhouse后就容易出错。 1、降低大模型生成难度,模型只需给出BI系统需要的元素,由BI系统转换成SQL再执行,大大提升了整体准确率; 2、大模型无需处理方言转换,直接复用BI系统兼容SQL方言能力; 3、如果需要基于数据表原始字段计算后得到新字段才可回答,大模型会生成SQL片段,塞入BI的计算字段内,例如表里有利润和收入时用户询问利润率,这种方案即有NL2DSL的稳定性,又兼顾了NL2SQL的灵活性。 挑战2:经营分析数据指标口径多,用户提问口语化严重 Q示例:腾讯云BI收入? 解决方案: 新增意图澄清模块,当问题存在时间、字段、取值不明确等情况时,主动触发让用户明确意图,而不是将模糊信息传递下去,让大模型去 挑战: 1、经营分析数据指标口径多,仅收入就有收入(含税)、收入(不含税)等10多种口径,大模型难以通过“收入”两个词判断用户究竟需要查询什么数据; 2、落地时发现用户的提问比想象中还口语化,容易缺失时间等元素,像示例问题模型不知道应该查询25年的收入还是24年的收入。 “猜测揣摩”用户意图 字段澄清 时间澄清 挑战3:经营分析业务黑话多 Q示例: 某某行业自研产品渗透占比如何?某某帮的消耗怎么样? 华北地区的收入是多少? 挑战: 1、“渗透占比”属于经营分析场景下的业务黑话,指的是不含税收入占比,但大模型很难理解正确; 2、“某某帮”这家公司,在数据表里的实际名称是另一个名字,但大模型事先并不知道便会生成“客户名称=某某帮”导致查不出数; 3、问“华北地区的收入”时,大模型会生成“收入区域=华北地区”的条件,但数据表里实际取值是“华北”,两边对不上导致查不出数据。 解决方案: 构建知识库,一方面用户可录入“渗透”、“掉量”、“损益情况”等业务黑话的解释,另一方面我们可以将客户别名等知识批量录入。 最后数据解读、波动归因等潜在分析思路也可沉淀进知识库,让小白也能复用沉淀知识快速进行数据分析 此外系统将自动将数据表的表头和枚举值信息作为知识提供给大模型,例如“华北:属于字段收入区域”,帮助模型加强对数据表的理解,解决查询语句出错的问题。 挑战4:用户权限不一,同样一份数据不同用户看到的数据结果不一样 挑战: 由于腾讯内部的经营分析数据十分敏感,需要严格做好权限控制,对于同一张数据表,不同用户能看到的数据范围不一,例如 1)不同部门老板只能看到自己部门的数据,腾讯云最高层能看到所有部门的数据; 2)不同字段敏感级别不同,高敏感字段只有部 分角色可看。 解决方案: 同一张数据表时,只能查看指定的数据行或者数据列。 智能分析Agent系统支持行列权限能力,可实现不同用户在查看 挑战5:用户不知道自己应该问哪张数据表 挑战: 经营分析场景下由于字段不同、时间聚合粒度不同,形成了多张数据表,不同分析主题需要使用不同数据表回答。 最开始我们让用户手动选择要对哪张表进行提问,但落地时发现,用户只知道自己想问什么问题,并不知道具体应该选哪张表问。因为数据表是由数据部门构建的,业务部门的用户并不清楚数据情况。 解决方案: 训练大模型根据用户提问、数据表名称、数据表备注、字段名称、字段备注等信息进行语义理解后,智能选表回答。支持选一张表或选择多张表关联后进行回答。 总结 内部实践落地情况: 目前智能分析Agent已在腾讯内部经营分析场景落地,各业务部门及老板可通过低门槛的对话方式问数,并由大模型自动对数据结果进行解读和归因分析,无需强依赖经营分析师,帮助腾讯内部大幅提升经营分析效率,降低开发成本。 小程序端体验 Thanks 感谢您的聆听