跳转至

PExA: Parallel Exploration Agent for Complex Text-to-SQL

会议: ACL2026
arXiv: 2604.22934
代码: 未公开
领域: LLM Agent / Text-to-SQL / 数据库问答
关键词: Text-to-SQL, LLM Agent, 并行探索, 软件测试, Spider 2.0

一句话总结

PExA 把复杂 Text-to-SQL 改写成“为自然语言查询生成并执行一组语义测试用例”的并行探索问题,通过 Planner、Test Case Generator 和 SQL Proposer 三个子代理在 Spider 2.0 上提升执行准确率,并把延迟控制在与强基线相近的水平。

研究背景与动机

领域现状:Text-to-SQL 已经从早期的解析模型发展到 LLM agent。面对 Spider 2.0 这类真实复杂数据库基准,系统通常需要 schema linking、数据库压缩、多步推理、执行反馈和自我修正,才能处理大表、多库、嵌套类型和长 SQL。

现有痛点:强性能往往靠更长的 sequential reasoning 或更多工具调用换来。一个 agent 先规划,再查 schema,再写 SQL,再执行,再修正,性能可能上升,但延迟也按步骤累加。交互式数据分析里,用户很难接受每个问题都等待很久。

核心矛盾:复杂查询确实需要探索更多数据库信息,但探索不一定必须串行。现有方法把用户问题当作单个长 SQL 生成任务,容易在一条推理链里卡住;如果拆成可并行验证的语义需求,就能同时收集证据。

本文目标:作者希望改善 Text-to-SQL 的性能-延迟 Pareto 前沿:既要在 Spider 2.0 上取得更高执行准确率,又要避免通过线性增加推理步骤来堆性能。

切入角度:论文借鉴软件测试。复杂程序不是一次性证明正确,而是通过覆盖不同功能需求的测试套件来验证。复杂 NL 查询也可以被看成若干语义需求的集合,先生成一批更简单的 SQL “测试用例”覆盖过滤、连接、聚合、存在性检查等局部语义,再用这些执行结果支撑最终 SQL。

核心 idea:把 Text-to-SQL 从单链生成改成测试覆盖式并行探索,用多条可执行 test-case SQL 同时探测数据库,最后聚合证据生成完整 SQL。

方法详解

PExA 的关键是把“想清楚最终 SQL”前置为“先验证一组小问题”。这些小问题不是普通 query decomposition,因为它们可以探索原始问题之外但相关的数据库信息,例如某个字段有哪些值、某个 join 是否能返回非空结果、某个过滤条件是否合理。测试用例执行结果成为最终 SQL 的 grounding context。

整体框架

系统包含三个子代理和两个工具。Planner 接收原始自然语言问题,生成一组自包含测试用例,并决定是否继续探索或进入最终生成。Test Case Generator 把每个自然语言测试用例转成 SQL,调用 SQL Executor 执行并根据错误反馈修正。SQL Proposer 只拿原始问题、测试用例 SQL 和执行结果,不拿完整数据库元数据,然后合成最终长 SQL。两个工具分别是 SQL Executor 和 Semantic Verifier:前者返回编译错误、空结果或成功结果;后者把 SQL 回译成自然语言并与原问题比较,识别语义偏差。

并行性贯穿三个位置。Planner 一次前向生成多条测试计划;Test Case Generator 对互不依赖的测试用例并行生成和执行;每个测试用例内部还一次性生成多种候选 SQL,形成 single-step multi-path search。最终延迟近似由最慢的一条分支决定,而不是所有分支延迟之和。

