生产级 Text-to-SQL 难题:执行成功但语义错误的 SQL 怎么救

Fun-Following-1723 · reddit · 2026-10-15

一位开发者在构建支持 PostgreSQL、MySQL、SQL Server 的 Text-to-SQL agent,流水线为:解析 schema → LLM 生成只读 SELECT → 校验只读 → 执行失败时把报错和 schema 回传 LLM 重试一次 → 汇总结果。核心痛点是语义错误:比如用户问「购买总量最多的曲目」,模型生成 COUNT(invoicelineid) 而非 SUM(quantity),两条 SQL 都能成功执行,仅靠执行报错触发的重试机制完全无法发现。作者列出了正在考虑的对策:

并希望了解实际部署过此类系统的团队如何评估这些方法、如何权衡准确率与延迟/成本。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →