题目
如何设计自然语言查数 Agent,处理字段歧义、业务口径和 SQL 执行权限?
答案
先建立可查询的数据目录和业务指标定义,包括表关系、字段含义、金额单位、时区及常用口径。用户问“销售额”,应明确是下单额、支付额还是扣除退款后的净额。
Agent 先识别指标、维度和时间范围,缺少关键条件时澄清,再根据受控 Schema 生成查询。将生成结果解析为语法树,限制允许的语句、表、列和函数,不能仅检查 SQL 是否以 SELECT 开头。
使用只读账号、行列权限、超时、结果行数和资源限制。用户权限由数据库或服务端强制落实,不能让模型自行生成全部权限条件。

执行后检查空值、重复连接和汇总粒度,必要时进行交叉校验。回答说明口径、时间范围和数据更新时间,并附可审查的查询依据;计算由数据库或程序完成。