关键设计

  1. 测试覆盖式查询建模:

    • 功能:把一个复杂用户问题拆成若干能独立执行的小 SQL 测试,用测试覆盖来逼近原查询语义。
    • 核心思路:测试用例可以覆盖 filter、join、aggregation、existence check、值分布等局部要求,也可以探测原查询周边的数据库信息。每条测试 SQL 都应自包含、可执行,并返回能帮助最终合成的证据。
    • 设计动机:普通子问题分解只复述原问题中的显式语义,而测试用例可以主动探索数据库的隐含结构和中间结果,更适合 Spider 2.0 这类真实复杂场景。
  2. 三子代理分工:

    • 功能:把规划、局部 SQL 执行和最终 SQL 合成拆开,减少单个代理的上下文负担。
    • 核心思路:Planner 负责语义需求和流程控制;Test Case Generator 结合轻量 schema linking 和压缩 schema 生成可执行局部 SQL;SQL Proposer 聚合测试结果生成最终 SQL,并用执行器和语义验证器检查。
    • 设计动机:复杂 Text-to-SQL 的错误常来自早期规划和长上下文推理。分工后,每个代理只解决一个更窄的问题,最终 Proposer 也不需要读完整数据库元数据。
  3. 并行探索与单步多路径搜索:

    • 功能:在不线性增加 wall time 的情况下扩大搜索宽度。
    • 核心思路:规划阶段一次生成多条测试,执行阶段并行运行多个测试 SQL,每个测试又在一次 LLM 调用里产生多个候选方案,然后通过执行反馈快速筛除失败路径。
    • 设计动机:Text-to-SQL 的不确定性往往来自 schema 选择、值约束和 join 路径。宽度搜索能提高命中正确语义的概率,而并行化避免把宽度全部转化成延迟。

损失函数 / 训练策略

PExA 是推理时 agent 框架,不训练新的模型,也没有监督损失或强化学习目标。主要“优化目标”体现在推理过程:最大化测试覆盖和最终 SQL 执行准确率,同时通过并行执行约束 wall time。实现上使用 LangGraph 组织 agent,并限制每个 LLM agent 的最大迭代次数防止循环;主实验使用 GPT-o3,部分分析比较 GPT-5、Claude Sonnet-4、Claude Opus-4 以及不同组件混搭。

实验关键数据

主实验

实验使用 Spider 2.0 的 Snow 和 Lite 版本。Snow 有 547 个样例、150+ 数据库,平均每个数据库约 800 列,使用 Snowflake dialect;Lite 排除 BigQuery 样例。指标为 Execution Accuracy (EX)、EX@4 和平均 wall time。

方法 Snow EX Snow EX@4 Lite* EX Lite* EX@4 Wall Time (min)
Spider-Agent 25.2 27.4 26.2 28.7 5.90
ReFoRCE 36.6 39.7 36.2 39.5 5.44
Chat2DB 44.1 - - - -
AgenticData - - 44.5 - -
PExA 45.7 49.5 46.6 49.9 5.55
额外对比 Snow EX Snow EX@4 说明
PExA 45.7 49.5 默认 schema linking
PExA w/ Gold Schema 47.2 50.8 使用金标 schema 只提升约 1.5 点
更新 leaderboard 结果 70.2 - 论文称投稿时达到 Spider 2.0 新 SOTA

消融实验

配置 EX 相对 Full 解释
PExA Full 42.9 - 单次运行 Snow 分析设置
w/o Plan-time parallelization 40.0 -2.9 规划阶段并行测试套件很关键
w/o Test-time parallelization 39.9 -3.0 测试 SQL 并行生成/执行贡献最大
w/o Semantic Verifier 42.3 -0.6 语义验证能修掉部分偏差,但不是主要瓶颈
w/o Proposer 41.1 -1.8 直接由测试阶段产物返回会损失整合能力
并行度设置 执行分支=1 执行分支=2 执行分支=无限制
规划分支=1 38.4 39.1 40.0
规划分支=2 38.9 39.5 41.1
规划分支=无限制 39.9 41.6 42.9
延迟模式 总延迟估计
顺序执行相同搜索空间 680 秒
并行执行 351 秒

