2026 年,智能体将在企业级应用中取得哪些实质性突破?点击下载《2026 年 AI 与数据发展预测》白皮书,获悉专家一手前瞻,抢先拥抱新的工作方式!
Cortex Code 技能如何将 Snowflake 本体架构转变为可复用的对话式工作流——在单次会话中,从任意关系型模式生成完整的五层技术栈。

从概念到对话
今年早些时候,我发表了一个由三部分组成的系列文章,探讨如何在 Snowflake 上原生构建一个本体驱动的智能平台:
第一部分——概览与数据模型:确立了基本原则,即将事实与语义相分离。内容涵盖物理存储(第 1 层)、以配置形式存在的本体元数据(第 2 层),以及动态生成的抽象视图(第 3 层);
第二部分——语义模型:通过三个专用查询接口(第 4 层)——具体接口、抽象接口与治理接口——将底层能力对外暴露。每个接口分别针对不同类型的查询问题进行了优化;
第三部分——AI驱动的智能:通过 Cortex 智能体(第 5 层)完成了技术栈的构建。该智能体能够根据查询意图,编排语义模型和图谱工具。
该架构理念引发了不少共鸣,但一个反复出现的问题也随之浮现:对于我所处的具体领域,究竟该如何实际构建这样一套系统?
作为参考实现,一个足球知识图谱项目包含了一百多个文件:10 个按顺序执行的 SQL 脚本、3 个总计近 5000 行、需手工调整的语义模型 YAML 文件、一个智能体配置,以及一个容器化的图分析服务。要将其适配到新领域,意味着大部分工作都需要从头重写。
事实上,构建这一技术栈需要横跨多个学科的专业知识——数据建模、本体设计、Snowflake SQL、语义模型编写以及智能体编排。很少有团队能在一个团队内同时具备所有这些技能。然而,其结构模式在每个领域都是完全相同的。变化的只是领域特定的内容:存在哪些实体类、它们之间如何关联、这些关联对应到哪些表,以及用户希望提出哪些问题。
这正是 Cortex Code 技能所要解决的问题。技能是一套结构化的指令集,供 Cortex Code 智能体遵循——它将可重复的模式编码为引导式工作流,同时在每个决策点保留人工判断。
本文介绍 ontology-stack-builder——一项 Cortex Code 技能,通过引导式对话工作流,自动生成完整的 5 层技术栈。你只需提供自己的 Snowflake 表和业务问题,其余工作交由该技能处理。它并非要取代架构,而是将架构固化为一套可复用的技能。
该技能目标
该技能会生成博客系列中描述的同一套五层架构,每一层均包含具体的 Snowflake 生成结果:

工作原理 -七阶段门控工作流
该技能遵循结构化的分阶段工作流。每个阶段都会产出特定成果,并在结束时设置强制关卡——技能会暂停并请求你批准后,再继续执行。不作任何假设,不跳过任何步骤。

本文后续的演练部分将展示各阶段的实际运作情形。
不同的起点
并非所有团队都站在同一起跑线上。本技能将在以下两个维度上适配您现有的环境。
1. 按本体来源划分
提供三种切入路径,所有路径最终都将汇入相同的下游工作流。
1.1 模式优先发现
您拥有 Snowflake 表但尚未构建本体。本技能将引导智能体对您的模式进行内省——分析表结构、外键模式、列命名规范以及连接表——并提出本体设计方案。智能体将表分类为实体表、关系表或查找表,推断类名,并给出关系建议。由您进行审阅和优化。
这是最常见的路径:始于数据,终于语义。
1.2 OWL 导入
您已拥有形式化本体——可能来自现有的知识管理系统、行业标准或数据治理项目。本技能支持解析 OWL、RDF、Turtle、N-Triples 和 Notation3 格式,提取类层次结构、对象属性及个体。随后,将这些语义映射到您现有的 Snowflake 表中。
该路径适用于已在本体设计方面有所投入,并希望在 Snowflake 上将其落地实施的团队。

支持输入的本体文件类型
1.3 混合模式
从模式优先发现开始,导出生成的本体,使用外部本体工具进行细化,然后重新导入。本技能支持在智能体驱动的自动发现与人工优化的迭代之间往返协作。
无论起点如何,所有路径最终都会汇聚到阶段 3—在此阶段,您将通过交互式可视化界面确认、修改和批准本体,随后才会生成任何 SQL 代码。
2. 按现有语义资产划分
本技能还会根据您是否已在源表之上构建了语义视图,调整其行为。
2.1 是否已有语义视图?
本技能将在阶段 1 中通过 SHOW SEMANTIC VIEWS IN SCHEMA 自动发现已有语义视图。如果您选择复用该视图,技能将把它作为基础语义工具,并直接跳过阶段 4.5。同时,它还会提取现有模型中经过治理的元数据(列描述、关系、指标),用于丰富阶段 2 中的本体提案。您在语义建模上的前期投入将直接提升本体设计的质量。
2.2 仅从表开始?
本技能将在阶段 4.5 中为您创建一个基础语义视图,利用原生的语义视图技能生成一个直接覆盖源表的模型。这确保了最终的 Cortex 智能体始终拥有一个面向具体数据查询的工具——该工具与负责处理跨类型推理的本体层语义视图相互独立。
两种场景均支持知识图谱路径或直接查表路径。系统已完整覆盖全部四种组合:知识图谱/直接查表×已有语义视图/无语义视图。
可选性 -避免千篇一律
本系列博客介绍一个功能完备的技术栈。并非每个应用场景都需要全部功能。该技能通过面向用户的选项,明确以下决策:
知识图谱路径 vs.直接表路径 -知识图谱路径会创建通用图谱表,将数据加载到对象-关系结构中。这支持图谱分析,但会产生数据冗余。直接表路径则通过视图将本体映射到现有表上 -无需数据移动,无冗余。请根据领域的关系密集程度以及是否需要进行图遍历来做选择;
复用现有语义视图 vs.新建 -如果您已拥有基于源表的语义视图,该技能可将其复用为基础层。这可以避免重复已有的工作,并利用您已整理的元数据来丰富本体建议。如果您没有现成的语义视图,该技能会先为您创建基础语义视图,再于其上构建本体层;
推理引擎 -可选安装的存储过程,用于传递闭包计算、反向关系物化及约束检查。适用于具有深层层次结构或复杂关系规则的领域。对于较简单的领域可跳过此项;
图遍历工具 - SQL 用户自定义函数,使 Cortex 智能体能够导航层次结构 -展开后代节点、查找祖先节点、追踪路径以及列出子节点。纯 SQL 实现,无需额外基础设施。仅在知识图谱路径下可用;
本体层语义视图 -选择在基础层之上创建哪些本体层模型:知识图谱视图(具体实体查询,仅限知识图谱路径)、本体视图(抽象跨类型推理)、元数据视图(治理与内省)。大多数部署会选用两到三种视图。无论作何选择,基础语义视图始终存在;
SPCS 图谱分析 -针对高级图谱算法(中心性计算、社区发现、最短路径),该技能可生成一个通过 Snowpark Container Services 部署的容器化服务。通常适用于网络分析密集型领域。
每项选择都通过明确的问题呈现给用户,不做任何预设。
端到端实操演示 - 股票市场领域
以下我将完整演示一个基于股票市场数据集的真实会话流程,该数据集包含六张源表:公司信息表、证券信息表、交易所信息表、行业板块表、公司关系表以及道琼斯 30 成分股参考表。
提示词
仅需一条消息即可启动整个工作流:
使用 ontology-stack-builder 技能。基于 DB_STOCK.ONTOLOGY_TEST 构建一个本体栈,输入条件如下:
使用 ontology-stack-builder 技能。基于 DB_STOCK.ONTOLOGY_TEST 构建一个本体栈,输入条件如下:数据库:DB_STOCK模式:ONTOLOGY_TEST源表:COMPANIES_ENRICHED、SECURITIES、EXCHANGES、SECTORS、COMPANY_RELATIONSHIPS、DOW30_REFERENCE本体名称:STOCK路径:直接表路径业务问题:每家交易所上市了哪些公司?公司分别属于什么行业板块?公司之间如何关联?每家公司关联了哪些证券?道琼斯 30 成分股是哪些?行业板块的层级结构是怎样的?语义视图:base、Ontology
以下是每个字段的含义:
数据库/架构 -所有生成对象在 Snowflake 中的部署位置;
源表 -智能体将进行内省以发现实体、关系及属性的现有表。这些表构成了本体设计的原始素材;
本体名称 -简短标签(例如 STOCK),用作所有生成对象(表、视图、存储过程)的前缀,便于识别并避免与现有对象发生命名冲突;
路径 -决定 Layer 1(物理存储层)的构建方式。包含两个选项:
知识图谱路径 -创建通用的 KG_NODE 和 KG_EDGE 表,将所有的实体与关系存储在统一的图结构中。数据从源表加载至这些图表中。最适合关系密集、需要进行图遍历、路径查找及中心性分析的领域。该路径以数据冗余为代价换取查询的灵活性;
直接表路径 -通过视图将本体直接映射到现有源表之上。不会复制或移动数据。最适合现有表结构已经良好、希望在无需额外图存储开销的情况下引入本体驱动智能的场景。
业务问题 -用户希望查询的自然语言问题。这些问题通过告知智能体语义模型需要支持何种查询模式,来指导第五阶段(语义视图创建);
语义视图 -选择在本体基础之上创建哪些本体层的语义模型。以下三项可任意组合:
本体模型 -暴露抽象视图(第 3 层),用于跨类层次结构的推理。可回答诸如“显示所有金融工具”这类跨越多个具体表的问题;
元数据模型 -暴露本体目录本身。可回答治理与发现类问题,例如“存在哪些类?”或“连接‘公司’与‘交易所’的关系有哪些?”;
知识图谱模型 -(仅限 KG 路径) -直接暴露 KG_NODE 和 KG_EDGE 表用于具体的图查询。仅在选用知识图谱路径时可用。
无论上述语义视图选项如何选择,源表之上的基础语义视图始终存在 -该视图要么复用第一阶段发现的现有语义视图,要么在阶段 4.5 自动创建。基础视图负责处理具体的数据查询(特定查找、聚合、过滤),而上述本体层模型则负责处理跨类型推理、数据治理及图查询。
您无需预先提供所有字段。若遗漏任何信息,智能体将在后续流程中通过追问来收集必要内容。
阶段 1 -采集输入信息
由于提示词已包含全部输入信息,该技能将对其进行验证并呈现结构化摘要以供确认。同时,它还会检查目标 Schema 中是否存在现有的语义视图——运行 SHOW SEMANTIC VIEWS IN SCHEMA DB_STOCK.ONTOLOGY_TEST 以查看是否有可复用的内容。若发现语义视图,将询问是否以其中一个作为基础;否则,默认在后续的 阶段 4.5 中创建新的基础视图。
关口:“以下是已采集的输入信息。是否全部正确?”选项:是,进入阶段 2 / 否,我需要修改内容
阶段 1 -采集输入信息
若你仅提供了部分输入—例如,仅提供了数据库名称和少量表名—该技能将在呈现上述关口之前,提出后续问题以采集其余必要信息。
阶段 2 -分析与推荐本体
该技能会对所有六个源表进行内省分析,审查列结构和关系。若在阶段 1 中选定了现有的语义视图,该技能还将对其进行描述,以提取经整理的元数据—包括列描述、关系、维度和指标—并将这些信息合并至内省分析结果中。经整理的元数据优先于启发式推断的名称和类型,从而提升本体方案的质量。
该技能将提出一个包含 8 个类的本体方案—其中 3 个为抽象类(市场参与者、金融工具、分类体系),5 个为具体类(公司、证券、交易所、行业板块、道指 30 成分股)—以及连接它们的 7 种关系(如在...上市交易、属于...行业板块、拥有...证券等)。

设计方案将以结构化表格的形式呈现以供审阅。
关口:"请审阅上述推荐的本体方案。是否要继续执行,还是需要修改?"选项:确认无误,进入阶段3 /我希望增加/删除/修改类或关系
阶段 2 -推荐本体
如果您需要修改,可以通过提示词对类或关系进行调整,以下是更新后的设计:

阶段 2 -更新/修改本体
阶段 3 -可视化、修改与确认
该技能将启动一个 Streamlit 应用程序,包含三个选项卡:
层次结构 -交互式类与关系树状图,支持搜索及深度控制;
本体图 -交互式图形可视化,其中节点代表类,边代表关系。抽象类显示为菱形,具体类显示为圆形。图层切换开关可在“全部”、“具体类”和“抽象类”视图之间切换;
覆盖率 -在此阶段,展示设计结构。覆盖率映射将在部署后显示。
侧边栏提供本体编辑器功能:添加或删除类和关系、内联编辑属性、将更改保存回 JSON 文件,或撤消全部操作。视觉差异标记(新增项显示金色边框,修改项显示橙色边框)用于追踪会话期间所做的更改。
关口:"可视化工具正在运行。请检查本体结构。是否准备好继续生成SQL?"选项:是,进入阶段4 /否,我需要先进行修改
阶段 3 -本体可视化

