问数迭代路线.md 5.4 KB

智能问数 · 迭代路线(行业最佳实践对照)

2026-10 定稿。对照 2026 年 Data Agent/ChatBI 业界共识(语义层+指标层为可信问数基础设施、 评测金标准是从「能演示」到「可规模化」的分水岭、动态 few-shot 与反馈飞轮提准确率), 结合本产品定位(单机部署 / flash 模型 / 零依赖 / 餐饮多主体运营)排定优先级。

当前成熟度定位

已具备(不需要推翻):

  • 受控工具调用而非裸 Text2SQL(业界生产共识路线)+ 语义层雏形(REPORT_COLUMNS 列注册表)
  • 验证层:verdict 卡(体检/恒等式/层间一致性/完整性/云端一致性)+ 数字溯源 post-check
  • 可审计:运行留痕与回放(编排时间线);评测基建雏形(NAPOS_AGENT_MOCK 确定性假模型 + 隔离湖)

P0(下一迭代,高价值 × 低成本)

项 内容 落点 状态
评测金标准集 真实业务问句 → 期望工具/参数/关键数字的口径断言;改 prompt/工具/模型后跑一遍即知退化 npm run eval(= scripts/eval-ask.js,隔离湖直跑工具链,零网络)。已覆盖 15 例:TopN/按日趋势/加权比率/门店部分匹配/环比可比集/显式区间与缺数实算/体检/层间核对/同行对标/源侧字段/跨主体/报告钳制/参数防呆 + 真机问句清单 ✅ 2026-10-17(上线即抓到 query_report shops/shopNames 参数键不一致的真 bug)
主动式分析闭环 autoSync 后自动 体检+层间核对+环比 → 晨报落盘(钉钉群机器人推送按用户决定暂不做,通道后续按需接) server/agent/digest.js(确定性口径零模型)+ autoSync 挂点 + GET/POST /api/agent/digests + 问数页顶部晨报横幅(头条/展开详情/verdict 卡/报告链接) ✅ 2026-10-17
动态 few-shot + 问答复用 已验证问答沉淀为打法语料(数字全溯源 + 工具全成才入库);相似问命中直接重跑查询序列(缓存打法不缓存数字,数据按当前湖重算),只保留一次结论收敛调用;次相似问注入 few-shot 参考 server/agent/replay.js(字符二元组 Dice 相似度)+ corpus.json(cap 50)+ loop 复用路径 + prompt 注入 ✅ 2026-10-17

P1(答题质量与成本)—— 2026-10-17 全部完成

项 内容 落点 状态
指标层升级 server/agent/metrics.js:基础指标(合计/加权/比值口径声明)+ 派生指标(gross_mov7/orders_mov7/uv_mov7);新工具 metric_query 按指标 key 查逐日序列(移动平均窗口前置取数、缺数按实算);prompt 常驻「指标聚合口径」段,模型引用 key 不自组口径 tools/metric.js + registry(工具总数 11) ✅(eval 4 例:mov7 手算断言、加权日值、未知指标给清单)
Schema linking 门店 ≤40 家内嵌清单;超过则 prompt 只留「门店较多,先调 lake_overview/部分匹配」,按需查询 prompt.js buildSystemPrompt ✅(smoke:3 家内嵌 / 60 家改按需)
模型路由与结构化解码 config 新增 chatModelAgent(深度分析专用模型,缺省回落 chatModel)与 chatJsonMode(response_format=json_object,默认关);设置页对话模型 tab 两控件;快问始终走 chatModel context.js makeChatCfg + llm.js jsonMode + loop 模型路由 + 设置 UI ✅(smoke:路由回落断言;流式仍延后)
反馈闭环 答案卡「👍 有帮助 / ✍️ 纠错」:采纳 → 打法强制入语料(即使溯源不完美);纠错(可带说明)→ feedback.json 反馈日志(cap 100)供金标准评测人工提炼 POST /api/agent/feedback + ask.js 按钮 ✅(smoke:采纳入 corpus、纠错入日志)

P2(平台化,按需)—— 2026-10-17 完成(两项按既定条件暂缓)

项 内容 落点 状态
统计异常检测 detect_anomalies 工具:加性指标逐日 leave-one-out z-score(σ 下限防全同值误报, z ≥2 警告/≥3 不一致),寒暑假窗口基线失真提示;verdict 新增 anomaly 类
LMDI 归因工具化 attribution 工具:营业额变化分解为 曝光/进店率/客单价 三效应(对数平均权重),可比口径;单店恒等式严格成立、多店输出混合残差 tools/attribution.js + eval(单店 曝光效应=1600 全额、残差≈0) ✅
深度报告 build_report deep 旗 → GET /api/agent/report-deep(server/agent/deep-report.js 确定性自包含 HTML:体检/环比/LMDI 归因/异常/对标/逐日/排行/verdict 汇总 八章节) deep-report.js + 路由 + 工具 ✅
治理·成本展示 run 级 token 用量累计(loop 累加 usage),编排时间线头部展示「X k in / Y out」 loop.js + ask.js ✅
物化聚合 按既定触发条件(单主体 >50MB/查询卡顿/跨主体 SQL)再换引擎;reports-store 已有分片解析缓存(mtime 键控) — ⏸ 触发条件未到
多主体授权 单机 + 访问口令形态下无多租户边界,暂不适用;SaaS 化时随语义层一起做 — ⏸ 形态不适用

不追的方向

向量库/嵌入式检索(同行均值已在 raw 里)、裸 Text2SQL 兜底(破坏口径可控)、大而全 BI 平台化(单机工具定位)。