关键发现

  • PExA 在 Snow 和 Lite 上都超过 ReFoRCE,Snow EX 从 36.6 提到 45.7,Lite EX 从 36.2 提到 46.6,且 wall time 5.55 分钟与 ReFoRCE 的 5.44 分钟接近。
  • 消融显示两个并行组件各自贡献约 3 个 EX 点,比 Semantic Verifier 的 0.6 点更大,说明性能主要来自并行搜索宽度,而不是最后的语义检查。
  • 限制规划分支和执行分支会连续降低准确率,从 42.9 降到 38.4;这给系统部署提供了可调旋钮,可以用更少分支换更低成本。
  • Gold schema 只带来约 1.5 点提升,说明当前主要瓶颈不是 schema linking,而是复杂语义规划和长程逻辑组合。
  • 错误分析指出主要失败来自语义误解和初始规划缺陷,而不是 SQL 语法错误。这与作者“未来应改进问题理解和计划搜索”的结论一致。

亮点与洞察

  • 软件测试视角非常贴合复杂 Text-to-SQL。好的 SQL 不是凭空写出来的,而是要确认每个局部假设都能在数据库中跑通;PExA 把这种工程直觉显式变成 agent 结构。
  • PExA 的测试用例不局限于原问题分解,可以探索非目标但相关的数据库信息。这比传统 decomposition 更主动,也更接近数据分析师在真实库里边查边写 SQL 的工作方式。
  • 并行化不是简单“多采样”。它让每条探索路径有明确语义目标,避免无控制的 self-consistency 浪费 token。单步多路径搜索也比多轮串行反思更适合低延迟场景。
  • Gold schema 对性能影响小这一点很有价值:在 Spider 2.0 这种大 schema 场景里,很多人直觉上会先优化 schema linking,但 PExA 表明高层计划和语义覆盖可能更值得投入。

局限与展望

  • PExA 依赖强闭源 LLM,主实验使用 GPT-o3,成本和可复现性受限。虽然论文分析了其他模型混搭,但完整开放模型版本仍需验证。
  • 并行探索降低 wall time,但不一定降低总 token 和 API 成本。对于生产环境,如何动态选择分支数、提前停止、复用测试结果,是关键工程问题。
  • 测试用例质量高度依赖 Planner。如果一开始覆盖方向错了,后续并行执行只会更快地收集无关证据;错误分析也确认规划错误是主要瓶颈。
  • Semantic Verifier 通过 SQL 回译自然语言判断语义,仍可能被 LLM 自身误判影响。更强的验证可能需要基于结果集、单元测试或符号约束。
  • 目前只验证了 Spider 2.0,未来值得迁移到企业 BI、跨数据库方言、代码生成和其他需要“可执行测试覆盖”的 agent 任务。

相关工作与启发

  • vs Spider-Agent: Spider-Agent 更像传统工具增强 agent,PExA 的差异在于把探索显式组织成并行测试套件,因此准确率和延迟前沿更好。
  • vs ReFoRCE: ReFoRCE 强调数据库压缩和 inference-time scaling,PExA 也借鉴轻量 schema linking,但核心增量是 test-case SQL 的并行覆盖和最终证据聚合。
  • vs query decomposition: 普通分解只拆原始问题的显式子语义,PExA 的测试用例可主动探索周边 schema、值分布和中间结果,覆盖范围更大。
  • vs self-consistency / 多采样: 多采样常缺少方向控制;PExA 的每个分支都有测试目标和执行反馈,因此更像结构化搜索,而不是随机多生成。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 用软件测试覆盖来重构 Text-to-SQL agent,很有辨识度,也自然解释了为什么能并行。
  • 实验充分度: ⭐⭐⭐⭐☆ Spider 2.0 主结果、组件消融、并行度和延迟分析都到位,但闭源 LLM 依赖和开放复现不足。
  • 写作质量: ⭐⭐⭐⭐☆ 方法叙述清晰,表格直接支持主张;若能给更多真实 test case 轨迹会更直观。
  • 价值: ⭐⭐⭐⭐⭐ 对 Text-to-SQL、数据分析 agent 和一般工具使用 agent 都有可复用启发,尤其是“测试先行”的并行探索范式。