阶段 3 -类与关系的层次结构可视化
阶段 4 -生成与部署
该技能为所有第 1–3 层构件生成 SQL:现有表上的具体视图(V_COMPANY、V_SECURITY、V_EXCHANGE、V_SECTOR、V_DOW30COMPONENT),约 22 张带有自动填充种子数据的元数据表,抽象视图(VW_ONT_COMPANY、VW_ONT_MARKETPARTICIPANT 等),层级视图,以及一个在本体变更时用于重新生成视图的存储过程。
在请求批准之前,该技能会执行完整性检查—对照本体定义交叉验证 CREATE 语句数量。在输出结果经内部校验无误前,不会呈现任何内容。
关口:"阶段4 SQL生成已完成。我已生成上述SQL文件。是否准备部署至Snowflake?"选项:是,部署所有SQL /否,我需要先审查或修改
部署完成后,该技能会生成一份覆盖清单,将每个本体概念映射至其 Snowflake 构件,并重新启动可视化工具。图谱更新后将显示四种覆盖状态:具体类显示为绿色(映射至专用视图),通过祖先类覆盖的类显示为蓝色(通过继承覆盖),未映射的类显示为红色,抽象类显示为灰色(结构分组)。"覆盖"选项卡将转变为“原始设计→ Snowflake 实现”视图,并带有进度条、按类细分展示以及完整的构件清单。
关口: "阶段4部署已完成。所有第1–3层对象均已部署。可视化工具正在展示覆盖映射。是否准备进入阶段4.5?"选项:是,进入阶段4.5 /否,我需要先修复问题

阶段 4a -部署前

阶段 4 -部署后摘要

阶段 4 -本体可视化

阶段 4 -本体覆盖率-映射至 Snowflake 对象
阶段 4.5 -确保基础语义视图
最终的 Cortex 智能体需要一个针对源表进行具体数据查询的工具,而不仅仅是本体推理。本阶段旨在确保该基础视图存在。
若在阶段 1 中已选择现有语义视图,则本阶段完全跳过——现有视图即成为基础视图。若未选择,该技能将委托原生 semantic-view 技能在六个源表上创建一个 STOCK_BASE 语义视图。该过程将运行 FastGen 进行自动发现,验证生成的 YAML 文件,并使用阶段 1 中的若干业务问题对其进行测试,以验证其返回正确结果。
关口:“基础语义视图已就绪。是否准备进入阶段5(本体语义视图)?”选项:是,进入阶段5 /否,我需要修复基础语义视图
阶段 4.5 -在源表上创建(若不存在)/使用(若存在)基础语义视图
阶段 5 -本体语义视图
基础语义视图就绪后,该技能现开始创建本体层语义模型——这些模型将建立在阶段 4 部署的对象之上。在此演示中,我们选择了基础+本体——两个模型。针对每一个模型,该技能会收集相关的基础对象(源表上的基础语义视图、本体模型的抽象视图),调用 FastGen 进行自动发现,验证生成的 YAML 文件,并使用阶段 1 中的业务问题运行测试查询。
这正是业务问题发挥作用的地方——它们将作为语义层的验收测试用例。
关口:“所有语义视图已部署并测试完毕。是否准备进入阶段6?”选项:是,进入阶段6 /否,我需要修复某个语义视图
阶段 5 -生成本体语义视图
阶段 6 - Cortex 智能体
该技能将委托原生 cortex-agent 技能来创建编排层。它会为每个语义视图注册一个工具——包括来自阶段 4.5 的基础语义视图(或现有视图),以及来自阶段 5 的本体层模型。每个工具都将附带意图路由描述,告知智能体何时使用它:具体数据查询路由至基础工具,抽象推理问题路由至本体模型,治理与发现类问题路由至元数据模型。若选择了包含图谱工具的 KG 路径,则这些工具也会被包含在内。
该智能体将使用覆盖所有工具的示例问题进行测试,以验证路由是否正确。
关口:“Cortex智能体已部署并测试完毕。是否准备进入阶段7?”选项:是,进入阶段7 /否,我需要修复智能体 阶段 6 -创建 Cortex 智能体
阶段 7 -端到端验证
本技能将对全栈进行验证,包括:所有层级之间的行数比对、针对每个视图的示例查询测试、语义视图存在性检查,以及一项端到端的智能体测试——该测试将演练从自然语言提问到路由应答的完整流水线。
汇总表格将显示所有已部署对象及其状态。
关口:"端到端验证已完成。所有层级均已部署并验证通过。部署是否已完成?"选项:是,部署已完成/否,存在问题需要处理
阶段 7 -验证

