← 最新论文
🤖 AI

Agent-Agnostic Evaluation of SQL Accuracy in Production Text-to-SQL Systems

本文介绍了 STEF,一种与模式无关的评估框架,它通过从自然语言输入和生成的 SQL 中生成可解释的准确率分数,无需数据库模式或真实查询,即可实现对 Text-to-SQL 系统的持续、生产级监控。

原作者: Taslim Jamal Arif, Kuldeep Singh

发布于 2026-05-01
📖 1 分钟阅读☕ 轻松阅读

原作者: Taslim Jamal Arif, Kuldeep Singh

原始论文根据 CC0 1.0(http://creativecommons.org/publicdomain/zero/1.0/)发布到公有领域。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你有一个非常聪明的机器人助手,它能听懂“人类语言”(例如“给我看去年的销售数据”),并将其翻译成“数据库语言”(SQL 代码),以便从公司的记录中提取信息。

这篇论文要解决的核心问题是:当机器人在真实公司为真实人类工作时,你如何知道它是否表现良好?

旧方法:“答案键”问题

过去,为了测试这些机器人,研究人员采用了一种类似用“答案键”批改数学试卷的方法。

  • 场景:你向机器人提出一个问题,它给出一个答案,然后你将该答案与人类专家编写的“黄金标准”答案进行比对。
  • 缺陷:在现实世界中,你无法为每个客户提出的问题都准备一份答案键。此外,公司的数据库通常是保密的、不断变化的,或者过于复杂,无法与测试团队共享。
  • 结果:一旦机器人被部署到真实的办公室中,没人知道它是否随时间推移而表现变差。这就像驾驶一辆速度表坏了的汽车;在你撞车之前,你根本不知道是否超速了。

新方案:STEF(“智能翻译”检查员)

作者创建了一个名为 STEF(Schema-agnostic Text-to-SQL Evaluation Framework,即“与模式无关的文本转 SQL 评估框架”)的新系统。你可以将 STEF 想象成一位超级智能的编辑,它不需要原书或数据库就能检查翻译质量是否合格。

以下是 STEF 的工作原理,使用简单的类比说明:

1. “无参考”规则

STEF 不需要“黄金标准”答案或数据库地图。它只关注三件事:

  • 人类问了什么。
  • 机器人如何在内部重新表述该问题。
  • 机器人编写的代码。
    这就像一位翻译在检查法语句子在英语中是否通顺,而无需知晓原始的西班牙语源文本。

2. “解构”(把汤拆分开)

STEF 不是逐字逐句地比较代码字符串(这就像检查两个句子是否拥有完全相同的字母),而是将请求拆解为“食材”:

  • 我们要找什么?(列)
  • 我们要计算或累加什么?(数学运算)
  • 我们要过滤掉什么?(“仅显示活跃用户”的部分)
  • 我们如何分组?(按国家、按年份等)

STEF 会检查机器人是否包含了正确的“食材”。如果人类要求的是“活跃用户”,而机器人忘记过滤掉“非活跃”用户,STEF 会立即发现缺失的“食材”。

3. “人类”裁判(大语言模型)

STEF 使用另一个 AI(作为“裁判”)来审视这些“食材”,并判断:“这段代码真的回答了问题吗?”

  • 置信度评分:裁判不会只说“是”或“否”。它会说:“我有 90% 的把握这是对的”,或者“我只有 50% 的把握”。
  • 惩罚机制:如果裁判不确定,最终得分会受到轻微惩罚。这防止了系统对猜测给出完美分数。

4. “现实世界”规则(规范化)

这是最巧妙的部分。在现实世界中,机器人有时会添加一些额外步骤,这些步骤实际上是有用的,而非错误。STEF 了解这一点。

  • “排序”规则:如果机器人将结果从高到低排序(即使人类没有要求),STEF 会说:“这是个不错的点缀,不是错误。”
  • “安全”规则:如果机器人添加了类似“显示前 10,000 条结果”的限制,仅仅是为了防止计算机崩溃,STEF 会说:“干得好,这很安全”,而不是“错误,你没要求 10,000 条”。
  • “分组”规则:如果数学运算需要对数据进行分组才能讲得通,即使人类没有明确说“按...分组”,STEF 也会接受这一点。

5. “公司定制”(规则手册)

每家公司都不同。一家公司可能将某一列称为“区域”,而另一家公司则称之为“领地”。
STEF 拥有一个可配置的规则手册。你可以告诉 STEF:“嘿,在这家公司,‘区域’和‘领地’意思相同”,或者“始终忽略‘状态’过滤器,因为它是自动添加的”。这使得 STEF 能够适应任何公司,而无需重新编程。

最终得分

STEF 给出的分数范围是 0 到 100

  • 90-100:优秀。机器人已准备好正式投入使用。
  • 50-75:勉强。机器人猜测过多;人类应进行检查。
  • 低于 50:差劲。机器人表现失败,需要立即帮助。

为什么这很重要

在 STEF 出现之前,公司在其 AI 助手方面如同盲人摸象。他们无法判断 AI 是否正在慢慢变笨,或者是否正在犯下危险的错误。STEF 充当了这些 AI 代理的连续健康监测仪。它让公司能够在问题影响真实商业决策之前加以修复,而无需窥探秘密数据库,也无需为每个问题编写新的答案键。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →