skills.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. 'use strict';
  2. /**
  3. * 智能问数智能体 · 内置技能(skills)
  4. * ----------------------------------------------------------------------------
  5. * 技能 = 注入系统提示的分析打法(playbook),不是可执行工具;工具是动作,技能是
  6. * 「何时调哪些工具、按什么顺序、结论必答什么」的打法约束。用户可在问数页点名技能
  7. * (rec.skill),模型也会在适用时自行遵循(全部技能的打法都常驻提示词,体积小)。
  8. */
  9. const SKILLS = [
  10. {
  11. key: 'period-compare',
  12. name: '周期对比分析',
  13. desc: '本期 vs 基期全流程对比,归因到门店',
  14. playbook: '①lake_overview 摸底确认区间可用;②compare_periods 取本期 vs 基期加权 delta(不要自己相减);③对异常指标用 cross_check 抽查层间一致性;④结论必答「变化量 / 变化率 / 主因门店」,配趋势或对比图(x=date 需先按日查询)。',
  15. },
  16. {
  17. key: 'data-checkup',
  18. name: '数据体检',
  19. desc: '全面体检数据质量并分级给结论',
  20. playbook: '①lake_overview 摸底;②data_quality 全区间体检;③cross_check 全区间层间一致性核对;④结论按 fail/warn/info 分级列出问题、影响范围与处置建议(如门店全零行建议排查取数参数或数据权限),涉及质量问题的数字标注「数据质量存疑」。',
  21. },
  22. {
  23. key: 'peer-benchmark',
  24. name: '同行对标',
  25. desc: '门店自身 vs 同行均值/排名',
  26. playbook: '①lake_overview 摸底;②peer_benchmark 取目标字段的同行均值与排名;③对排名恶化门店用 query_report(mode=date) 下钻逐日;④raw_inspect 看同行均值是否整体下移(区分自身问题 vs 大盘问题);⑤结论:排名变化 + 原因归类(自身/大盘/数据质量)。',
  27. },
  28. {
  29. key: 'drill-down',
  30. name: '下钻归因',
  31. desc: 'TopN → 异常门店 → 拐点日期归因',
  32. playbook: '①query_report(mode=shop, 按目标指标排序) 取 TopN;②锁定异常门店用 query_report(mode=detail) 看逐日;③定位拐点日期;④raw_inspect 查该店该日 raw(环比差值/同行均值),判断自身波动还是大盘波动;⑤结论给归因链路「指标 → 门店 → 日期 → 原因」。',
  33. },
  34. ];
  35. function get(key) {
  36. return SKILLS.find((s) => s.key === key) || null;
  37. }
  38. /** 常驻提示词的技能清单(打法全文,体积小) */
  39. function manifestText() {
  40. return SKILLS.map((s) => `- ${s.name}(${s.key}):${s.desc}。打法:${s.playbook}`).join('\n');
  41. }
  42. module.exports = { SKILLS, get, manifestText };