跳到主要内容

一键诊断

问数系统终于可以像普通软件一样测试、定位和回归,而不是只能反复修改 Prompt 后凭感觉试问。

一键问数诊断展示完整查询阶段并支持导出脱敏 Markdown

固定阶段时间线

每次查询按固定阶段展示真实耗时:

阶段职责常见失败原因
Mapper说法映射到已发布业务名业务词典缺条目、别名未覆盖
Parser生成只含业务名的 S2SQL问题跨了事实根、表达形式模型不熟悉
Corrector校验成员、过滤、聚合、确认义务引用未发布名称、人工选择没落实
Translator绑定冻结路径,编译参数化物理 SQL成员不属于任何单一作用域、路径不可达
Guard只读 AST 白名单、结果上限、执行超时语句形态不被白名单允许
执行只读事务访问数据库数据库超时、连接失败

阶段定位是排障的第一步:同样一句「答不出来」,在 Mapper 失败要补词典,在 Translator 失败要改模型结构。

模型与向量调用明细

诊断还可见每次模型与向量调用的:

  • 用途(哪个阶段、做什么)
  • 尝试次数
  • 耗时
  • prompt 规模

模型调用按用途封顶超时。超时不在传输层重试同一个 prompt——换一种生成是解析器重试链的事。重试时会把上一次的校验拒绝原因(错误码、原话、被拒 SQL)作为事实告诉模型,但不替它改写。

脱敏导出

诊断可导出为 Markdown,导出前自动脱敏:

  • 数据库密码
  • API key
  • 连接串凭据
  • 确认 token

可以安全地贴进工单或发给我们排查。

失败记录与质量门禁

  • 查询失败记录绑定同一 Revision / Release
  • Golden Suite 用真实问题建立回归集
  • 真实数据质量报告绑定同一版本

发布新 Release 前跑一遍 Golden Suite,可以发现本次建模改动是否让原本答对的问题退化。

相关配置

KNOWFLOW_OSS_ALLOW_DEBUG_SQL(默认 true)控制授权诊断是否返回物理 SQL。面向业务用户的普通回答永远不暴露内部 Scope、Dataset、语义 ID 或物理 SQL。

下一步