Skip to content

DSL_CTE 分阶段分析能力参考

版本口径:v2.0

状态:窄合同可用

实现范围:Java 引擎

DSL_CTE 是 v2.0 中承接复杂分析的结构化 stage plan。它不是把任意 SQL CTE 暴露给 LLM,而是让 LLM 提交受治理的分阶段分析计划,由 Java 引擎逐阶段校验、编译和执行。

定位

v1.0 的 JSON Query DSL 适合单次筛选、分组、聚合和排序。DSL_CTE 面向更复杂但仍可治理的分析:

  • 先聚合,再计算派生指标。
  • 先输出结果 alias,再做后置过滤或排序。
  • 在签名窗口语义下计算累计贡献、排名等 result-stage 指标。
  • 在有限 bridge 模板中承接时期对比、漏斗、SLA 和归因类场景。

DSL_CTE 的核心边界是:每个阶段引用的字段、alias、公式和输出都必须可验证。

已签能力

Stage / 合同能力v2.0 口径
aggregate基于受治理模型做筛选、分组和指标聚合可作为下游 stage 的输入
derive在上一阶段输出 alias 上做 signed formula不引用物理字段
window_derive有限窗口合同,如 cumulative contribution + signed rank()不开放任意 window function
postSlice对 result-stage alias 做后置过滤不静默下推为源表过滤
orderBy / limit基于输出、groupBy 或 signed alias 排序截断不引用不可见字段
bridge template月同比、季度同比、CRM 漏斗、SLA、target-event / target-month 等窄模板模板参数必须完整

计划边界

DSL_CTE stage plan 应保留以下结构化信息:

  • source model 或上一阶段输入。
  • filters / systemSlice / 权限上下文。
  • groupBy 粒度。
  • metrics 和 aggregate aliases。
  • derived aliases、公式类型和依赖 aliases。
  • window contract、排序字段、frame 和 postSlice policy。
  • output aliases 和 evidence metadata。

如果计划缺少必要上下文,例如时间范围、分组粒度、对齐键、版本或 scenario,应进入澄清或拒绝。

Fail-closed 规则

以下请求应关闭式失败:

  • 引用物理表、物理列或未授权字段。
  • 引用未出现在上一阶段输出中的 alias。
  • 把 result-stage 过滤伪装成源表过滤。
  • 使用未签 stage 类型。
  • 使用未签窗口函数、任意 SQL expression 或自由 JOIN。
  • 跨模型分析缺少 Memory Grid alignment contract。

不纳入 v2.0

DSL_CTE v2.0 不承诺:

  • 任意 SQL CTE。
  • 任意跨模型 SQL Join。
  • 自由物理表查询。
  • 通用时期对比、通用漏斗或通用归因。
  • 自动推断财务日历、自定义日历或业务阶段。

与其他能力的关系

  • 与 Governed Expression:derive 和 result-stage 小公式由受治理表达式子集承担。
  • 与 Memory Grid:跨模型和多结果对齐优先进入 Memory Grid 的 bounded alignment contract,而不是扩大 DSL_CTE 的 JOIN 面。
  • 与 Pivot:透视是独立的 pivot contract,不应混入任意 DSL_CTE shape。
  • 与 Experience Recipe:高频复杂分析可以沉淀为 recipe,但 recipe 不能绕过 DSL_CTE validator。