PingCAP 唐刘:一个咨询顾问对 TiDB Chat2Query Demo 提出的脑洞时间:2022-06-03 00:39:24**导读** 近日,TiDB Cloud 发布了 Chat2Query 功能,在 TiDB Cloud 上通过自然语言提问,即可生成相应的 SQL,通过 TiDB Cloud 对上传的任意数据集进行分析。Gartner 也在一份有关 ChatGPT 对数据分析影响研究的报告中提及了 PingCAP 的 Chat2Query 产品。 本文分享了唐刘在展示 Chat2Query demo 过程中的一些思考。探讨了想打造一款好的产品,从用户角度出发的思考方式以及与用户交流的重要性:当我们向用户展示产品能力时,我们往往习惯站在技术的角度出发,然而当用户并不具备完备的相关技术背景时,我们需要换位思考,了解用户的工作流程和思维方式,才能真正让用户理解和接受我们的产品。 最近一段时间,一件非常让我自豪的事情就是我们在 TiDB Cloud 上面发布了基于 OpenAI 的智能数据探索功能 - Chat2Query。见到朋友,我都会非常开心地跟他们去推荐这个功能,跟他们现场演示如何使用,每当看到他们 「aha」 的表情,这个成就感还是挺强的。 ![1.gif](https://dev-media.amazoncloud.cn/c18aaaed96634caba51d211c9fd03bf7_1.gif "1.gif") 但是,我推荐的朋友几乎全是有技术背景的人,所以当我跟一位不懂技术的朋友进行推荐的时候,我才突然意识到,我们的这款产品离好看以及好用,还有很长的路要走。 因为我的朋友是一位咨询顾问,她对于世界 500 强的财务表报数据非常感兴趣。刚好,我手上有一份今年的财务数据,于是就开始给她演示如何在 Chat2Query 里面,智能对数据进行洞察。 **/ **啥,什么是 Database?** /** 于是,我先开始上传数据,到了导入数据的面板,我上传完成文件之后,我突然意识到一个很好玩的事情,而恰恰在同时,我的朋友问了一个问题也印证了这个事情。 ![2.png](https://dev-media.amazoncloud.cn/a692fadcbd7d4389b09b1a96966e299e_2.png "2.png") 因为我的朋友不太懂技术,更别提懂数据库了,于是她问了我一个看起来很傻的问题 - 「什么是 Database?」 对的,这个问题看起来非常的低级,什么是 Database?对于一个做了这么多年,用了这么多年数据库的我来说,这问题貌似很简单。但在那个时候,我突然明白,在我看来非常显然的一个单词,对于很多用户来说是完全不可理解的。也许有人会说,我的朋友压根不是我们产品的目标客户,没准是的,但从另一方面来说,有多少人会立刻理解我们在上图那个操作?或者我们能不能将上面那个设置的步骤变得更加的简单和好用? **/ **用户的心智模型** /** 于是我就跟我朋友讨论:“你期望如何来使用 Chat2Query?”我朋友回答道:“我是一个重度 Excel 用户,对我来说,我要做的就是上传 Excel 文件,然后我就能对这个 Excel 进行分析了。” 这里可以看到,我的朋友不知道什么是 Database,但其实她日常工作的 Excel,其实跟 Database 的概念是能联系上的,一个 Excel 就是一个 Database,而 Excel 里面的 Sheet 就是 Table。所以如果我朋友要用这个产品,一个更直观的方式就是她上传好一个 Excel 文件之后,我们默认的就按照这个文件名给她建立一个 Database,为 Excel 文件里面的每个 Sheet 建立对应的 Table,根本不需要暴露任何的 Database 和 Table 的概念。 所以一开始,如果我跟我朋友先从 Excel 探讨,用她之前的知识体系来做映射,没准她会更容易理解我们产品。如果一开始,我们就能很好的支持 Excel 相关的概念和操作,没准对我朋友就是一个替换 Excel 的首选了。 **/ **好看又要好用** /** 数据导入成功之后,我们进入到 Chat2Query,自然我知道,我的朋友不会使用,即使 get started page 里面已经说了可以使用 `--` 然后再带上指令,触发 AI 的功能,自动生成 SQL,但这个仍然是不直观。于是我就问我的朋友,你期望如何分析你上传的数据,我的朋友说的很直观,给我打开了 Google 的主页。朋友说到,一个产品,能打动她,一个很重要的事情就是好看以及简单,Chat2Query 整个的界面交互,让她是没有太多的意愿使用的,上手难度太高,也不好看。 对我朋友来说,她需要更加简单易用的交互界面,在她的认知里面,我们这个智能数据洞察的功能就应该跟 Google 一样,一个搜索框,问问题,得到答案,然后生成 Excel 给她做后面的分析。 **/ **用户多层需求** /** 我两继续讨论如何才能让她更好的使用 Chat2Query,毕竟我朋友是重度 Excel 用户,我们如何能给她更大的价值。我朋友想了想,如果 Chat2Query 能做到三层,那么将会很吸引她: > * 第一层 - 处理她上传的私有数据,例如多个 Excel 文件。相比于简单的 Excel 处理,Chat2Query 可以在成百上千的 sheet 中帮助她获得一些洞察。 > * 第二层 - 对她在 TiDB cloud 上的私有数据以及能与 PingCAP 在 TiDB cloud 上托管的公开数据集进行查询分析。 > * 第三层 - 她可以将她在其他服务商的账号密码给我们,让 Chat2Query 能在第二层的基础上对她在其他服务商的数据进行联合查询分析。 当我朋友跟我说这些的时候,我其实内心是很惊讶的。我最近在规划 TiDB Cloud 未来的技术架构方向,就是在思考通过构建一个弹性的计算引擎,以及数据 meta 的服务,来让用户非常方便的做到上面 3 层的操作。我非常高兴看到用户有类似的需求。 然后我的朋友又继续说到,你这个能不能有历史记录的功能,能将我之前的洞察结果保存下来,甚至有没有对比功能,对不同时间的查询结果进行对比分析。不过后来我们讨论到,这个没准在外面的工具做可能更好,所以 Chat2Query 最好要提供一个 API 服务出去。实话,我这个不懂技术的朋友能想到 API,以及对 API 收费,以及对接其他的 BI 工具,还是挺让我吃惊的 :-) **/ **写在最后** /** 这次与我的朋友的演示让我意识到了几点重要的事情: > * 真正试着站在用户的角度思考问题是很重要的。我们需要了解用户平常使用的工具和完成的工作,并理解他们的思维方式。 > * 产品不仅要好看,也要好用。这对研发工程师来说是一个巨大的挑战,但幸运的是,这个世界上有很多这样的产品,我们可以学习借鉴。 > * 用户是最好的老师,与用户交流能获得非常不同的对产品的洞察。 最后,我希望我的朋友能成为我们的标杆用户,她非常愿意接受这个角色。 BTW, 本文有一些文本使用了 ChatGPT 进行了润色。 最后,如果你想体验 TiDB Cloud + AI 的能力,欢迎点击尝试 [TiDB Cloud](https://tidbcloud.com/free-trial?utm_source=wechat&utm_medium=social),也希望收到更多来自大家的反馈。