用途:将自然语言问题转换为 SQL 查询,用于数据库查询、数据分析、报表和临时查询。属于认知/提示驱动模式,没有独立工具脚本,需通过智能体上下文调用。
主要能力:查询生成(自然语言转 SQL);schema 感知(依据数据库 schema 生成准确查询);查询优化(生成较高效的 SQL);参数化查询(生成安全的参数化语句)。流程为分析自然语言、引用 schema、生成 SQL、校验语法、返回参数化查询。
使用方式:直接以自然语言提出需求,例如“生成 SQL 查找上个月注册的所有用户”“创建查询计算按产品划分的总收入”“编写 SQL 查找重复记录”。可结合 database-architect 提供的表定义、关系、约束和索引,也可为开发者输出查询模板、参数化查询、优化与错误处理。
评估:基于 Claude Cookbooks 模式,包含语法校验、功能测试(在测试库执行、结果正确性、性能)以及 Promptfoo 集成(多种提示变体、温度扫描、模型对比)。运行评估需先创建配置文件,再执行:npx promptfoo@latest eval -c text_to_sql_config.yaml。指标包括语法准确率、功能正确性、schema 合规性和性能。
最佳实践:提供完整 schema 上下文;使用少样本示例;复杂查询用思维链;用 RAG 检索相关 schema。铁律:生成前必须对照 schema 校验表名和列名;禁止字符串插值,必须使用参数化查询;SELECT 默认加 LIMIT 100,除非用户明确覆盖;未经用户确认不得执行 DROP、DELETE、TRUNCATE、UPDATE;需用通俗语言解释生成的查询逻辑。反模式包括字符串插值、无 LIMIT、未确认的破坏性 SQL、无 schema 校验、无列清单的 SELECT *。
限制:资料未提供具体支持的数据库类型、安装方式、收费与价格信息,暂未提供。