schemagate
一个面向text-to-SQL场景的表筛选工具,先用BM25、embedding、表名匹配等数学方法粗筛候选表,再通过RRF融合排序,可选调用LLM对候选表重新排序
时间轴 (近 90 天)
在 Spider 2.0-lite 的 205 道 BigQuery 题上,schemagate 的正确率只有 45.9%;Snowflake 部分尚未运行。
schemagate 以 Apache-2.0 协议开源,可通过 pip install schemagate 安装。
SQL 作用域检查曾将 WITH RECURSIVE 子句中的 CTE 名称 periods 误读为调用方无权访问的表,导致所有用户的递归查询被错误拒绝;该问题已修复并补上了测试。
在包含 366 张 ga_sessions_YYYYMMDD 日期分片表的数据库中,逐张提供表给模型会占满全部 12 个槽位且为随机日期,模型拒绝回答;将每个表族折叠成通配符表(ga_sessions_* 配合 _TABLE_SUFFIX 过滤)后,大多数拒绝消失。
多候选查询加多数投票再加一个裁判模型的组合,在半数题目上看起来有约 +3 分的提升,但在留出的一半题目上收益恰好是 0,而成本是单次调用的 5.5 倍。
作者表示,他所知 Spider 2.0-lite SQLite 子集上表现最好的公开 Agent 报告的是 57.8% Pass@1,且使用的是不同模型。
在提示词中注入两条Oracle专属规则后,首次尝试失败查询从694个降至85个。
64.5%的首次尝试准确率距离生产可用仍有距离,错误修复循环在实际部署中依然不可或缺。
开发者主动将修复后的67.6%与首次尝试的64.5%分开报告,并提交到UniQL排行榜(issue #2)。
在Oracle Free 23ai上使用UniQL评估器,schemagate + Gemini 2.5 Flash组合在加入错误修复循环后准确率达到69.9%,但该分数主要归功于修复循环而非模型本身能力。
还有 40 条时间轴事件
全部知识事实 (20)
schemagate 以 Apache-2.0 协议开源,可通过 pip install schemagate 安装。
50%待验证多候选查询加多数投票再加一个裁判模型的组合,在半数题目上看起来有约 +3 分的提升,但在留出的一半题目上收益恰好是 0,而成本是单次调用的 5.5 倍。
50%待验证在 Spider 2.0-lite 的 205 道 BigQuery 题上,schemagate 的正确率只有 45.9%;Snowflake 部分尚未运行。
50%待验证在包含 366 张 ga_sessions_YYYYMMDD 日期分片表的数据库中,逐张提供表给模型会占满全部 12 个槽位且为随机日期,模型拒绝回答;将每个表族折叠成通配符表(ga_sessions_* 配合 _TABLE_SUFFIX 过滤)后,大多数拒绝消失。
50%待验证作者表示,他所知 Spider 2.0-lite SQLite 子集上表现最好的公开 Agent 报告的是 57.8% Pass@1,且使用的是不同模型。
50%待验证一位开发者使用轻量模型Gemini 2.5 Flash搭配schemagate工具,在UniQL Oracle基准上首次尝试准确率从35.0%提升到64.5%。
50%待验证64.5%的首次尝试准确率距离生产可用仍有距离,错误修复循环在实际部署中依然不可或缺。
50%待验证在提示词中注入两条Oracle专属规则后,首次尝试失败查询从694个降至85个。
50%待验证schemagate的解决方案是:当目标数据库是Oracle时,在提示词中明确告知模型两条规则(表别名前不加AS、DATE/NUMBER等保留字作列名时加引号),其他数据库的提示词保持不变。
50%待验证在Oracle Free 23ai上使用UniQL评估器,schemagate + Gemini 2.5 Flash组合在加入错误修复循环后准确率达到69.9%,但该分数主要归功于修复循环而非模型本身能力。
50%待验证修复Bug后,schemagate使用Claude Sonnet 5.5跑完Spider-ACL全部19,624条记录,拒绝F1达到0.984。
50%待验证schemagate是一个位于LLM和数据库之间的中间层,只向模型展示用户被授权读取的表和列,并在任何生成的SQL执行前检查查询是否触碰了其他内容。
50%待验证论文中的系统使用的是2024-25年的模型,而本次测试用的是2026年的模型(Claude Sonnet 5.5),部分性能差距来自模型本身的能力提升。
50%待验证在Spider-ACL完整测试中,schemagate回答了1.8%的禁止问题,但读取未授权数据的记录为0/8,128。
50%待验证作者总结的教训是:自建测试集容易陷入‘你测的就是你想到的’盲区,外部基准测试的最大价值在于用未曾设想的边界条件来攻击系统。
50%待验证在试点从未触碰的600条记录上,schemagate的拒绝F1为0.986。
50%待验证schemagate 对每个生成的查询在执行前进行策略校验,移除这一步骤会使违规率翻倍。
50%待验证schemagate 作者指出其局限:仅测试了一个模型,提示词措辞是在 100 道 BIRD 问题上选定的;去掉这两个因素后分数基本不变(90.08)。
50%待验证在 Spider 数据集上,schemagate 与同模型(Claude Sonnet 4.5)得分持平,均为 93.0;论文在 Spider 上的最佳成绩来自 DeepSeek V3.2-Reasoning,达到 95.9。
50%待验证在 BIRD 数据集上,schemagate 的 AC-F1 达到 90.1,而论文中 13 个模型的最佳成绩为 88.1(该模型能看到完整 schema 和策略)。
50%