系统目标
解决“问得准、算的对、权限安全、结果可解释、业务口径一致”
整体架构
┌──────────────────────┐
│ 用户自然语言 │
│ “本月华东销售额多少?” │
└──────────┬───────────┘
│
▼
┌──────────────────────────┐
│ AI 问数 Agent │
│ │
│ 意图识别 / 任务拆解 / 规划 │
└────────────┬─────────────┘
│
┌───────────────────┼──────────────────┐
▼ ▼ ▼
┌────────────┐ ┌────────────┐ ┌────────────┐
│ 语义理解层 │ │ 数据资产层 │ │ 权限安全层 │
│ │ │ │ │ │
│ 指标识别 │ │ 表/字段 │ │ 用户权限 │
│ 实体识别 │ │ 指标库 │ │ 行权限 │
│ 时间识别 │ │ 数据血缘 │ │ 列权限 │
│ 口径识别 │ │ Schema │ │ 脱敏 │
└──────┬─────┘ └──────┬─────┘ └──────┬─────┘
│ │ │
└───────────────────┼──────────────────┘
▼
┌──────────────────────┐
│ Query Planner │
│ │
│ 查询计划 / Join规划 │
│ 聚合 / Filter / 时间 │
└──────────┬───────────┘
▼
┌──────────────────────┐
│ NL2SQL Agent │
└──────────┬───────────┘
▼
┌──────────────────────┐
│ SQL Validator │
│ │
│ SQL AST / 类型检查 │
│ 权限检查 / 风险检查 │
│ 成本检查 / 语法检查 │
└──────────┬───────────┘
▼
┌──────────────────────┐
│ Query Executor │
│ │
│ Trino / StarRocks │
│ ClickHouse / DW │
└──────────┬───────────┘
▼
┌──────────────────────┐
│ Result Analyzer │
│ │
│ 统计分析 / 趋势 / 异常 │
└──────────┬───────────┘
▼
┌─────────────────┼─────────────────┐
▼ ▼ ▼
数据表格 图表 AI结论
“销售额1.28亿” 柱状图/折线图 “同比增长12%”
系统核心:数据语义
例如:
今年华东地区销售量增长如何?
人理解的是:
1 | 今年 |
但数据库可能是:
1 | dw_order |
模型必须知道:
1 | 销售额 |
因此需要建立:
1 | Semantic Layer(语义层) |
这是整个系统的核心资产。
建立核心语义层
最后更新: 2026年09月10日 11:32