BIRD是文本转SQL(text-to-SQL)领域真正被认真比较的基准:1,534道开发集问题,覆盖11个真实数据库,按执行准确率打分,另有一套只有BIRD团队能跑的隐藏测试集。本周我把schemagate在完整开发集上跑了一遍,并提交了测试集。
开发集全部1,534道题,用BIRD自己的评测器打分:执行准确率77.12%,其中简单题80.97、中等题71.34、挑战题71.03,模型用的是Claude Opus 5.5。
这个数字有意思的地方在成本。每道题的处理链路是:
- schemagate先反射数据库结构,挑出问题需要用到的表;
- 模型只看到这些表的DDL和BIRD的列注释;
- 模型写出一条查询;如果SQLite报错,它看到错误后修正——1,534道题里只发生过一次。
也就是每道题一次模型调用,约2,100个提示词token,没有候选生成、没有投票、没有智能体循环。主榜顶部的系统(测试集82.95)通常每道题要花5到20次调用。这次提交测试集,就是想看一次调用在隐藏测试集上能落在什么位置;BIRD对基于API方法的处理周期是1到5天,无论结果如何我都会公布核实后的数字。
对比之前有三件事值得知道:
- 同一份代码重跑,Mini-Dev上第一次是81.00,第二次是80.20。Opus每次运行并不确定,单次数字应当按±1来看。
- BIRD开发集存在已知的标注错误(Jin等人在VLDB 2026发现Mini-Dev约一半参考答案有问题)。所有提交都按同一套答案打分,所以排名仍然成立,但绝对数字比看上去要软。
- 开发集和Mini-Dev的榜单是自报的。我们在Mini-Dev上的成绩(SQLite / PostgreSQL / MySQL分别为81.0 / 72.6 / 72.4,均高于各自当前第一名)放在PR #251里等待维护者处理。测试集是唯一由BIRD自己跑的部分。
为什么要做一个只调一次调用的系统?因为schemagate的目标不是榜单,而是保证调用方永远看不到自己无权读取的表,也永远不会有一条碰到这类表的查询被执行。在访问控制类基准(RBAC Text-to-SQL、Spider-ACL)上,它保持着已发表的最好结果,8,128条查询中零次未授权读取。BIRD这个数字说明,这层控制没有在准确率上付出代价。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.