这两年,AI技术越来越成熟,在很多场景上给不同的岗位提供了大量的生产力。 但是作为数据行业从业人员,其中有个场景我想泼一下冷水。 比如被讲得很热的ChatSQL。
接个大模型,挂上数据库,做个对话框,让业务一句话取数,仿佛传统 BI 的门槛一下子就要被抹平。
这种想象不是完全没有根据。只要场景足够干净,问题足够标准,今天的模型确实已经能生成一段相当像样的 SQL,甚至把结果也答得像模像样。
但我对 ChatSQL 的判断一直比较克制。不是因为它没用,而是因为它在企业里真正要解决的,从来都不是"写出一条 SQL"这么简单。
一,ChatSQL 最难的不是生成,而是语义
很多人第一反应是:模型还不够强,等下一代就好了。
这个判断的问题在于,它把 ChatSQL 的核心难点理解成了生成能力。
可在企业环境里,模型最先撞墙的地方往往不是不会写 SQL,而是不知道你们公司到底在说什么。
“活跃客户"怎么算?
“新增付费用户"包不包含试用转正?
“业绩下滑"看收入、利润,还是回款?
这些问题本质上都不是自然语言理解问题,而是业务语义问题。模型可以把一句话翻成查询,但它翻不了一家企业内部本来就没有统一好的口径。
所以 ChatSQL 如果一上来就做成"人话转 SQL”,最后大概率不是输在模型,而是输在语义基础太薄。
二,语义层很重要,但它不是银弹
讲到这里,很多团队会自然转向另一个答案:那就建语义层。
这个方向没错,但也很容易被误解。
语义层的价值在于,把常见指标、维度、实体关系和口径规则结构化,让模型不必每次从数据库字段里重新猜业务世界。没有这层东西,系统几乎很难稳定。
但语义层本身不是一个轻巧组件,它更像是一种治理成果的交付形式。
换句话说,语义层不是补丁,而是地基的外化。
如果企业本来就没有统一指标、没有稳定口径、没有明确的责任边界,那语义层也只是把混乱包了一层更漂亮的壳。它让问题显得更工程化,但并不会自动把问题解决。
所以我更愿意把它理解成入场券,而不是终局方案。没有它,很难上线;只有它,也过不了关。
三,Demo 证明不了产品成立
ChatSQL 最容易骗人的地方,就是 Demo 总是很好看。
因为 Demo 里的问题通常都被精心挑过:定义清楚,范围有限,口径提前对齐,数据表也知道该怎么连。这样的条件下,模型表现出色并不奇怪。
但产品成立的标准完全不是这个。
真正的用户问题通常带着模糊、跳跃和上下文缺失。很多人问的不是一个可以直接翻译的问题,而是一个需要先被澄清的问题。
比如:“最近业绩下滑的团队有哪些?”
一个靠谱的分析师听到这句话,第一反应不会是立刻写 SQL,而是先追问。最近是多久,业绩看什么,下滑按什么基线,异常值要不要去掉,外包团队算不算。
也就是说,真实分析过程本来就不是一次翻译,而是一段澄清和收敛的过程。
而大多数 ChatSQL 产品,目前只接住了"生成查询"这一步,却没有接住分析师原本承担的职责:澄清、解释、回退、修正、多轮一致性。
所以 Demo 证明的是模型有翻译能力,不等于产品已经具备交付能力。
四,ChatSQL 最脆弱的地方是信任,不是准确率均值
很多讨论喜欢问:“准确率做到 80% 多,能不能上线?”
这个问题本身问得就有点偏。
如果 ChatSQL 只是给分析师自己做探索,用来找方向、提假设、少写点重复 SQL,那么它不需要像财务系统一样严苛。因为分析师本身有判断力,答偏了也知道怎么纠回来。
但如果它要直接进入经营分析、财务对账、审计追责这种高责任场景,标准就完全不同了。
这些场景里,决定系统能不能活下来的,不是平均准确率,而是关键问题能不能稳定答对,答错了能不能被及时发现,发现之后能不能追溯。
因为用户对这类系统的信任建立得很慢,崩塌得却很快。十次答对未必能让人真正依赖它,但一次关键错误,足以让整个部门彻底弃用。
ChatSQL 最大的风险不是答不出来,而是一本正经地答错。
五,ChatSQL 不是一个技术试点,而是一个持续运营的数据产品
很多企业做 ChatSQL 的方式,像是在做一个 POC:找模型、接数据库、配 prompt、做验收,然后宣布上线。
但 ChatSQL 一旦认真做,就会立刻把过去藏在后台的数据治理欠账暴露出来。
传统 BI 时代,很多口径分歧、命名混乱、字段脏乱,其实也是存在的。只是这些问题往往被分析师、报表开发和人工校验挡在了后台,用户看到的是被处理后的结果。
ChatSQL 把这层遮蔽拿掉了。用户直接问,系统直接答,中间没有人替你翻译,也没有人替你兜底。
于是过去那些可以在后台被消化的问题,都会以前台事故的形式爆出来。
所以它根本不是一个"把大模型接上去"就能结束的技术项目,而是一个需要长期维护的数据产品:
- 需要持续补口径
- 需要持续收 bad case
- 需要持续修澄清策略
- 需要明确谁对答案负责
这些活都不性感,但决定了系统到底是不是活的。
六,ChatSQL 更适合做窄,不适合一上来做总入口
我对 ChatSQL 最强烈的一个看法是:它更适合从窄场景切进去,而不是一开始就被定义成"什么都能问的智能分析入口”。
原因很简单。你一旦把范围开到全公司、全业务域、全场景,就等于同时放大了语义复杂度、维护成本、错误风险和责任压力。
而企业里真正容易做成的,往往是这些场景:
- 一个明确业务域
- 一批高频、模式化的问题
- 一组相对稳定的用户
- 一条清楚的责任边界
比如只做销售分析,只做财务查询,或者只先给分析师和运营自己用。先把可信度、澄清机制和维护流程做起来,再慢慢扩大边界。
不是因为格局不能大,而是因为很多团队一开始就把格局做得太大,最后反而连最小闭环都没做出来。
最后
我不怀疑 ChatSQL 有价值。
它一定会替代掉一部分重复、机械、低附加值的取数和分析动作,也会逼着更多企业重新正视自己的语义治理、指标体系和分析流程。
但它真正考验的,从来都不是模型能不能把一句话翻成 SQL。
它考验的是:企业有没有能力把一句模糊的人话,落成一个长期可信、边界清楚、责任明确的分析服务。
如果没有这层基础,ChatSQL 很容易变成一个会写 SQL 的演示系统。
如果有,那它才有机会从一个新奇入口,变成一个真正能用的产品。