AI与数据库(Text-to-SQL)
Text-to-SQL还没到能完全替代DBA的地步。大模型写简单查询很溜,一遇到多表连接(Join)、子查询、窗口函数就开始胡编乱造。直接把数据库权限开放给AI?那是删库跑路的捷径。
AI写SQL就像个懂语法但不懂业务的外包程序员。

- 你让他“查下销售额”,他写了个 SELECT * FROM sales。
- 你不知道他有没有过滤“测试数据”,有没有排除“退货订单”,有没有关联最新的“汇率表”。
- 风险:他写的代码能跑通,但结果是错的,你还信了。
中间层(Semantic Layer)必不可少。
- 不要直连:不要让AI直接生成SQL执行。先生成SQL,再由人工或规则引擎校验,或者让AI生成伪代码,由确定性代码转译成SQL。
- Schema注入:只给AI必要的表结构注释,隐藏敏感字段。
- Few-Shot增强:在Prompt里放入几个“标准查询示例”,教它公司的命名规范和业务逻辑。
- 工具推荐:使用 Vanna.ai,它专门用于训练RAG+SQL,能把历史准确查询作为上下文喂给模型,大幅提高准确率。
文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有