CtrlK
BlogDocsLog inGet started
Tessl Logo

smart-ask-data

问数端到端编排(native CLI 版):从候选 KN 选定知识网络,用 bkn object-type 发现对象类与字段, 由编排层 LLM 生成 SQL,再由 ontology dataview query 执行取数; 最后输出中文结论与口径说明。 当用户需要指标、统计、趋势、SQL 取数或数据查询时使用。

66

Quality

81%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Smart Ask Data(问数)

本 skill 定义 固定先后顺序 的问数工具链,完全由 ontology native 子命令bkn / dataview / ds)实现。

在数据分析员工体系中,本 skill 必须由 smart-data-analysis 总入口完成意图、选 KN、生成 SQL 等 LLM 决策后再进入执行;CLI 实际执行由 ontology-core 承担。

调用方式(统一 ontology 命令;委托 ontology-core 执行)

本 skill 涉及的所有数据/Schema 访问 必须 通过 ontology native 子命令发起。

Never 由本 skill 直接执行 ontology CLI;所有 CLI 执行均委托 ontology-core 完成。调用链固定:

smart-data-analysis(顶层意图 + LLM 决策:选 KN、生成 SQL)
  └─ smart-ask-data(本 skill:描述要调的命令形态 + 顺序 + 约束)
       └─ ontology-core(实际执行 ontology 命令,返回结果)

子技能依赖

子技能角色返回约束
smart-data-analysis顶层意图路由、KN 选择、SQL 生成进入本 skill 的上下文(kn_id / 生成的 SQL / accountId 等)Never 跳过 smart-data-analysis 直接接管流程
ontology-coresmart-ask-data 的 CLI 委托命令执行结果与回执Never 跳过 smart-ask-data 直接接管流程

委托给 ontology-core 的命令形态

本 skill 仅 描述 下列命令形态供 ontology-core 执行;本文档与 references 中 不出现 真实执行入口。

ontology --user-id <accountId> <command> [options]

具体 4 个步骤对应到 native 子命令(详见各 reference):

步骤native 子命令用途
1. 找 KNbkn get <kn-id>取详情供 LLM 选择
2. 取字段与 dataview-idbkn object-type list <kn-id> / bkn object-type get <kn-id> <ot-id>拿字段 + 后端 dataview-id
3. 执行 SQLdataview query <dataview-id> --sql "..."LLM 生成的 SELECT/WITH SQL(mdl-uniquery)
—(简单单表)bkn object-type query <kn-id> <ot-id> '<filter-json>'不需要 SQL 时的实例过滤 + 分页
  • --user-id <accountId>必传(顶层选项,写在子命令之前;发送为 x-account-id;详见 ontology-core SKILL)。
  • 网关(--base-url / ONTOLOGY_BASE_URL)由 ontology-core 侧承担,本 skill 不出现该参数。
  • 本部署 ontology CLI 无须 token;本 skill 命令体内 不出现 --token / auth.token / Authorization
  • -bd bd_public:默认即 bd_public,可省。

必读 references(按步骤)

步骤说明Reference
1知识网络选择(条件执行)references/kn-resolve.md
2Schema 发现:候选对象类与字段references/schema-discovery.md
3SQL 生成(编排层 LLM)+ 执行references/sql-execute.md
端到端顺序示例references/tool-examples.md

主流程(必须按序)

复制进度:

问数进度:
- [ ] 1. 解析 kn_id:若已指定或仅 1 个候选 KN 则直用;多候选时由编排层 LLM 用 bkn list/get 选定(见 kn-resolve)
- [ ] 2. Schema 发现:bkn object-type list/get → 候选对象类、字段、dataview-id
- [ ] 3. 生成 SQL:编排层 LLM 基于第 2 步信息生成 SELECT SQL(不在 smart-ask-data 内部生成)
- [ ] 4. 执行 SQL:ontology dataview query <dataview-id> --sql "..." 取数
- [ ] 5. 总结:结论 + 口径 + 依据(KN/对象类/SQL)

知识网络来源

  • 问数使用的 kn_id 来自 (a) 调用方/上游 smart-data-analysis 明确指定;(b) 通过 ontology-core 调 bkn list 枚举。

步骤约束(摘要)

  1. KN 解析(条件路由)
    • 已传入 kn_id:直接使用。
    • 仅 1 个候选 KN:直接使用。
    • 候选 > 1:由 smart-data-analysis 的 LLM 决策(基于 bkn list / bkn get 拿到的候选元数据)。
  2. Schema 发现先于 SQL:先用 bkn object-type list/get 锁定对象类与字段,再让 LLM 生成 SQL;防止 SQL 幻觉。
  3. SQL 生成在编排层:本 skill 不内置 LLM;SQL 由 smart-data-analysis 生成后传入。
  4. 只允许 SELECT/WITHdataview query --sql 默认拒绝写操作;不得使用 --raw-sql 绕过。
  5. 结果展示硬约束:若执行返回非空结果,最终回复中 必须同时展示
    • 生成并执行的 SQL(可脱敏,不可省略);
    • 关键结果数据(表格或要点汇总,不可仅给口头结论)。
  6. 总结:明确时间范围、指标定义;不暴露完整调试 URL。

注意事项(必须遵守)

  1. 所有信息必须完全来自查询结果,不允许添加任何结果中不存在的内容。
  2. 不允许猜测、推断、脑补、编造数据。
  3. 不允许改写、美化、夸张、虚构企业信息。
  4. 不使用不确定词汇,如"可能""大概""应该""据悉"。
  5. 若结果为空,直接说明"未查询到符合条件的数据",不得自行编造。
  6. 只做结构化整理、排序、计数、分段展示,不做逻辑外扩。
  7. 严格按原始数据呈现,不修改数字、名称、顺序。

与 smart-data-analysis 的关系

smart-data-analysis 做顶层路由时,进入本 skill 表示用户 主意图为问数。其需向本 skill 提供:

  • accountId(→ --user-id,必传)
  • kn_id(已选定的业务 KN;缺失时附带候选 kn_ids 并已剔除 forbidden 项,由本 skill 触发 LLM 二次决策)
  • 由 LLM 基于 Schema 发现结果生成的 SELECT SQL(步骤 3 起需要)

网关(ONTOLOGY_BASE_URL)由 ontology-core 侧统一承担;本部署 ontology CLI 无须 token,本 skill 与 smart-data-analysis 均不持有任何凭证。

配置

  • 本 skill 统一默认配置config.json
    • pipeline:5 步顺序与对应 ontology 子命令的声明
    • runtime_contract:accountId / 网关 / 认证 / kn_id 等入参的来源契约
    • 不维护 base_url / 端点 url_path / defaults.user_id:均由 ontology-core 侧环境变量或运行时入参承担

调用示例

/smart-ask-data 上个月各区域销售额,按区域汇总
/smart-ask-data 在候选知识网络里自动选 KN,查库存周转相关明细并给结论
Repository
UnicomAI/wanwu
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.