我们应该如何开发企业级 ChatBI 系统

一、ChatBI 并不是“AI + SQL”那么简单

最近大量企业开始尝试:

自然语言 → SQL → 查询数据库

很多团队认为:

只要:

  • 接入一个大模型
  • 提示词生成 SQL
  • 返回图表

就算完成了 ChatBI。

但真正落地后会发现:

这种方案几乎无法在企业级场景长期运行。

因为它会迅速遇到:

  • SQL 幻觉
  • 权限问题
  • 指标不统一
  • 数据口径不一致
  • 查询性能问题
  • Prompt 不可维护
  • 多轮对话失控
  • 数据越权
  • 大模型不稳定

所以:

ChatBI 本质上不是 AI 功能

而是:

“企业数据语义系统 + Agent 系统”


二、真正的 ChatBI 是什么

传统 BI:

人 → 拖拽报表 → SQL → 数据

ChatBI:

自然语言
    ↓
语义理解
    ↓
业务指标解析
    ↓
DSL
    ↓
Query Plan
    ↓
SQL/OLAP
    ↓
洞察分析

注意:

真正关键的是:

“语义层”

而不是 SQL。


三、企业为什么需要 ChatBI

企业 BI 最大的问题:

不是没有数据。

而是:

“业务不会写 SQL”

例如:

业务会问:

最近7天销量下降最快的品牌有哪些?

但技术系统看到的是:

SELECT brand_name,
       SUM(pay_amount)
FROM order_detail
WHERE ...

这里存在巨大的:

“业务语义鸿沟”

而 ChatBI 的核心价值:

就是:

“把业务语言转换成数据语言”


四、ChatBI 最大的误区

很多团队开发 ChatBI:

LLM → 直接生成 SQL

这是最危险的方案。

因为:

AI 不适合直接控制数据库

会出现:

  • 错误 SQL
  • 慢 SQL
  • 越权 SQL
  • 幻觉字段
  • 不存在的表
  • DELETE/UPDATE 风险
  • Prompt Injection

所以:

企业级 ChatBI:

永远不要让 AI 直接生成最终 SQL


五、正确的 ChatBI 架构

正确架构:

用户问题
   ↓
Intent Parser
   ↓
Semantic Layer
   ↓
DSL
   ↓
Query Planner
   ↓
SQL Builder
   ↓
OLAP Engine
   ↓
Visualization

六、为什么一定要增加 DSL 层

很多系统:

自然语言 → SQL

企业级系统必须:

自然语言
    ↓
DSL
    ↓
SQL

例如:

用户:

查询最近30天各品牌销售额

先转换:

{
  "metrics":[
    "sales_amount"
  ],
  "dimensions":[
    "brand"
  ],
  "dateRange":"30d"
}

然后:

系统再生成 SQL。

这样做的好处:

  • 更安全
  • 更稳定
  • 更容易治理
  • 更容易缓存
  • 更容易扩展

本质:

DSL 才是真正的 BI 语言


七、语义层才是核心竞争力

很多团队认为:

ChatBI 的核心是大模型。

实际上:

ChatBI 的核心是 Semantic Layer(语义层)

因为:

企业不会统一使用数据库字段。

例如:

业务叫:

销售额

数据库可能是:

pay_amount

甚至:

actual_amount

所以:

必须建立:

  • 指标体系
  • 维度体系
  • 数据模型
  • 业务词典

八、指标体系的重要性

ChatBI 必须建设:

指标中台

例如:

指标定义

{
  "code":"sales_amount",
  "name":"销售额",
  "expression":"sum(pay_amount)"
}

否则:

不同部门:

  • 财务
  • 运营
  • 市场

会得到不同结果。

最终:

AI 会彻底失控。


九、为什么 Agent 比 Prompt 更重要

很多团队沉迷:

Prompt Engineering

但真正企业级系统:

核心是:

Agent Workflow

因为:

企业查询不是一句话完成。

例如:

查询销量下降商品

系统需要:

  • 解析意图
  • 补充参数
  • 校验权限
  • 判断数据源
  • 选择指标
  • 生成执行计划
  • 查询缓存
  • 执行 SQL
  • 分析结果
  • 生成图表

这已经不是 Prompt。

而是:

“工作流系统”


十、ChatBI 本质是 AI Agent

未来 ChatBI:

不是:

聊天机器人

而是:

“数据分析 Agent”

例如:

Query Agent

负责:

  • SQL生成
  • 指标解析

Insight Agent

负责:

  • 异常分析
  • 趋势分析

Report Agent

负责:

  • 自动日报
  • 周报

Forecast Agent

负责:

  • 销量预测
  • 库存预测

十一、所有返回必须 JSON 化

这是企业级 Agent 的核心原则。

不要返回:

昨天销量最高的是 Apple

而应该:

{
  "intent":"query_top_sales",
  "result":{
    "brand":"Apple",
    "salesAmount":1200000
  }
}

因为:

系统后期需要:

  • Workflow
  • 审计
  • 缓存
  • 回放
  • 复盘
  • Agent协作

所以:

“结构化”比“自然语言”更重要


十二、为什么权限系统非常关键

企业数据:

最核心的问题:

不是查询。

而是:

“谁能看什么”

例如:

门店经理:

只能看自己门店。

财务:

可以看利润。

普通员工:

不能看成本。

所以:

ChatBI 必须集成:

  • 行权限
  • 列权限
  • 指标权限
  • 租户权限

十三、SQL 安全是核心问题

企业 ChatBI 最大风险:

就是:

AI 生成危险 SQL

所以必须:

  • 禁止 DELETE
  • 禁止 UPDATE
  • 禁止 DROP
  • 强制 LIMIT
  • 自动超时
  • SQL AST 分析
  • SQL 白名单

甚至:

建议:

AI 永远不要接触数据库账号


十四、为什么 OLAP 很重要

普通数据库:

并不适合复杂 BI。

因为:

ChatBI 天然会产生:

  • Group By
  • 多维分析
  • 大聚合
  • Drill Down
  • Window Function

所以:

建议:

  • ClickHouse
  • Doris
  • StarRocks

作为分析引擎。

而不是:

直接 MySQL 跑全量 BI。


十五、RAG 在 ChatBI 中的作用

很多时候:

AI 不知道:

  • 指标定义
  • 数据表含义
  • 企业术语

所以:

必须建立:

企业知识库

例如:

  • 数据字典
  • 指标文档
  • SQL案例
  • 业务术语

再通过:

RAG

增强大模型。


十六、为什么多租户是难点

SaaS ChatBI:

最大的风险:

数据串租户

所以:

必须:

  • 自动租户过滤
  • Prompt隔离
  • 向量隔离
  • Cache隔离

否则:

会产生严重数据泄露。


十七、未来 ChatBI 的发展方向

未来 ChatBI:

不会停留在:

查询数据

而会进入:

“自动经营分析”

例如:

系统自动告诉老板:

华东区域销量下降23%
原因主要来自杭州门店
库存积压增加15%
建议进行促销

这才是真正的:

AI Data Operating System


十八、未来最核心的能力

未来 ChatBI 的核心竞争力:

不是:

  • UI
  • 图表
  • Prompt

而是:

“企业语义理解能力”

包括:

  • 指标体系
  • 业务知识
  • Agent Workflow
  • 数据语义层
  • 权限体系
  • DSL体系

十九、总结

真正企业级 ChatBI:

不是:

ChatGPT + SQL

而是:

Semantic Layer
+ Agent
+ DSL
+ OLAP
+ Workflow
+ Security
+ Multi-Tenant

本质上:

ChatBI 不是聊天系统

而是:

“企业数据智能操作系统”

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