BIRD-Interact
ICLR 2026 Oral | 交互式 Text-to-SQL 评测基准,通过多轮对话考察模型澄清需求与完成任务的能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
ICLR 2026 Oral | 交互式 Text-to-SQL 评测基准,通过多轮对话考察模型澄清需求与完成任务的能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
试想这样的场景:产品经理说"帮我看看这个月哪些城市的销售额下降了",却没有告诉你"下降"是指环比、同比还是绝对值下降,也没有说明统计口径是含税还是不含税。人类可以追问一句,但大模型呢?
BIRD-INTERACT 正是为回答这个问题而生——它不只是评测模型"能不能写对 SQL",而是评测模型"能不能像人类一样,在模糊需求中通过多轮对话逐步澄清并完成任务"。
Text-to-SQL 任务传统上被建模为"单轮输入-单轮输出":用户给一句完整的自然语言问题,模型生成一条 SQL。这与真实世界的业务场景差距巨大。
真实场景中,用户需求往往天然模糊,数据库 schema 庞大且充满业务隐语。一个优秀的 SQL 工程师,拿到需求后会先问"这个数据从哪张表取"、"我要不要过滤停单",而不是直接写 SQL 交卷。
BIRD-INTERACT 由 香港大学(HKU)与 Google Cloud 联合提出,论文《BIRD-INTERACT: Re-imagining Text-to-SQL Evaluation via Lens of Dynamic Interactions》已中 ICLR 2026 Oral(顶会口头报告,全球仅约 5% 录用论文获得此荣誉),代表 Text-to-SQL 评测从静态走向动态的重要范式转变。
BIRD-INTERACT 提供 600 个标注完整的真实任务,覆盖商业智能(BI)场景下的完整 CRUD 操作,每个任务都配有可执行的测试用例。Lite 版本提供 270 任务,数据集可通过 HuggingFace 下载。
每个任务的数据结构包含丰富的语义信息:
query:无歧义的基准查询amb_user_query:注入歧义的用户原始需求user_query_ambiguity:注入的具体歧义类型(知识歧义、非关键歧义等)sol_sql:Ground Truth SQL 解test_cases:验证预测 SQL 正确性的测试用例follow_up:标注的追问问题external_knowledge:与任务相关的外部知识c-Interact(会话式交互):被动模式,评测流程固定,模型按固定阶段与用户模拟器对话。先完成初始查询,再处理追问(P2 阶段),每个阶段有一次调试重试机会。该模式侧重考察模型澄清歧义的能力。
a-Interact(智能体式交互):主动模式,评测流程完全由模型驱动,模型自主决定何时询问、何时执行、何时终止。使用虚拟货币 bird-coin 约束模型行为,模型通过工具调用消耗 coin,需在有限预算内完成任务。该模式要求模型具备完整的 agent 规划能力,更接近生产级 Text-to-SQL 系统的实际行为。
在 Full 版本(600 任务)上,当前最强模型表现如下:
| 模式 | 冠军模型 | 归一化得分 | 平均成本/任务 |
|---|---|---|---|
| c-Interact | Gemini-2.5-Pro | 20.92 | $0.04 |
| a-Interact | GPT-5 | 25.52 | $0.24 |
即便是最顶尖的模型,两种模式的成功率也仅在 18%~24% 之间,说明该基准具有极高的挑战性,最强模型也只能完成约四分之一的任务。
项目代码库包含三个核心子模块:
1. BIRD-Interact-ADK(推荐使用):基于 Google Agent Development Kit (ADK) 的最新实现,采用三微服务模块化架构,通过 HTTP 通信,可分布式部署:
orchestrator/runner.py:并行评测运行器,支持 --mode 和 --concurrency 参数控制评测模式与并发度system_agent/(6000端口):ADK LLM Agent,内置工具集和回调机制,实现两模式的差异化行为user_simulator/(6001端口):两阶段函数驱动的用户模拟器,根据任务配置动态生成追问和澄清请求db_environment/(6002端口):SQL 执行与评测服务,使用 psycopg2 连接 PostgreSQL,支持任务级数据库隔离(每个任务独立数据库副本),SELECT-only 执行约束,Phase 1 快照用于 Phase 2ADK 版本核心依赖:google-adk>=1.0.0、google-genai>=1.0.0、fastapi>=0.110.0、litellm>=1.0.0(支持任意 LiteLLM 兼容 Provider)、sqlglot>=23.0.0(SQL 解析)。
2. bird_interact_conv:c-Interact 会话式交互的原始实现,包含完整的对话状态管理。
3. bird_interact_agent:a-Interact 智能体式交互的原始实现,包含 batch_run_bird_interact 批处理框架和实验配置。
4. evaluation/src/:跨数据库后端评测代码,支持 PostgreSQL、MySQL、SQL Server、Oracle 四种数据库,其中 PostgreSQL 为主流支持。
BIRD-INTERACT 提供了开箱即用的 Docker Compose 配置,大幅降低了环境搭建门槛。项目方已推送 5 个预构建镜像至 Docker Hub(shawnxxh/ 命名空间),无需手动编译数据库镜像。
Lite 版本(默认):
bird_interact_postgresql:18 个数据库,270 任务bird_interact_eval:评测执行环境Full 版本(--profile full):
bird_interact_postgresql_full:26 个数据库,600 任务启动命令简洁:
cd BIRD-Interact-ADK
docker compose up -d postgresql # Lite
docker compose up -d --profile full # Full
docker compose exec bird_interact_eval bash
cd /app/env
python check_db_metadata.py --host bird_interact_postgresql # 验证数据库加载
注意:Docker 启动过程中数据库初始化可能偶发错误(环境不一致导致),导致部分数据库加载失败从而拉低评测得分。项目方在 README 中特别提醒:评测前务必检查 Docker 日志,确认所有数据库正常加载后再运行评测。
BIRD-INTERACT 还提出了一个重要发现:Interaction-Time Scaling(ITS)Law。即随着用户耐心(可用交互轮次)的增加,模型性能持续提升。当交互性能超越模型的"理想单轮性能"时,说明模型满足 ITS 定律——这意味着模型具备了"通过对话持续改进答案"的能力,而非依赖一步到位的完美推理。
目前实验中只有 Claude-3-7-Sonnet 满足 ITS 定律,GPT-4o、Gemini 等模型均未达标。这暗示模型的交互持续学习能力存在显著差异,是未来模型优化的重要方向。
数据获取门槛:Ground Truth SQL 和测试用例不随公开数据发布,需发送邮件至 bird.bench25@gmail.com 申请自动下载,增加了评测复现成本。
Docker 环境一致性:数据库在不同环境下加载行为不一致,初始化失败可能导致异常低的评测结果,需要手动排查日志确认每个数据库正常加载。
评测成本:Full 版本每个任务平均成本 0.2~0.6 美元,完整评测 600 任务需要相当预算。
工具调用可靠性:a-Interact 模式依赖模型的函数调用(function calling)能力,不同模型的工具调用准确率差异显著,影响评测公平性。
BIRD-INTERACT 将 Text-to-SQL 从"单轮评测"推进到"多轮交互评测",填补了真实场景中模糊需求处理的评测空白,被 ICLR 2026 录用为 Oral 论文证明了其学术价值。其提出的 ITS Law 为理解大模型在长对话中的持续推理能力提供了新视角。
随着 GPT-5、Gemini-2.5-Pro 等顶级模型在该基准上仅 20~25 分的表现,这一评测体系预计将成为 Text-to-SQL 领域模型优化的重要靶点。对于 AI 开发者而言,该项目也提供了一个可直接使用的评测框架——通过 ADK 版本,只需配置 API Key 即可快速跑通评测流程。