Snowsight 中的 Cortex Code¶
概述¶
Cortex Code 在 Snowsight 内跨多个功能领域提供代理式体验。它通过深度集成到 Snowsight 界面,并提供差异视图等能力,协助数据分析师、工程师和管理员完成 SQL 开发、数据探索和账户管理等任务。
Cortex Code 使用智能编排,根据您的请求规划并执行多步骤任务。此外,它会从您的 Snowflake 环境中选择内部工具和相关上下文来完成任务,确保每次响应的准确性。
该助手遵循代理式工作流程,理解您的意图,制定行动计划并执行各个步骤,同时在整个会话过程中保持上下文。
Cortex Code 能理解角色、权限、架构以及 SQL 语法,并在生成或修改代码时应用 Snowflake 的最佳实践。
要在 Snowsight 中使用 Cortex Code,请按照以下步骤操作:
在消息框中,键入问题,然后选择发送图标或按 Enter 提交问题。Cortex Code 会在面板中提供响应。
如果 Cortex Code 的响应中包含 SQL 语句,您可以直接执行这些语句,或将其复制到剪贴板。
访问控制要求¶
用于访问 Cortex Code 的 角色 必须获授以下数据库角色:
数据库角色 |
备注 |
|---|---|
SNOWFLAKE.COPILOT_USER |
所有用户访问 Cortex 代码所必需的。 |
SNOWFLAKE.CORTEX_USER 或 SNOWFLAKE.CORTEX_AGENT_USER |
至少需要其中一个数据库角色。SNOWFLAKE.CORTEX_AGENT_USER 为代理工作流程提供其他功能。 |
有关授予数据库角色的说明,请参阅 GRANT DATABASE ROLE。
有关角色和访问控制的一般信息,请参阅 访问控制概述。
备注
如果您的账户此前选择退出(或已禁用)Snowflake Copilot(旧版),Cortex Code 也会被禁用。请联系您的客户团队,为您的账户启用此功能。
使用案例和优势¶
Cortex Code 在 Snowsight 中充当智能代理,通过将自然语言指令转换为可执行操作,帮助您更高效地工作。它能够感知您的工作区上下文和 Snowflake 账户配置,在无需离开 Snowsight 的情况下,协助完成开发、探索和管理任务。
Cortex Code 支持 Snowsight 中的以下关键功能领域:
工作区中的代理式编码¶
Cortex Code 作为集成在 Workspaces 中的对话式编码助手运行。它支持交互式代码生成、修改、审查和解释。
代码生成和开发: 生成 SQL 查询、创建新文件,并为数据管道和分析工作流构建逻辑。
代码修改和优化: 直接在工作区中优化 SQL,识别逻辑或语法错误,并针对性能、可读性或成本提出优化建议。
变更审核: 在应用更改之前,通过差异视图预览 AI 建议的修改。差异视图会高亮显示新增和删除内容,使用户能够保持对代码的控制。
代码解释: 请求对现有 SQL 的解释,以帮助理解或协作。
提出后续问题: 通过提出澄清问题,或请求对生成的代码或结果进行进一步分析,继续对话。
基于高亮 SQL 的快速操作: 在 SQL 文件中,高亮选中文本即可打开快速操作,例如 Quick Edit、Format、Add to Chat 和 Explain。
修复 SQL 错误: 如果 SQL 语句执行失败,可使用结果网格中的 Fix 按钮获取错误修复建议。
智能产品与文档发现¶
Cortex Code 利用 Horizon Catalog 和 Snowflake 文档中的上下文,帮助您在不离开工作区的情况下定位数据资产和参考信息。
自然语言架构搜索: 使用自然语言查询定位表、列等数据库对象,无需了解确切的对象名称。
集成问答: 基于官方文档,检索有关 Snowflake 功能、SQL 语法或最佳实践的答案。
Snowflake Marketplace 发现: 如果提示中涉及 Snowflake Marketplace,Cortex Code 将搜索并返回 Marketplace 中的相关列表。
在可用情况下,响应还可能包含标签、掩码策略和数据沿袭等上下文信息,以帮助您验证所发现的数据资产。
简化账户管理¶
Cortex Code 通过提供治理、安全和成本管理相关的上下文信息,支持账户管理任务。
治理和安全: 检索有关用户和角色访问权限、数据所有权,以及包含个人身份信息 (PII) 的表。
成本管理: 查询账户使用情况和 Credit 使用量,并识别高成本的仓库或查询。
支持的模型和区域¶
Cortex Code 支持以下模型。只要账户有权访问这些模型,您就可以使用它们。有关更多信息,请参阅 控制模型访问。
推荐:Claude Opus 4.5 (
claude-opus-4-5)Claude Sonnet 4.5 (
claude-sonnet-4-5)Claude Sonnet 4.0 (
claude-4-sonnet)
虽然列出的模型可能并非在 所有区域 都可用,但您可以借助 Cortex 跨区域推理在任何云或区域中使用 Cortex Code。这包括模型不可用的云和区域。有关更多信息,请参阅 跨区域推理。
重要
当所选模型在您所在区域不可用时,需要跨区域推理。 如果推理失败并出现模型可用性错误,请配置跨区域推理:
AWSUS – Claude Sonnet 4+ 提供最高质量。为
AWS_US设置 Cortex 跨区域推理以访问 Claude Sonnet 4.x 模型。AWSEU – 为
AWS_EU设置 Cortex 跨区域推理以访问 Claude 模型。AWSAPJ – 为
AWS_APJ设置 Cortex 跨区域推理以访问 Claude 模型。任何区域 – 为
ANY_REGION设置 Cortex 跨区域推理以访问所有模型。
要启用跨区域推理,ACCOUNTADMIN 必须运行:
ALTER ACCOUNT SET CORTEX_ENABLED_CROSS_REGION = 'AWS_US';
将 AWS_US 替换为相应的区域标识符(AWS_US、AWS_EU、AWS_APJ、ANY_REGION)。
备注
模型访问权限也可能受到您所在组织的限制。如果在启用跨区域推理后仍无法访问某个模型,请确认该模型已在您账户的 AI 模型访问设置中启用。有关详细信息,请参阅 控制模型访问。
Cortex Code 要求用户具备 SNOWFLAKE.COPILOT_USER 数据库角色,并且还需拥有 SNOWFLAKE.CORTEX_USER 或 SNOWFLAKE.CORTEX_AGENT_USER 数据库角色之一。
备注
如果您的账户此前选择退出(或已禁用)Snowflake Copilot(旧版),Cortex Code 也会被禁用。请联系您的客户团队,为您的账户启用此功能。
Web 搜索¶
ACCOUNTADMIN 角色可以配置 Cortex Code CLI 以进行 Web 搜索,并在生成响应和规划任务时使用搜索结果。要在账户中正确启用 Web 搜索,请按照以下步骤操作:
导航到 AI/ML > Agents。
选择 Settings。
如下所示,选择 Web search 旁边的切换按钮启用该功能。
Snowflake 将根据 Snowflake 隐私声明 (§2) 处理您输入的信息。Web 搜索不得用于重新分发或创建竞争性 Web 搜索服务。
示例提示¶
您可以使用自然语言提示与 Cortex Code 进行交互。在提示中,请提供生成准确结果所需的上下文信息(例如数据库、架构以及要操作的对象)。为了在不同环境中获得最可靠的结果,建议使用完全限定的对象名称。
以下示例展示了请求代码生成、优化以及管理洞察的常见方式。
访问和权限
用例 |
示例提示 |
|---|---|
访问发现 |
“我可以访问哪些数据库?” |
安全审计 |
“查找所有包含 PII 的表。” |
数据发现
用例 |
示例提示 |
|---|---|
标签发现 |
“列出 ANALYTICS_DB 中所有标记为 PII = TRUE 的表。” |
沿袭和标记 |
“显示从 RAW_DB.ORDERS 到下游仪表板的数据沿袭。” |
元数据搜索 |
“在哪里可以找到与客户流失和订阅状态相关的表?” |
SQL 开发和优化
用例 |
示例提示 |
|---|---|
逻辑解释 |
“此 SQL 脚本的作用是什么?” |
生成 |
“编写一个查询,按收入排序列出前 10 位客户,并计算 7 天移动平均值。” |
查询优化 |
“将最佳表现者查询更新为显示前 100 名。” |
性能优化 |
“解释此查询为何执行缓慢,并对其进行优化。” |
数据合成 |
“在 SAMPLESDATA.SALES 表中生成 30 天的电子商务网站销售合成数据。” |
基础设施和成本管理
用例 |
示例提示 |
|---|---|
资源监视 |
“哪 5 种服务类型消耗的 Credit 最多?请展示可视化结果,并说明如何降低成本。” |
机器学习和工程管道
用例 |
示例提示 |
|---|---|
笔记本(EDA 与机器学习) |
“为客户流失预测用例构建一个笔记本,使用 pandas 进行数据处理,使用 matplotlib 和 seaborn 进行 EDA 和可视化,并使用 scikit-learn 进行预处理、模型训练(逻辑回归和基于树的模型)、评估和解释,同时通过清晰的 Markdown 说明业务影响和结果。” |
深度学习 |
“创建一个新笔记本,并为 MNIST 数据集构建一个 CNN。” |
管道工程 |
“创建一个 dbt 项目,用于转换原始销售数据。” |
语义模型集成 (Cortex Analyst)
用例 |
示例提示 |
|---|---|
语义查询 |
“使用 @models/revenue.yaml 语义模型回答‘上个月的收入是多少?’” |
模型调试 |
“识别 @models/revenue.yaml 中语义模型的错误。” |
安全性和访问权限¶
Cortex Code 在 Snowflake 账户现有的身份验证和基于角色的访问控制 (RBAC) 机制下运行。它不会存储或修改您的凭据,只会执行当前角色被允许的操作。
工作区中的 Cortex Code¶
您可以通过集成到 Snowsight 的助手面板访问 Cortex Code。Cortex Code 会在当前活动代码、运行环境或 Snowflake 通用知识的上下文中处理请求。
要在工作区中使用 Cortex Code 代理,请执行以下操作:
登录 Snowsight。
在导航菜单中,选择 Projects » Workspaces。
打开包含相关文件的工作区(例如,现有 SQL 文件)。
选择工作区右下角的 Cortex Code 图标。
使用自然语言输入提示或提出问题。请参阅 示例提示 获取想法。
查看输出结果。Cortex Code 会返回答案、代码建议或修改后的查询。
对于编码任务,Cortex Code 可能会显示比较视图,用于高亮显示新增和删除的内容。查看建议的修改,并可直接将其应用到脚本中。
可通过后续提示进一步优化代码,将文件转换为其他对象类型(如笔记本或语义视图),或集成 AI SQL 等高级功能。
使用 AGENTS.md 和代理技能在工作区中自定义 Cortex Code¶
AGENTS.md (http://Agents.md) 是一种简单、开放的格式,用于为编码代理提供指引。
创建一个 AGENTS.md 文件,用于提供持久化指令,Cortex Code 会在每次对话中自动加载这些指令。将该文件复制到工作区的根目录,以便在与 Cortex Code 就项目进行交互时应用个性化指令。
对 `代理技能<https://agentskills.io/>`_ 的支持即将推出。
笔记本中的 Cortex Code¶
借助 Cortex Code,您可以在 工作区中的笔记本 中无缝完成数据探索、查询和代码的编写与编辑、洞察可视化以及结果解释,从而加速端到端的数据科学和机器学习开发流程。
笔记本中的 Cortex Code 支持以下功能:
在工作区目录中创建和管理笔记本
添加、移除并重新排序 SQL、Python 和 Markdown 单元格
使用最新的预安装的包和正确的笔记本语法(例如单元格引用)编辑代码
生成使用 matplotlib、seaborn、plotly 和 altair 的数据可视化代码
运行整个笔记本或指定单元格
试用这些 示例提示。
dbt Projects on Snowflake 的 Cortex Code 代理¶
Cortex Code 支持覆盖整个 dbt 生命周期的转换工作流,包括:
探索原始源数据并推断数据之间的关系
快速构建暂存模型和中间模型
构建多模型 DAGs 及相关指标
添加数据质量测试和增量加载逻辑
运行 dbt 命令
生成并维护项目文档
Cortex Code 代理可通过自然语言提示,帮助您完成数据探索、dbt 模型编写、测试添加、性能优化,并通过迭代反馈生成文档。
它通过自动化处理 SQL 样板代码、依赖管理、测试和文档,显著减少日常数据工程工作量,同时仍保留对项目结构和业务逻辑的控制。
dbt 项目的示例提示¶
Cortex Code 代理同时适用于 dbt 新手和有经验的用户。新用户可以探索新接入的 Bronze 层数据、推断架构,并快速搭建暂存模型,建立清晰、规范的基础。有经验的用户则可以通过增量事实模型、完善的测试以及自动生成的文档,构建复杂的数据集市,并在验证周期中快速迭代。
以下场景展示了在 dbt 项目中使用 Cortex Code 的常见方式。
用例 |
上下文 |
示例提示 |
|---|---|---|
探索来源 |
在建模之前,了解原始数据的结构和关系。 |
“列出 Bronze 层中的所有源表,并汇总关键列、数据类型以及可能的主键。为每个数据源提出暂存模型建议。” |
原型设计 |
创建多模型逻辑和 DAGs。 |
“创建模型,按卡车和地点计算每日盈利能力。生成 DAG 并提出依赖关系建议。” |
数据质量 |
为 |
“为关键维度添加 not_null 和 accepted_values 测试。基于推断出的键,为 IDs 建议唯一性测试。” |
增量逻辑 |
优化模型性能。 |
“将主要事实模型转换为按 order_date 分区的增量模型,并为迟到数据设置合并行为。” |
文档 |
降低维护成本。 |
“为项目生成文档,并根据源数据上下文,为新模型和关键字段撰写说明。” |
Cortex Code、Snowflake Intelligence 与旧版 Copilot¶
尽管 Cortex Code 支持广泛的编码和管理任务,但它不同于独立的编码代理,也区别于 Snowflake 中其他专用的 AI 系统。
下表总结了 Cortex Code、Snowflake Intelligence 以及 旧版 Copilot 体验 之间的主要差异。
特征 |
Cortex Code |
Snowflake Intelligence |
Snowflake Copilot(旧版) |
|---|---|---|---|
用例 |
支持 Snowflake 中的开发与运营工作流程,包括编写 SQL、探索数据资产以及执行管理任务。 |
提供自然语言交互界面,用于提出复杂的数据问题并获取以分析为导向的响应。 |
Cortex Code 的早期版本,主要用于文档辅助和基础的 SQL 支持。 |
主要集成 |
直接集成至 Snowsight 和工作区。在当前活动工作区中提供具备上下文感知能力的辅助支持。 |
通过 Snowflake Intelligence UI 和 Cortex Agents API 访问,支持以自然语言方式获取洞察和建议。 |
为 SQL 和 UI 提供独立的 Copilot 辅助功能。 |
任务范围 |
支持 SQL 编写、数据探索、文档检索以及账户管理。 |
侧重于问答、数据洞察和分析驱动的响应。 |
仅提供有限的 SQL 和 UI 辅助能力。 |
主要功能 |
生成和修改 SQL 代码,通过差异视图审查变更,并解释现有代码逻辑。 |
分析数据、生成摘要,并支持自然语言交互。 |
提供基于上下文的 SQL 建议及有限的辅助功能。 |
设计重点 |
在编码、文档和管理工作流程中提供统一的 AI 操作界面。 |
通过对话式交互提供数据理解和查询辅助。 |
已被弃用,并由 Cortex Code 取代。 |