问数端到端编排(native CLI 版):从候选 KN 选定知识网络,用 bkn object-type 发现对象类与字段, 由编排层 LLM 生成 SQL,再由 ontology dataview query 执行取数; 最后输出中文结论与口径说明。 当用户需要指标、统计、趋势、SQL 取数或数据查询时使用。
66
81%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
本 skill 定义 固定先后顺序 的问数工具链,完全由 ontology native 子命令(bkn / dataview / ds)实现。
在数据分析员工体系中,本 skill 必须由 smart-data-analysis 总入口完成意图、选 KN、生成 SQL 等 LLM 决策后再进入执行;CLI 实际执行由 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-core | smart-ask-data 的 CLI 委托 | 命令执行结果与回执 | Never 跳过 smart-ask-data 直接接管流程 |
本 skill 仅 描述 下列命令形态供 ontology-core 执行;本文档与 references 中 不出现 真实执行入口。
ontology --user-id <accountId> <command> [options]具体 4 个步骤对应到 native 子命令(详见各 reference):
| 步骤 | native 子命令 | 用途 |
|---|---|---|
| 1. 找 KN | bkn get <kn-id> | 取详情供 LLM 选择 |
| 2. 取字段与 dataview-id | bkn object-type list <kn-id> / bkn object-type get <kn-id> <ot-id> | 拿字段 + 后端 dataview-id |
| 3. 执行 SQL | dataview 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,可省。| 步骤 | 说明 | Reference |
|---|---|---|
| 1 | 知识网络选择(条件执行) | references/kn-resolve.md |
| 2 | Schema 发现:候选对象类与字段 | references/schema-discovery.md |
| 3 | SQL 生成(编排层 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 枚举。kn_id:直接使用。bkn list / bkn get 拿到的候选元数据)。bkn object-type list/get 锁定对象类与字段,再让 LLM 生成 SQL;防止 SQL 幻觉。dataview query --sql 默认拒绝写操作;不得使用 --raw-sql 绕过。由 smart-data-analysis 做顶层路由时,进入本 skill 表示用户 主意图为问数。其需向本 skill 提供:
accountId(→ --user-id,必传)kn_id(已选定的业务 KN;缺失时附带候选 kn_ids 并已剔除 forbidden 项,由本 skill 触发 LLM 二次决策)网关(ONTOLOGY_BASE_URL)由 ontology-core 侧统一承担;本部署 ontology CLI 无须 token,本 skill 与 smart-data-analysis 均不持有任何凭证。
pipeline:5 步顺序与对应 ontology 子命令的声明runtime_contract:accountId / 网关 / 认证 / kn_id 等入参的来源契约base_url / 端点 url_path / defaults.user_id:均由 ontology-core 侧环境变量或运行时入参承担/smart-ask-data 上个月各区域销售额,按区域汇总
/smart-ask-data 在候选知识网络里自动选 KN,查库存周转相关明细并给结论f618458
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.