Snowsight 中的 Cortex Code

概述

Cortex Code 在 Snowsight 内跨多个功能领域提供代理式体验。它通过深度集成到 Snowsight 界面,并提供差异视图等能力,协助数据分析师、工程师和管理员完成 SQL 开发、数据探索和账户管理等任务。

Cortex Code 使用智能编排,根据您的请求规划并执行多步骤任务。此外,它会从您的 Snowflake 环境中选择内部工具和相关上下文来完成任务,确保每次响应的准确性。

该助手遵循代理式工作流程,理解您的意图,制定行动计划并执行各个步骤,同时在整个会话过程中保持上下文。

Cortex Code 能理解角色、权限、架构以及 SQL 语法,并在生成或修改代码时应用 Snowflake 的最佳实践。

要在 Snowsight 中使用 Cortex Code,请按照以下步骤操作:

  1. 在右下角选择 Cortex Code 图标 Cortex Code 图标。Cortex Code 面板将在 Snowsight 的右侧打开。

  2. 在消息框中,键入问题,然后选择发送图标或按 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 EditFormatAdd to ChatExplain

  • 修复 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';
Copy

AWS_US 替换为相应的区域标识符(AWS_USAWS_EUAWS_APJANY_REGION)。

备注

模型访问权限也可能受到您所在组织的限制。如果在启用跨区域推理后仍无法访问某个模型,请确认该模型已在您账户的 AI 模型访问设置中启用。有关详细信息,请参阅 控制模型访问

Cortex Code 要求用户具备 SNOWFLAKE.COPILOT_USER 数据库角色,并且还需拥有 SNOWFLAKE.CORTEX_USER 或 SNOWFLAKE.CORTEX_AGENT_USER 数据库角色之一。

备注

如果您的账户此前选择退出(或已禁用)Snowflake Copilot(旧版),Cortex Code 也会被禁用。请联系您的客户团队,为您的账户启用此功能。

示例提示

您可以使用自然语言提示与 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 代理,请执行以下操作:

  1. 登录 Snowsight

  2. 在导航菜单中,选择 Projects » Workspaces

  3. 打开包含相关文件的工作区(例如,现有 SQL 文件)。

  4. 选择工作区右下角的 Cortex Code 图标。

  5. 使用自然语言输入提示或提出问题。请参阅 示例提示 获取想法。

  6. 查看输出结果。Cortex Code 会返回答案、代码建议或修改后的查询。

  7. 对于编码任务,Cortex Code 可能会显示比较视图,用于高亮显示新增和删除的内容。查看建议的修改,并可直接将其应用到脚本中。

  8. 可通过后续提示进一步优化代码,将文件转换为其他对象类型(如笔记本或语义视图),或集成 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 并提出依赖关系建议。”

数据质量

schema.yml 添加测试。

“为关键维度添加 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 取代。