阶段 7 -部署摘要
一旦整个技术栈(语义视图、Cortex 智能体)创建完成,您便可以使用该智能体针对业务用户可能会提出的问题进行测试:

测试 Cortex 智能体处理业务问题
设计上的人机协同
如演示流程所示,该技能在未获得明确批准前绝不会自行推进。这不仅仅是一种安全机制,更是一套设计审查工作流。
每一个关口都是一个需要领域专业知识介入的决策点:类层次结构是否正确?SQL 语句是否准确无误?语义视图能否解答我的问题?该技能编码固化了本体设计的流程——包括检查点、验证环节以及资深从业者手动操作时会做出的专业判断。缺乏治理的自动执行只会加速错误的产生。关口模型确保了速度的提升不会以牺牲可控性为代价。
从架构到生产工作流
由三部分组成的《Snowflake 本体论》系列确立了一个核心架构原则:人工智能系统的有效性仅取决于其推理所依赖的语义基础。若缺乏对现实世界的模型,AI 就如同盲人摸象。
ontology-stack-builder 技能让这一原则变得可操作。它将第 1 部分至第 3 部分中描述的架构——物理存储、本体元数据、抽象视图、语义模型以及智能体编排——转化为一个可重复的工作流,任何团队都可以基于自己的数据来执行该流程。
该博客系列回答的是:什么是 Snowflake 上的本体论,以及它为何重要?
该技能回答的是:我该如何为我的领域构建它?
如果您有 Snowflake 表并有业务问题要解决,只需一次对话即可获得完整的 5 层堆栈。
ontology-stack-builder 是一项 Cortex Code 技能。
入门的前提条件
开始之前,请确保您具备以下条件:
1. 已安装 Cortex Code
curl -LsS https://ai.snowflake.com/static/cc-scripts/install.sh | sh2.已安装 uv 包管理器(用于 Python 脚本执行)
# macOS/Linuxcurl -LsSf https://astral.sh/uv/install.sh | sh#或通过Homebrew安装brew install uv3. 已在 Cortex Code 中配置 Snowflake 连接
4.对将要创建语义视图和智能体的数据库/模式拥有适当权限
安装 ontology-stack-builder 技能:
#用户级安装(适用于所有项目)git clone https://github.com/sfc-gh-tjia/coco_skill_ontology_stack_builder.gitcp -r coco_skill_ontology_stack_builder ~/.snowflake/cortex/skills/ontology-stack-builder#或项目级安装(仅限单个项目)cp -r coco_skill_ontology_stack_builder .cortex/skills/ontology-stack-builder随后将其指向您的模式:
"使用ontology-stack-builder技能。在MY_DB.MY_SCHEMA上构建一个本体堆栈,使用表TABLE_A, TABLE_B, TABLE_C。"参考资料
有关架构基础,请参阅原始系列文章:
Cortex Code 的 Ontology-stack-build 技能
关于作者: Tianxia Jia 是一位人工智能与云专家,专注于在 Snowflake 和 AWS 上架构前沿的 AI/ML 解决方案。

点击链接立即报名注册:Ascent - Snowflake Platform Training - China,更多 Snowflake 精彩活动请关注专区。





