一次提问的完整链路
1
检索语义
问题发出后,第一步不是写 SQL,而是在你的数据语义里检索:表结构、字段备注、业务文档、技能、历史 SQL。界面上对应查看数据表、搜索字段 / 表、查找历史 SQL、读取技能这些工具调用。
2
补齐口径
如果问题缺时间范围、粒度或指标定义,且智能体开启了用户澄清,会先向你反问(界面上表现为一次向用户提问的工具调用)。不开启澄清时,它会自行按已有语义做合理假设,并在结论里说明。
3
生成并校验 SQL
生成的 SQL 会先过校验:只允许读,拒绝写操作、DDL 和
SELECT *。同时在这一步注入权限——- 行级过滤条件直接拼进 WHERE
- 你不可见的字段从查询里排除
- 训练样本的召回也在检索阶段就按可见表过滤
4
执行并返回
SQL 交给数据源执行。结果落成数据制品,界面上显示为查询结果,并给出行数与列数。需要图表时会调用生成图表,需要复杂计算时会调用执行 Python。
5
记录来源
结果里保留本次实际执行的 SQL 和使用的数据源,所以你可以展开核查,也可以改条件重跑。
对象模型
权限分三层
行过滤只对允许类策略生效;拒绝类策略下不允许配行过滤。策略按精确匹配、前缀、后缀、包含四种方式匹配表名。
数据语义是准确率的来源
AskTable 不认识你的业务,它靠这几样东西理解“销售额”“活跃用户”指什么:
所以口径不对时,改数据语义比改问题更有效。
边界
- 只读。 不执行写操作、DDL,不支持
SELECT *。 - 不编数字。 涉及具体数据的问题必须由工具调用产生结果;工具失败会如实报错。
- 不跨项目。 所有资源都在项目内隔离。
- 私有部署可完全离线。 模型也可以走内网自建服务,数据不出域。
