SuperAPI AI 工具集

blind-db-debugging

测试与质量

查看项目

更新于 10-15 19:53

技能介绍

用途:在不查看真实数据值的情况下,诊断数据库数据缺失或错误的问题。适用于排查由数据问题引发的 500 错误等场景。智能体负责提出假设并生成 SQL 查询,用户执行后只回报行数。

主要流程: 阶段 0 收集上下文:先理解产品层面预期输出,沿调用链(视图→控制器/解析器→服务→查询)回溯到数据库,找出负责该输出的查询、连接或过滤条件;只询问代码无法回答的信息,如范围、起始时间、可用的正常示例。 阶段 1 生成假设:基于上下文提出 3-5 个可证伪的假设,标注 A、B、C,不使用通用清单。 阶段 2 编写查询:所有查询放在一个可复制块中,每条注明假设、PASS 与 FAIL 的行数预期,使用有意义的列;若有正常示例,可加对照组查询。 阶段 3 评估:用户只回报行数,据此判定 CONFIRMED、REJECTED 或 INCONCLUSIVE;不确定时逐步移除 WHERE 条件缩小范围。 阶段 4 修复与验证:仅在至少一个假设被确认后才提出修复,修复后用同样格式的验证查询确认行数符合预期。 阶段 5 迭代:若全部被否决,则逐层深入(源/种子数据→配置/查找表→映射/翻译表→连接/成员表→聚合/反规范化表→应用层读取),生成新一批假设。

规则:不使用 COUNT(*) 和 SELECT 1;WHERE 选择性不足时加 LIMIT 20;尽量使用对照组;每轮只交付一个查询块;不假设数据正确,独立验证每一环。

限制:资料未提供具体数据库类型、依赖工具或安装方式。