将 Text-to-SQL 视为数据流水线而非单次提示词

Puzzleheaded_Box2842 · reddit · 2026-07-30

作者分享了关于构建 Text-to-SQL 系统的工程思考,主张将其设计为一条完整的数据流水线,而不是简单的“单次提示词”任务。

一个高质量的 Text-to-SQL 样本不仅需要“问题到 SQL”的映射,还需要表结构上下文、样本值、可执行 SQL、推理轨迹以及难度评估。作者建议将工作流拆分为多个操作符:生成或修改 SQL、过滤可执行性、生成自然语言问题、验证问题与 SQL 的对应关系、构建最终提示词等。

核心亮点在于将执行保持在循环内:生成的 SQL 必须在数据库中进行校验,并通过验证 CoT 候选者中的 SQL 是否产生一致结果来提供比单纯依赖 LLM 判断更强的信号。此外,将 SQL 的“结构难度”与“执行难度”区分开来也很有价值。该设计已在内置于开源项目 OpenDCAI/DataFlow 中。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →